Screensy 项目安装和配置指南

Screensy 项目安装和配置指南

screensy Simple peer-to-peer screen sharing screensy 项目地址: https://gitcode.com/gh_mirrors/sc/screensy

1. 项目基础介绍和主要编程语言

Screensy 是一个简单的点对点屏幕共享解决方案,旨在提供一个轻量级的屏幕共享工具。该项目由两部分组成:

  • Rendezvous 服务器:用于协议协商和发现观众。
  • Web 网站:运行在用户浏览器中,负责实际的屏幕共享功能。

Screensy 主要使用以下编程语言和工具:

  • TypeScript:用于编写 Rendezvous 服务器和 Web 网站的逻辑。
  • Go:用于编写 Web 服务器的后端逻辑。
  • HTML/CSS:用于构建用户界面。

2. 项目使用的关键技术和框架

Screensy 项目使用了以下关键技术和框架:

  • WebRTC:用于实现浏览器之间的实时视频流通信。
  • Caddy:作为反向代理服务器,支持 WebSocket 协议。
  • Coturn:作为 STUN/TURN 服务器,用于 NAT 穿透和媒体中继。
  • Docker:用于简化项目的部署和运行。

3. 项目安装和配置的准备工作和详细安装步骤

准备工作

在开始安装之前,请确保您的系统满足以下要求:

  • 安装了 Docker 和 Docker Compose。
  • 拥有一个域名,并配置了 DNS 解析。
  • 确保服务器上的防火墙允许以下端口:80、443、3478(TCP/UDP)、49152-65535(UDP)。

安装步骤

步骤 1:克隆项目仓库

首先,克隆 Screensy 项目到您的本地或服务器上:

git clone https://github.com/screensy/screensy.git
cd screensy
步骤 2:配置 Caddyfile

编辑项目根目录下的 Caddyfile,将第一行的域名替换为您自己的域名。例如,如果您想在 example.com 上托管 Screensy,请将 Caddyfile 修改为:

example.com {
    reverse_proxy website:80 {
        @rendezvous {
            header Connection *Upgrade*
            header Upgrade websocket
        }
        reverse_proxy @rendezvous rendezvous:4000
    }
}
步骤 3:配置 TURN 服务器

编辑 turnserver.conf 文件,将 external-ip 设置为您的域名。例如:

external-ip=example.com
步骤 4:启动 Docker 容器

使用 Docker Compose 启动 Screensy 服务:

docker-compose up -d
步骤 5:验证安装

打开浏览器,访问您的域名(例如 https://example.com),您应该能够看到 Screensy 的界面,并开始使用屏幕共享功能。

可选配置:密码保护

如果您希望为 Screensy 实例添加密码保护,可以按照以下步骤操作:

  1. 使用 Caddy 生成密码哈希:
caddy hash-password
  1. 将生成的哈希值添加到 Caddyfile 中,例如:
basicauth {
    alice JDJhJDE0JDhkSmdoNy9BZ3BlZlRmSkFROHRUTE9jMW5jV1pUMVdZcW92WFdLVGZTcmFsL3RoeFR4OVlH
}
  1. 重新启动 Caddy 服务以应用更改。

总结

通过以上步骤,您已经成功安装并配置了 Screensy 项目。Screensy 提供了一个简单而强大的屏幕共享解决方案,适用于各种点对点的屏幕共享需求。

screensy Simple peer-to-peer screen sharing screensy 项目地址: https://gitcode.com/gh_mirrors/sc/screensy