恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

如何搭建自己的文件传输服务?一条Docker命令部署transfer.sh完整教程

  • 首页
  • 资讯中心
  • /
  • 如何搭建自己的文件传输服务?一条Docker命令部署transfer.sh完整教程

相关资讯

网安挖洞必备|国内主流漏洞提交 SRC 平台汇总(收藏版) 2026/9/23 0:36:45
从变更侧诊断故障:openworker 内置 Change Worker(change-worker)角色深度解析 2026/9/23 1:08:32
139、MLIR的抽象解释(Abstract Interpretation)框架 2026/9/23 16:20:44

最新资讯

告别信息差:8大免费资源站点与高效检索管理实战指南
HarmonyOS 7视觉AI场景化控件:扫码、OCR与缺陷检测实战
Django+Echarts招聘数据可视化实战:从数据清洗到仪表盘交付
消费股量化必备:用numpy数组高效管理股票数据与策略回测
线程池调度与CPU治理:从参数配置到动态治理的完整实践
静态网页模板“千年之恋.rar”实操:从解压到改版与排错

今日推荐

麒麟Kylin V10 SP3服务器安装实战:硬件兼容、启动优化与生产级分区
华为手机助手导致Windows内存完整性关闭的根因与修复
图书馆图书借阅管理系统:JSP+Servlet+MySQL源码部署与答辩指南

本周热门

BrewUI:给Homebrew套上图形界面,让macOS软件包管理更简单
BrewUI:让Homebrew包管理变得可视化与高效
公式与文本对齐全攻略:从Word到LaTeX的实用技巧

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

如何搭建自己的文件传输服务?一条Docker命令部署transfer.sh完整教程

发布时间:2026/9/26 0:30:32
如何搭建自己的文件传输服务?一条Docker命令部署transfer.sh完整教程 如何搭建自己的文件传输服务一条Docker命令部署transfer.sh完整教程【免费下载链接】transfer.shEasy and fast file sharing from the command-line.项目地址: https://gitcode.com/gh_mirrors/tr/transfer.shtransfer.sh 是一款用 Go 语言编写的轻量级文件传输服务让你在自己的服务器上实现命令行传文件curl一行命令上传立刻拿到分享链接无需注册账号、无需数据库。本教程将带你用一条 Docker 命令完成 transfer.sh 的自托管部署几分钟内拥有私有化的文件分享站点。transfer.sh 是什么为什么值得自建公共的临时文件分享网站虽然好用但文件存在别人服务器上既不可控也不安全。transfer.sh 的设计初衷就是让你自己掌控传输服务⚡极速上手纯命令行操作一条curl即可上传四种存储后端本地文件系统local、Amazon S3、Google Drive、Storj代码见 server/storage/服务端加密支持 AES256 密码加密文件下载时自动解密⏰灵活控制可限制下载次数、设置自动过期天数️安全特性IP 黑白名单、上传认证、限流实现参考 server/ip_filter.go 与 server/server.go官方 Docker 镜像一键部署源码入口见 main.go 与 cmd/cmd.go一条Docker命令部署transfer.sh部署只需要一台安装了 Docker 的 Linux 服务器。官方镜像内置了默认监听端口8080可在 Dockerfile 中确认执行以下命令即可启动docker run --publish 8080:8080 dutchcoders/transfer.sh:latest --provider local --basedir /tmp/命令参数说明参数含义--publish 8080:8080把容器 8080 端口映射到宿主机--provider local使用本地文件系统作为存储后端--basedir /tmp/文件实际存放的目录推荐官方提供了-noroot标签的镜像以 UID/GID 5000 的普通用户运行可缩小攻击面生产环境建议使用docker run --publish 8080:8080 dutchcoders/transfer.sh:latest-noroot --provider local --basedir /tmp/镜像标签tag速查标签说明vX.Y.Z正式版本构建生产环境首选nightly每天午夜定时构建edgemain 分支每次提交后构建latest最新 CI 构建可能包含未发布内容不建议用于 WatchTower 等自动更新工具三步验证你的文件传输服务第 1 步上传文件在任意能访问服务器的机器上执行把地址换成你的服务器 IP 或域名curl -v --upload-file ./hello.txt http://你的服务器IP:8080/hello.txt第 2 步获取下载链接命令成功后终端会输出一个形如下面的链接http://你的服务器IP:8080/AbC123/hello.txt任何人拿到这个链接都可以下载文件这就是你的文件分享链接。第 3 步删除文件上传响应头里有一个X-Url-Delete字段里面是带删除令牌的专用 URL。用DELETE请求即可删除文件curl -X DELETE http://你的服务器IP:8080/hello.txt/AbC123/hello.txt/PDw0NHPcqU实用配置过期时间、下载次数与服务端加密transfer.sh 支持通过 HTTP 请求头精细控制每个文件的生命周期限制下载次数Max-Downloadscurl --upload-file ./hello.txt http://你的服务器IP:8080/hello.txt -H Max-Downloads: 1设置 1 天后自动删除Max-Dayscurl --upload-file ./hello.txt http://你的服务器IP:8080/hello.txt -H Max-Days: 1服务端加密X-Encrypt-Password——只在自己的服务器上才值得用这个功能curl --upload-file ./hello.txt http://你的服务器IP:8080/hello.txt -H X-Encrypt-Password: mysecret下载时带上X-Decrypt-Password: mysecret请求头服务端会自动解密后返回明文。完整用法示例可参考 examples.md。进阶部署持久化存储与 S3 后端让文件重启后不丢失上面示例中--basedir /tmp/里的文件会随容器删除而丢失。生产环境建议挂载数据卷并配置自动清理策略docker run -d --name transfersh \ -p 8080:8080 \ -v /data/transfersh:/files \ dutchcoders/transfer.sh:latest-noroot \ --provider local --basedir /files \ --purge-days 3 --purge-interval 6--purge-days 3文件保存 3 天后自动清除对应PURGE_DAYS环境变量--purge-interval 6每 6 小时执行一次清理接入 S3 兼容存储如果文件量较大可以把存储后端换成 S3也兼容 MinIO 等自建对象存储实现代码见 server/storage/s3.godocker run --publish 8080:8080 dutchcoders/transfer.sh:latest-noroot \ --provider s3 \ --aws-access-key YOUR_KEY --aws-secret-key YOUR_SECRET \ --bucket my-bucket --s3-region us-east-1使用 MinIO 时额外加上--s3-path-style参数。此外还支持 Google Drive 与 Storj 后端参数说明全部在 README.md 的参数表中。关键配置项速查参数环境变量作用PURGE_DAYS文件自动清除的天数MAX_UPLOAD_SIZE最大上传大小KBRATE_LIMIT每分钟请求数限制IP_WHITELIST/IP_BLACKLISTIP 黑白名单HTTP_AUTH_USER/HTTP_AUTH_PASS上传时强制 Basic 认证FORCE_HTTPSTLS_CERT_FILE强制 HTTPS建议反代或配置证书完整参数列表见 README.md。用 shell 别名加速日常传输把下面这行加入~/.bashrc以后传输文件只需要transfer 文件名transfer() { curl --progress-bar --upload-file $1 http://你的服务器IP:8080/$(basename $1); echo; }更多花样玩法批量打包上传、加密备份数据库、邮件发送链接等都整理在 examples.md 中如果想把 transfer.sh 作为系统服务常驻运行仓库还附带了 init 脚本模板 extras/transfersh。常见问题排查问浏览器打不开http://服务器IP:8080先确认防火墙/安全组放行了 8080 端口容器内用docker logs查看服务是否报错。问容器重启后文件没了说明没有挂载数据卷请参照上面持久化存储一节加-v参数。问想要正式稳定版本把镜像标签从latest换成具体的版本号如dutchcoders/transfer.sh:vX.Y.Z。至此你已经拥有一套完全私有的文件传输服务一条 Docker 命令部署、curl 一行命令上传、链接即分享。接下来可以按需开启加密与认证把它变成团队内部的私人网盘入口。【免费下载链接】transfer.shEasy and fast file sharing from the command-line.项目地址: https://gitcode.com/gh_mirrors/tr/transfer.sh创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号