一个基于 Go + Web 的极简局域网文件传输工具。一键启动服务,局域网内其他设备只需通过浏览器即可上传、下载文件。
- 零配置启动:双击运行,自动打开浏览器。
- 单文件分发:前端资源内嵌于 Go 二进制文件,无需安装依赖。
- 跨平台支持:支持 Windows、macOS、Linux。
- 全功能 Web 界面:
- 📂 下载页:文件列表展示、多文件下载、下载进度动画。
- 🛡️ 管理后台:文件上传(带进度条)、文件删除。
- 后台日志:控制台实时显示上传/下载/删除操作日志及 IP 来源。
- 下载最新发布的
lan-file-transfer.exe。 - 双击运行。
- 浏览器会自动打开
http://localhost:8080。 - 将文件拖入自动生成的
share目录,或在后台/admin上传。 - 让局域网内其他设备访问控制台显示的 IP 地址(例如
http://192.168.1.5:8080)。
# 1. 克隆仓库
git clone https://github.com/your-username/lan-file-transfer.git
cd lan-file-transfer
# 2. 运行开发模式
go run .
# 3. 编译发布版本
go build -o lan-file-transfer.exe .支持以下可选参数:
./lan-file-transfer.exe [options]
-port int
服务端口 (默认 8080)
-dir string
共享文件目录 (默认 "share")
-open bool
启动时自动打开浏览器 (默认 true)
-max-upload int
最大上传文件大小(字节) (默认 1GB)例如:
./lan-file-transfer.exe -port 9090 -dir D:\MyFiles -open=false- Backend: Go (Golang) - 标准库
net/http - Frontend: HTML5, CSS3, Vanilla JS
- Build:
embed特性实现单文件打包
.
├── main.go # Go 后端入口与逻辑
├── go.mod # Go 依赖管理
├── web/ # 前端静态资源
│ ├── index.html # 下载页
│ ├── admin.html # 管理后台
│ ├── app.js # 下载页逻辑
│ ├── admin.js # 管理页逻辑
│ └── styles.css # 全局样式
└── README.md # 说明文档
MIT License