资讯动态

如何快速跑起浏览器点对点文件传输:FilePizza 自托管指南

发布时间:2026/9/17 1:34:37 来源:尧图企业网站定制
如何快速跑起浏览器点对点文件传输FilePizza 自托管指南【免费下载链接】filepizza:pizza: Peer-to-peer file transfers in your browser项目地址: https://gitcode.com/GitHub_Trending/fi/filepizza把一个 2GB 的文件发给朋友用网盘要等上传、链接有时效文件还留在别人的盘上。FilePizza 是一个浏览器点对点文件传输工具文件从你的浏览器直接到对方手里没有中间存储。它解决的问题 传统在线传输是先传到服务器、再从服务器下载两步你等上传对方等下载文件全程躺在第三方磁盘上。FilePizza 的服务器只做牵线生成一条短链接交给下载者数据链路直接走双方浏览器。传输速度取决于你自己的上行带宽而不是某台共享服务器。连接由 DTLSWebRTC 自带的加密层自动加密还可以再叠一层密码。核心能力一个链接多人下载创建通道后你会拿到一个 8 字符短链或一条由 4 个英文单词组成的长链。把链接发给任何人各自独立连上你的浏览器下载。某个下载者传完后会自动继续给没传完的人服务分流你的带宽。保持页面打开意味着什么文件在你浏览器里不在服务器上所以你要让标签页保持打开直到对方下载完。上传者页面能实时看到每个下载者的进度也可以随时终止。关掉浏览器后链接即失效。多个文件按 zip 发送一次选多个文件下载者收到一个 zip 压缩包。传输支持暂停和断点续传中途断线后从已收到的偏移量继续不用从头再来。密码与举报创建通道时可以设密码下载者输入正确密码前看不到文件列表。任何人可以举报可疑链接上传者的浏览器会收到广播并中断传输。快速上手本地开发前置要求Node.js 18 和 pnpmNode 包管理器。git clone https://gitcode.com/GitHub_Trending/fi/filepizza拉取项目代码进入filepizza目录后pnpm install安装全部依赖约一两分钟。pnpm dev启动开发服务器浏览器打开http://localhost:3000即可看到上传页面。挑几个文件生成链接发到另一台设备验证传输。用容器运行pnpm docker:build构建应用镜像。pnpm docker:up同时启动 filepizza、redis、coturn 三个服务浏览器打开http://localhost:8080访问。pnpm docker:down停掉全部服务。原理速览服务器只做牵线创建通道时它生成一个 slug链接里的随机串指向你的浏览器连接并记下来下载者打开链接时服务器把怎么找到你交给他。之后两个浏览器通过 PeerJSWebRTC 的封装层建立数据通道文件内容按 256KB 一块、逐块确认地传完不再经过服务器。通道元数据 1 小时后自动过期。完整的消息定义和交互时序见 docs/file-transfer-protocol.md。进阶配置 ⚙️真正需要动手的只有三项其余保持默认即可。COTURN_ENABLED什么时候改——双方都躲在 NAT内网后面连不上直连时常见于手机网络。设为true启用 TURN 中继TURN_HOST指向你自己的 coturn 服务本地用pnpm dev:full会自动把对应容器带起来。REDIS_URL什么时候改——部署多个实例、或希望进程重启后链接仍然有效时指向一个真实 Redis不设置则用内存存储重启后所有链接失效。PEERJS_HOST/PEERJS_PATH什么时候改——不想依赖公共信令服务 0.peerjs.com 时自建 PeerJS 服务器并把主机名、路径指过来。常见问题 ❓文件大小有上限吗没有硬性限制受浏览器自身处理能力约束文件越大弱网下中断概率越高。文件是加密的吗是。WebRTC 通道经 DTLS 自动加密创建通道时再设密码就是第二层。能多人同时下载吗能把同一条短链或长链发出去每人都独立连上你的浏览器。上传者关浏览器会怎样链接失效。已传完的下载者会继续给没传完的人服务但无法发起新下载。文件存在服务器上吗不存。服务器只保存链接与连接的临时映射1 小时后自动过期。适用边界上传者全程要开着页面不适合传一次、长期分发的场景。双方都在对称型 NAT 后且没配 TURN 时可能握手失败需要自建 coturn。传输质量取决于双方网络弱网下只能暂停续传或重试没有服务器回退路径。需要服务端留存文件或审计日志的场景不适用。想扩展协议或写自己的客户端从 docs/file-transfer-protocol.md 开始完整 FAQ 在仓库 README.md 里。传输速度取决于你的上行先找个朋友传一个文件试试。【免费下载链接】filepizza:pizza: Peer-to-peer file transfers in your browser项目地址: https://gitcode.com/GitHub_Trending/fi/filepizza创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价