📦 File Transfer Go:开源轻量文件传输工具 | 替代付费网盘/FTP服务
一句话定位:一条命令起一个文件服务器,让别人通过浏览器下载或上传,完全免费,跨平台通用。
你是不是也有这样的场景:临时要给同事传个大文件,微信发不了,邮件附件太小,用网盘又要注册又要等审核;想在公司内网搭一个简单的文件共享,又不会搞复杂的 FTP 或 SMB。市面上的奶牛快传、WeTransfer 免费版限制重重(单文件大小、下载次数、过期时间),付费版又按年收费。
File Transfer Go 就是来解决这个问题的。它是一个用 Go 语言编写的开源轻量级文件传输工具,只需在命令行中执行一条命令,就能在当前目录启动一个 HTTP 文件服务器,支持上传和下载。其他设备通过浏览器访问你的 IP 和端口,就能直接查看文件或上传。无需安装客户端,无需注册账号,完全免费。作为奶牛快传、WeTransfer 付费版以及传统 FTP 服务器的开源免费替代品,File Transfer Go 跨平台支持 Windows、macOS、Linux,单文件只有几 MB,启动后内存占用极低。
————————————————
📌 为什么越来越多人从付费文件传输服务转向 File Transfer Go?
常见的文件传输服务或工具有几个痛点:
• 免费版限制多:奶牛快传免费单文件 2GB,保留 7 天,需要注册;WeTransfer 免费版文件 2GB,保留 7 天;且都需要上传到第三方服务器。
• 隐私风险:文件经过云端,敏感数据可能泄露。
• 需要注册登录:临时用还要注册,很麻烦。
• 传统 FTP 配置复杂:需要搭建 FTP 服务器,设置用户权限,防火墙配置繁琐。
• 大文件上传慢:依赖第三方带宽,国内速度不稳定。
File Transfer Go 完全本地运行,数据不经过任何第三方。你可以随意传输任意大小的文件,速度只取决于你的网络带宽和磁盘读写。社区评价:一条命令搞定临时文件共享,比任何网盘都方便。
————————————————
✨ 核心功能
• 🚀 一键启动文件服务器
在任意文件夹中执行文件传输命令,立即启动 HTTP 服务,局域网或公网(需映射端口)其他设备可访问。
• 📥 支持下载和上传
默认提供文件列表下载,还可开启上传功能,允许他人直接把文件传到你的电脑,无需反向发送。
• 🔒 简单访问控制
支持设置用户名密码(Basic Auth),限制访问权限。也可只读模式或允许上传。
• 🗺️ 跨平台
一个二进制文件,Windows、Linux、macOS 均可运行,甚至可在路由器、树莓派等 ARM 设备上使用。
• ⚙️ 可自定义端口和路径
支持指定监听端口、根目录、上传目录、启用 TLS 证书(https)等高级选项。
• 📄 支持大文件断点续传
基于 HTTP Range 请求,支持客户端断点续传(需客户端支持)。
————————————————
💰 优势与亮点
• 成本优势:完全免费,无需订阅。对比奶牛快传会员(年费约 200 元)或 WeTransfer Pro(年费 120 美元),省下一大笔。
• 数据隐私:文件不离开你的电脑,没有任何云端存储风险。
• 极简轻量:单个可执行文件 5-10MB,内存占用几十 MB,几乎不影响系统性能。
• 灵活部署:可临时起服务,也可常驻后台作为内部文件共享系统。
————————————————
📊 File Transfer Go vs 奶牛快传 vs FTP 服务 对比表
维度 | File Transfer Go | 奶牛快传 (付费版) | 传统 FTP 服务
—————-|——————————-|—————————–|———————————-
价格 | ✅ 完全免费 | ❌ 年费约 200 元起 | ✅ 多数免费软件(如 FileZilla Server)
部署难度 | ✅ 一条命令 | ❌ 需安装客户端或访问网页 | ⚠️ 需要配置用户、权限、防火墙
数据存储 | ✅ 本地,完全自控 | ❌ 云端 | ✅ 本地自控
是否需要注册 | ✅ 无需注册 | ❌ 需要手机号/邮箱 | ⚠️ 需创建系统用户
跨平台客户端 | ✅ 任意浏览器即可下载/上传 | ✅ 网页/App | ⚠️ 需 FTP 客户端
大文件支持 | ✅ 无限制(受磁盘和内存) | ⚠️ 免费限制 2GB,付费放宽 | ✅ 无限制
上传功能 | ✅ 支持(需开启) | ✅ 支持 | ✅ 支持(需写权限)
断点续传 | ⚠️ 依赖 HTTP Range(需客户端) | ✅ 支持 | ✅ 支持
适用场景 | 临时内网共享、临时对外分享 | 云端中转、跨网传输 | 长期企业内部文件服务
举例:给同事传一个 4GB 的虚拟机镜像,用 File Transfer Go 在你电脑上起服务,他通过浏览器直接下载,速度可达局域网千兆;用奶牛快传免费版不行,付费版也要上传到云端浪费时间。
————————————————
⚠️ 局限性(真实评价)
1. 默认不支持公网穿透
如果你在家庭或公司内网,要让外网用户访问,需要自行配置端口映射或使用内网穿透工具(如 frp、ngrok)。
📝 编辑观察:对于内网临时共享已经足够。如果想在公网上稳定使用,可以配合免费的穿透工具,或者部署在有公网 IP 的服务器上。
2. 图形界面缺失
纯命令行操作,对不熟悉终端的用户有一定门槛。没有拖拽上传、可视化管理等功能。
📝 编辑观察:项目本身定位是轻量、脚本化的工具。如果习惯图形界面,可以配合桌面快捷方式或写一个启动脚本。也有其他图形化的替代品(如 Caddy、HFS)。
3. 权限控制较简单
只支持全局的 Basic Auth(用户名密码),不能针对不同用户设置不同目录权限或上传限制。
📝 编辑观察:对于家庭或小团队临时使用足够了。若需要精细权限,建议搭建专业的 FTP 或 NAS。
4. 需要保持终端运行
关闭终端窗口服务就会停止。长期运行需要后台运行(Linux 下 nohup 或 systemd)。
📝 编辑观察:可以写成系统服务。大部分临时场景只需运行几分钟,关闭终端也没问题。
————————————————
🎯 适用场景与人群
场景/人群 | 推荐度 | 理由
————————–|—————-|——————————————
程序员 / IT 运维 | ✅ 强烈推荐 | 一条命令快速在内网传 log、安装包,无需搭建 FTP
团队协作(临时文件交换) | ✅ 推荐 | 开启上传功能,成员可直接提交文件
学生/宿舍内网共享 | ✅ 推荐 | 传电影、作业,速度跑满内网带宽
个人多设备间传输 | ✅ 推荐 | 手机浏览器访问电脑 IP,直接下载文件
需要公网长期分享 | ⚠️ 需配合穿透 | 加 ngrok 或 frp 后可公网访问
完全图形界面依赖者 | ❌ 不适合 | 建议使用 HFS 或 Caddy 等带 Web 界面的工具
————————————————
🔧 快速上手指南(1 分钟启动文件服务器)
1. 下载
访问 GitHub Releases,下载对应操作系统的二进制文件(如 file-transfer-go-windows-amd64.exe)。
2. 重命名(可选)
为方便使用,可重命名为 f.exe(Windows)或 f(Linux/macOS),并放入 PATH 目录。
3. 启动服务
打开终端,cd 到你要分享的文件夹,执行:
./file-transfer-go -p 8080
(Windows 下直接 .\file-transfer-go.exe -p 8080)
4. 查看本机 IP
Windows 输入 ipconfig,Linux/macOS 输入 ifconfig。假设 IP 为 192.168.1.100。
5. 在其他设备访问
打开浏览器,输入 http://192.168.1.100:8080,即可看到文件列表。点击文件下载。
6. 开启上传功能
执行时加上 -upload 参数:
./file-transfer-go -p 8080 -upload
访问页面会出现上传表单,可将文件上传到当前目录(需注意磁盘写权限)。
💡 小技巧:可以使用 -auth user:pass 开启简单登录保护。还可指定不同根目录 -root /path/to/share。在 Linux 后台运行可加 nohup。
————————————————
❓ 常见问题(FAQ)
Q1:File Transfer Go 支持断点续传吗?
A1:服务器端支持 HTTP Range 请求,因此客户端如果支持断点续传(如 curl、wget 或支持 Range 的下载器),即可续传。
Q2:传输文件是否加密?
A2:默认 HTTP 明文传输。如需加密,可使用 -tls 参数并提供证书和私钥文件,启用 HTTPS。
Q3:我可以限制下载速度吗?
A3:当前版本不支持限速。如有需要,可配合反向代理工具(如 nginx)实现。
Q4:支持大文件传输吗?比如 10GB?
A4:支持。服务端无大小限制,但需确保客户端和网络稳定。内存占用基本与文件大小无关。
Q5:能否在上传时自动按日期创建子文件夹?
A5:不支持内置。但可以自己编写脚本包装该工具,或通过修改源码实现。
Q6:和 Python 的 http.server 有什么区别?
A6:Python 模块默认只支持下载,且性能稍差;File Transfer Go 支持上传、断点续传、认证等,且二进制单文件无需 Python 环境。
Q7:如何让公网用户访问?
A7:需要你有公网 IP 并在路由器上做端口映射。若没有公网 IP,可使用 frp、ngrok、ZeroTier 等内网穿透工具。
Q8:支持中文文件名吗?
A8:支持。服务端和浏览器都能正确处理 UTF-8 编码的中文文件名。
————————————————
🔄 同类开源替代品
• Caddy:功能更强的 Web 服务器,可一键开启文件浏览,但配置稍复杂。
• HFS (HTTP File Server):图形化界面,支持多种权限、虚拟文件系统,免费但闭源。
• chfs:C++ 编写的单文件 HTTP 文件服务器,带简单 Web 管理界面,免费开源。
• GoHTTPFileServer:类似 File Transfer Go,同样用 Go 实现,功能相近。
🔗 本站内链:如果你需要图形界面的临时文件共享工具,可以看看 HFS 介绍;或者浏览更多网络工具。
————————————————
📝 总结
File Transfer Go 是一款极简、高效、开源的临时文件传输解决方案。它在几 MB 的体量内实现了文件共享的核心需求:下载、上传、认证、跨平台。对于经常需要在局域网或临时公网场景下分享文件的开发者、IT 人员,它比任何网盘都直接,比搭建 FTP 更简单。
当然,它不适合需要精细权限管理、长期公网服务、图形界面的用户。但对于 90% 的临时场景,这条命令能救你很多次。
建议下载一个放到 U 盘或 PATH 里,随时备用。
➡️ 访问 File Transfer Go GitHub 仓库:https://github.com/MatrixSeven/file-transfer-go
注:本文无任何商业合作,为独立工具评测。
————————————————
📚 外部权威链接
• File Transfer Go GitHub:https://github.com/MatrixSeven/file-transfer-go (源码、Releases)
• 内网穿透工具 frp:https://github.com/fatedier/frp
• HTTP Range 协议解释:https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests
————————————————
本文最后验证日期:2026-06-07
建议下次复核周期:90 天。项目可能持续更新,新功能请关注仓库。
