FilePizza:三条命令跑通的浏览器点对点传文件方案
2026/9/17 21:27:20 网站建设 项目流程

FilePizza:三条命令跑通的浏览器点对点传文件方案

【免费下载链接】filepizza:pizza: Peer-to-peer file transfers in your browser项目地址: https://gitcode.com/GitHub_Trending/fi/filepizza

FilePizza 是一个浏览器点对点(P2P)传文件工具。你在浏览器里选中文件,它直接传到对方浏览器里,中间不经过任何上传服务器。

🔌 为什么不用网盘和中转服务

大多数"传文件"工具其实是三步:你上传,服务器暂存,对方再下载。FilePizza 把中间那步去掉了。

  • 给朋友发一个大视频或设计稿,不用先等云端上传、再让对方限速下载。这里你和对方直连,速度取决于两边带宽。
  • 文件比较敏感,不想落到别人服务器上。FilePizza 的服务器只做"牵线",文件本体不经过它。
  • 一份文件要发给好几个人。把链接分享出去,每个人的浏览器各自和你建立直连。

🚀 三条命令跑起来

git clone https://gitcode.com/GitHub_Trending/fi/filepizza cd filepizza && pnpm install pnpm dev

只需要 Node 18+ 和 pnpm。不配置 Redis 时用内存存储,个人体验足够。

换成 Docker 跑

pnpm docker:build pnpm docker:up

这套部署会一起启动 Redis 和 COTURN。COTURN 是帮助两端在 NAT 后面连通的中继服务,服务跑在本机 8080 端口。

📡 文件是怎么到对方手里的

流程分三步。你把文件丢进浏览器,服务器创建一个频道并给出带短 slug(短标识)的链接。

对方打开链接后,服务器把你的浏览器 Peer ID(对等体编号)告诉他。之后所有数据都走 WebRTC 数据通道,也就是两个浏览器之间直接建立的可靠连接。

文件被切成 256KB 的块,每块都要对方确认后才发下一块。整个过程由 DTLS 加密,你还能额外设一个下载密码。传多个文件时,对方收到的是一个 zip。完整消息流程见 文件传输协议文档。

⚙️ 按需才要看的东西

默认配置开箱即用,公开部署时才需要动这些:

环境变量作用
REDIS_URLRedis 连接串,不设置就用内存存储
COTURN_ENABLED设为true启用 TURN 中继
TURN_HOST/TURN_REALMTURN 服务器地址与凭证域
STUN_SERVERTURN 关闭时使用的 STUN 服务器
PEERJS_HOST/PEERJS_PATH自托管 PeerJS 服务器地址和路径

另外内置了几个实用能力:上传者能看进度、随时停止传输;有违规举报入口;Service Worker 支持大文件流式下载。Redis 与 COTURN 一起启动的配置在 docker-compose.yml。

你可能想问的几件事

关掉浏览器会怎样?链接失效,不能再发起新下载。但已下载完成的浏览着会继续给没下完的人分享文件。

文件大小有上限吗?服务端没有限制,上限是你的浏览器内存和耐心。

文件加密吗?加密。WebRTC 通道默认加密,还可以再加一层密码。

能同时给多人下载吗?能。把同一个链接发给每个人,他们的浏览器各自和你直连。

🍕 动手试试

FilePizza 是一个小巧完整的浏览器 P2P 传文件工具,几条命令就能部署,文件全程不出浏览器。克隆下来,把第一条直连发给你的朋友吧。

【免费下载链接】filepizza:pizza: Peer-to-peer file transfers in your browser项目地址: https://gitcode.com/GitHub_Trending/fi/filepizza

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询