filesync
实现实时从一个设备向多个设备发送文件的功能
Github地址
https://github.com/polius/filesync
在线体验
https://filesync.app/
项目功能
-
•核心功能:允许用户在多个设备之间进行文件传输,且整个传输过程采用端到端加密技术,确保文件传输的安全性和隐私性。
-
•传输方式:基于 WebRTC 技术,通过 PeerJS(一个 WebRTC 封装库)实现设备之间的点对点文件传输,即文件直接从发送方传输到接收方,无需中间服务器中转,从而保证了文件内容的安全性。
-
•辅助功能:虽然文件传输是点对点的,但会使用 PeerJS 服务器来协助初始连接设置,确保所有用户能够有效地建立点对点连接。一旦连接建立,服务器就会退居幕后,不再参与文件传输过程,也不会接触到文件内容。
安装步骤
1.下载所需文件:从项目的deploy文件夹中获取docker-compose.yml
和Caddyfile
文件。
2.生成安全密钥:运行以下命令生成一个 32 字节的 Base64 编码密钥:
python3 -c "import secrets, base64; print(base64.b64encode(secrets.token_bytes(32)).decode())"
3.配置密钥:打开docker-compose.yml
文件,将其中的<SECRET_KEY>
替换为上一步生成的密钥值。示例如下:
...
- --static-auth-secret=/RaFOHJQQPAAXRNdaDhfBghvX9+o9UJEazKgIopK3TI=
...
- SECRET_KEY=/RaFOHJQQPAAXRNdaDhfBghvX9+o9UJEazKgIopK3TI=
...
4.(可选)启用 HTTPS:如果需要启用 HTTPS,编辑Caddyfile
文件,将其中的:80
替换为你的域名(例如filesync.app
)。Caddy 会自动为你的域名配置和续期 SSL 证书。示例如下:
filesync.app {
reverse_proxy filesync:80
}
5.启动服务:运行以下命令以在后台启动所有服务:
docker-compose up -d
6.访问应用:
-
• 如果是本地测试,打开浏览器访问
http://localhost
。 -
• 如果使用了域名,则访问
https://yourdomain
。
卸载步骤(可选)
-
•停止并移除容器:运行以下命令停止并移除所有容器:
docker-compose down