内容提要
Send 是一个可私有化部署的加密文件外链服务,源自 Firefox Send 社区维护版。用户通过网页拖拽文件生成加密链接,对方无需注册或安装应用即可下载,支持设置下载次数和过期时间,到期自动删除。适合临时分享安装包、视频等场景,不适合当长期网盘。文章详细介绍了 Docker 部署步骤、Nginx 反向代理配置及使用注意事项,强调需自备域名和 VPS。
延伸解读
加密与隐私的边界
Send 在浏览器端加密文件,解密密钥放在链接的 # 后面,不会进入服务器日志。但要注意,服务器仍会存储加密后的文件,且链接一旦泄露,任何拿到链接的人都能解密下载。因此,它适合临时分享,不适合高度敏感的数据。另外,没有账号系统意味着你无法远程管理或撤销已分享的链接,只能依赖本地浏览器记录。
部署与运维要点
部署时需注意 BASE_URL 必须与反向代理的域名完全一致,否则生成的链接会出错。Nginx Proxy Manager 需开启 WebSocket 并调整 client_max_body_size 和超时参数,否则大文件上传可能失败。文件存储在本地磁盘,建议根据 VPS 磁盘大小调整 MAX_FILE_SIZE,并定期清理过期文件。更新时使用 docker compose pull 和 up -d 即可。
与同类工具的取舍
相比 Nextcloud,Send 更轻量,专注加密外链,但缺少账号系统和文件管理功能。相比商业网盘,数据自托管更私密,但需要自己维护服务器。Bitwarden Send 适合短文本和密码,而 Send 专为文件设计。选择时需权衡:是否需要长期存储、是否需要管理历史链接、是否接受自托管的运维成本。
Q&A
Send 是什么?和 Firefox Send 有什么关系?
Send 是一个可私有化部署的加密文件外链服务,源自 Firefox Send 停更后的社区维护版本。它允许用户通过网页拖拽文件生成加密链接,对方无需注册或安装应用即可下载。
如何用 Docker 部署 Send?
部署步骤:1. 创建目录 /root/data/docker_data/send;2. 编写 docker-compose.yml,包含 send 和 send-redis 两个服务;3. 修改 BASE_URL 为你的域名,设置端口、文件大小限制等;4. 创建 uploads 和 redis 数据目录;5. 运行 docker compose up -d 启动。
Send 支持哪些功能?
Send 支持网页拖拽文件生成加密分享链接,对方无需注册或安装 App 即可下载;可设置下载次数和过期时间;文件在浏览器端加密后上传,解密密钥在链接 # 后面;次数用完或到期后文件自动删除;文件存储在 VPS 本地磁盘,无需 S3;还有命令行工具 ffsend。
Send 适合哪些场景?不适合哪些场景?
适合:给同事、朋友发安装包、压缩包、文档;偶尔发视频;已有 VPS 不想用商业网盘;觉得 Nextcloud 太重,想要传完就走。不适合:当长期网盘、同步相册;需要后台查看历史链接;需要在线播放或转码视频。
Send 和 Nextcloud 分享有什么区别?
Nextcloud 是完整的网盘,包含同步、版本、权限、日历等,分享只是其中一项,较重;Send 只做加密外链,轻量、用完即删,没有账号系统,链接需自己保管。
如何配置 Nginx Proxy Manager 反向代理 Send?
在 NPM 中添加 Proxy Host,域名填你的域名,Scheme 为 http,Forward Hostname/IP 填 172.17.0.1(或项目服务器 IP),端口填 1443,开启 WebSocket 和 Block Common Exploits。在 SSL 中申请证书并强制 HTTPS。然后在 Advanced 中添加 client_max_body_size 8G 等参数,避免大文件上传失败。
Send 的链接为什么包含 # 符号?
链接中的 # 后面是解密密钥,文件在浏览器端加密后上传,密钥只存在于链接中,不会进入服务器日志。因此链接需要自己保存,丢失后无法解密文件。
Send 有账号系统吗?如何管理已上传的文件?
Send 没有账号系统。管理卡片只存在上传时使用的浏览器本地,同一个浏览器打开首页会列出该浏览器上传且未过期的文件。链接需要自己复制保存,换设备或清缓存后无法找回。
Send 和 Bitwarden Send 有什么区别?
Bitwarden Send 是密码管理器中的功能,适合临时分享密码或短文本,附件很小;Send 是独立的文件分享服务,适合分享大文件,如安装包、视频等。
如何更新和卸载 Send?
更新:进入目录 /root/data/docker_data/send,执行 docker compose pull 和 docker compose up -d。卸载:先 docker compose down,然后删除目录 /root/data/docker_data/send。删除前记得备份 uploads 和 redis 目录。