+-
实时从一个设备向多个设备发送文件,且整个传输过程采用端到端加密技术,确保文件传输的安全性和隐私性。

filesync

实现实时从一个设备向多个设备发送文件的功能

Github地址

https://github.com/polius/filesync

在线体验

https://filesync.app/

实时从一个设备向多个设备发送文件,且整个传输过程采用端到端加密技术,确保文件传输的安全性和隐私性。

项目功能

  • 核心功能:允许用户在多个设备之间进行文件传输,且整个传输过程采用端到端加密技术,确保文件传输的安全性和隐私性。

  • 传输方式:基于 WebRTC 技术,通过 PeerJS(一个 WebRTC 封装库)实现设备之间的点对点文件传输,即文件直接从发送方传输到接收方,无需中间服务器中转,从而保证了文件内容的安全性。

  • 辅助功能:虽然文件传输是点对点的,但会使用 PeerJS 服务器来协助初始连接设置,确保所有用户能够有效地建立点对点连接。一旦连接建立,服务器就会退居幕后,不再参与文件传输过程,也不会接触到文件内容。

安装步骤

  • 1.下载所需文件:从项目的deploy文件夹中获取docker-compose.ymlCaddyfile文件。

  • 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