【开源项目】高效 P2P 文件传输工具:FileSync 利用 WebRTC 技术实现极速安全传输

玩技站长
玩技站长
管理员, Keymaster
7098
文章
1
粉丝
软件头条评论3字数 550阅读1分50秒阅读模式

【开源项目】高效 P2P 文件传输工具:FileSync 利用 WebRTC 技术实现极速安全传输-图片1

一、简介

  • 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安全访问
    【开源项目】高效 P2P 文件传输工具:FileSync 利用 WebRTC 技术实现极速安全传输-图片2

三、使用

  • 启动成功,可以访问地址:http://server_ip:8080,页面参考如下,会生成一个唯一的页面链接,可以进一步设置链接保护密码
    【开源项目】高效 P2P 文件传输工具:FileSync 利用 WebRTC 技术实现极速安全传输-图片2

  • 其他客户端通过访问链接进入文件共享页面,添加、下载组内共享的文件
    【开源项目】高效 P2P 文件传输工具:FileSync 利用 WebRTC 技术实现极速安全传输-图片3

  • 实测局域网内,P2P连接成功建立,文件数据传输速度极快

四、总结

  • 该工具在理想网络状况下,可以轻松帮助建立P2P直连,文件数据可高效传输,否则会使用中继传输数据
  • 可以帮助在多个设备间高效传输文件数据,特别是局域网中
  • 搭建使用简单,建议自行搭建,数据安全更有保障

 
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证