# lan-file-transfer **Repository Path**: xiaobaer/lan-file-transfer ## Basic Information - **Project Name**: lan-file-transfer - **Description**: 一个基于 Go + Web 的极简局域网文件传输工具。一键启动服务,局域网内其他设备只需通过浏览器即可上传、下载文件。 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2026-07-25 - **Last Updated**: 2026-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LAN File Transfer (局域网文件传输助手) 一个基于 Go + Web 的极简局域网文件传输工具。一键启动服务,局域网内其他设备只需通过浏览器即可上传、下载文件。 ## ✨ 特性 - **零配置启动**:双击运行,自动打开浏览器。 - **单文件分发**:前端资源内嵌于 Go 二进制文件,无需安装依赖。 - **跨平台支持**:支持 Windows、macOS、Linux。 - **全功能 Web 界面**: - 📂 **下载页**:文件列表展示、多文件下载、下载进度动画。 - 🛡️ **管理后台**:文件上传(带进度条)、文件删除。 - **后台日志**:控制台实时显示上传/下载/删除操作日志及 IP 来源。 ## 🚀 快速开始 ### 方式一:直接运行 (推荐) 1. 下载最新发布的 `lan-file-transfer.exe`。 2. 双击运行。 3. 浏览器会自动打开 `http://localhost:8080`。 4. 将文件拖入自动生成的 `share` 目录,或在后台 `/admin` 上传。 5. 让局域网内其他设备访问控制台显示的 IP 地址(例如 `http://192.168.1.5:8080`)。 ### 方式二:源码编译 ```bash # 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 . ``` ## 🛠️ 命令行参数 支持以下可选参数: ```bash ./lan-file-transfer.exe [options] -port int 服务端口 (默认 8080) -dir string 共享文件目录 (默认 "share") -open bool 启动时自动打开浏览器 (默认 true) -max-upload int 最大上传文件大小(字节) (默认 1GB) ``` 例如: ```bash ./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 # 说明文档 ``` ## 📄 License MIT License