Welcome
admin
admin

2026-01-24 10:02:00

世界杯误判
4372 270

简介什么是 FilePizza ?

FilePizza 是一个开源的点对点(P2P)文件传输工具,通过浏览器实现快速、安全的文件共享。它使用 WebRTC 技术,允许用户直接在浏览器之间传输文件,而无需中间服务器存储数据。这使得文件传输过程极其快速、私密且安全。

主要特点

完全点对点:文件不经过服务器中转,最大程度保护用户隐私。

高速传输:利用 WebRTC,传输速度仅受限于双方的网络带宽。

现代用户界面:全新的 UI 设计,支持清爽的明暗模式切换。

多文件支持:可以一次选择多个文件,接收方将下载到一个 ZIP 压缩包中。

跨平台:支持所有现代桌面和移动浏览器(包括移动端 Safari)。

安全可靠:可以为分享设置密码,并随时监控传输进度或中止传输。

实时通知:上传者和下载者可以通过界面实时了解传输状态。

应用场景

快速分享大文件:无需等待漫长的上传过程,立刻将大文件(如视频、设计稿)发送给同事或朋友。

保护隐私:发送包含敏感信息的文件,因为文件不会存储在任何云端服务器上。

临时文件交换:在自己的不同设备之间(例如从电脑到手机)快速传输文件。

安装在群晖上以 Docker 方式安装。

在注册表中搜索 filepizza ,选择第一个 kern/filepizza,版本选择 latest。

本文写作时, latest 版本对应为 3bd340d;

由于该项目可能依赖 redis 等多个服务,因此直接使用 docker-compose 是最便捷的方式。

将下面的内容保存为 docker-compose.yml 文件。

12345678910111213141516171819202122232425262728293031323334services: redis: image: redis:latest container_name: filepizza-redis # ports: # - 6379:6379 volumes: - ./data:/data coturn: image: coturn/coturn container_name: filepizza-coturn ports: - 3478:3478 - 3478:3478/udp - 5349:5349 - 5349:5349/udp # Relay Ports # - 49152-65535:49152-65535/udp environment: - DETECT_EXTERNAL_IP=yes - DETECT_RELAY_IP=yes command: -n --log-file=stdout --redis-userdb="ip=redis connect_timeout=30" filepizza: image: kern/filepizza:latest container_name: filepizza-app ports: - 8874:8080 environment: - PORT=8080 - REDIS_URL=redis://redis:6379 depends_on: - redis

关于 docker-compose.yml 的简单说明

服务

属性

描述

redis

image

使用最新的 Redis 镜像 (redis:latest)

container_name

容器名称为 filepizza-redis,用于识别和管理 Redis 容器

volumes

将主机的 ./data 目录挂载到容器的 /data 目录,以持久化存储 Redis 数据

coturn

image

使用 Coturn 的官方镜像 (coturn/coturn)

container_name

容器名称为 filepizza-coturn

ports

- 3478 为 TURN 协议的默认端口,用于处理 UDP和 TCP 的媒体流传输- 5349 为 TURN 的安全传输(TLS)端口,允许通过加密连接进行 TURN 服务的通信

environment

- DETECT_EXTERNAL_IP=yes,检测外部 IP- DETECT_RELAY_IP=yes ,检测中继 IP

command

-n: 在后台运行 --log-file=stdout: 将日志输出到标准输出 --redis-userdb: 配置 Coturn 使用 Redis 作为用户数据库,指定连接信息

filepizza

image

使用最新的 FilePizza 镜像 (kern/filepizza:latest)

container_name

容器名称为 filepizza-app

ports

将容器的 8080 端口映射到主机的 8874 端口,以便访问 FilePizza 应用

environment

- PORT=8080:设置应用运行的端口为 8080- REDIS_URL=redis://redis:6379:设置 Redis 连接的 URL,指向 Redis 服务

depends_on

表示 filepizza 服务依赖于 redis 服务,确保 redis 在启动 filepizza 之前已就绪

然后通过 SSH 登录到您的群晖,执行下面的命令:

12345678910# 新建文件夹 filepizza 和 子目录mkdir -p /volume1/docker/filepizza/data# 进入 filepizza 目录cd /volume1/docker/filepizza# 将 docker-compose.yml 放入当前目录# 一键启动docker-compose up -d

运行在浏览器中输入 http://群晖IP:8874 就能看到主界面。

用法非常简单:

点击 “Drop a file to get started” 选择一个或多个文件。

你的浏览器会生成一个唯一的链接。

将此链接发送给接收方。

接收方打开链接后,文件传输将直接在你们的浏览器之间开始。

在文件传输完成之前,请不要关闭你的浏览器窗口。

从硬盘中找一个文件

可以设置密码,或者直接点 Start 开始,会生成长链接、短链接和二维码

另一台机器上打开分享的链接

开始下载

回到分享的机器,能看到下载机器的浏览器的版本

参考文档

kern/filepizza: :pizza: Peer-to-peer file transfers in your browser地址:https://github.com/kern/filepizza

FilePizza • Your files, delivered.地址:https://file.pizza/