luler 一、简介 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直连,文件数据可高效传输,否则会使用中继传输数据 可以帮助在多个设备间高效传输文件数据,特别是局域网中 搭建使用简单,建议自行搭建,数据安全更有保障