一、简介
- FileSync 是一个文件共享 Web 应用程序,允许用户在多个设备之间高效、安全传输文件
- 可以通过 WebRTC 实现 P2P 连接,这意味着发送方和接收方之间直接传输文件,无需任何中间服务器
- 该工具的开源地址参考:https://github.com/polius/FileSync
- 可以直接使用作者提供的在线地址:https://filesync.app/
- 该工具的组件关系和工作原理可以参考下图:
二、安装
- 准备一台安装好Docker、docker-compose软件环境的主机
- (可选)安装好Nginx / Caddy反向代理软件,后面可配置反向代理到FileSync服务,并开启HTTPS证书访问
- 新建docker-compose.yml配置文件,配置内容如下:
services: coturn: image: coturn/coturn:alpine container_name: filesync-coturn command: - --fingerprint - --use-auth-secret - --no-multicast-peers - --realm=filesync.app - --static-auth-secret=sskjdGfLWYm328/eHjVQ1DZBdYC3hf0dyqT5PLZFS6Y= ports: - "3478:3478/tcp" - "3478:3478/udp" restart: unless-stopped peerjs: image: peerjs/peerjs-server:1.1.0-rc.2 container_name: filesync-peerjs ports: - 9000:9000 restart: unless-stopped filesync: image: poliuscorp/filesync container_name: filesync-app ports: - 8080:80 environment: - SECRET_KEY=sskjdGfLWYm328/eHjVQ1DZBdYC3hf0dyqT5PLZFS6Y= restart: unless-stopped
其中的static-auth-secret和SECRET_KEY相同,可通过下面命令生成
python3 -c "import secrets, base64; print(base64.b64encode(secrets.token_bytes(32)).decode())"
- 配置完成,在文件文件所在目录,执行下面命令启动
docker-compose up -d
成功启动参考下图,可以直接访问ip+8080端口使用,也可以进一步配置Nginx / Caddy反向代理,开启https安全访问
三、使用
启动成功,可以访问地址:http://server_ip:8080,页面参考如下,会生成一个唯一的页面链接,可以进一步设置链接保护密码
其他客户端通过访问链接进入文件共享页面,添加、下载组内共享的文件
实测局域网内,P2P连接成功建立,文件数据传输速度极快
四、总结
- 该工具在理想网络状况下,可以轻松帮助建立P2P直连,文件数据可高效传输,否则会使用中继传输数据
- 可以帮助在多个设备间高效传输文件数据,特别是局域网中
- 搭建使用简单,建议自行搭建,数据安全更有保障