局域网 P2P 文件传输工具 — PC 之间、PC 与手机之间的双向文件传输。完全去中心化,无需安装,无需外网。
登录界面:
主界面:
下载文件:
上传文件:
通过快捷方式访问手机相册:
主界面:
下载文件:
上传文件:
下载记录:
- 多设备互联 — PC 之间、PC 与手机之间互相发现和传输文件
- 双向文件传输 — 支持单文件、多文件、文件夹上传/下载,保留目录结构
- 文件系统浏览 — 浏览任意设备的文件系统
- 缩略图预览 — 图片文件自动生成缩略图
- 快捷路径 — 快速访问常用目录(桌面、文档、手机相册、微信文件等)
- 传输进度 — 发送方和接收方均显示进度条、传输速度
- 设备发现 — UDP 广播 + HTTP 注册双机制,自动发现局域网设备
- 防火墙自动管理 — 运行时自动开放端口,退出时自动关闭
- 免安装 — PC 端单文件 exe,内嵌 Web UI,原生窗口(Wails + WebView2)
| 平台 | 技术 |
|---|---|
| PC 端 | Go 1.22+ / Wails v2 (WebView2) / 嵌入式 HTTP 服务器 / Web UI (Vanilla JS) |
| 手机端 | Kotlin / Jetpack Compose / Material3 / NanoHTTPD |
| 通信协议 | HTTP (文件传输) + UDP (设备发现) |
- PC: Windows 10/11
- 手机: Android 8.0+ (API 26)
- 网络: 同一局域网(Wi-Fi 或移动热点)
- 下载
release/Node2Node.exe - 双击运行,弹出原生窗口界面
- 也可在浏览器中打开
http://localhost:9273
cd pc
go mod tidy
go run ./cmd/node2node -dev # 开发模式
go run ./cmd/node2node # 生产模式release\build.bat
# 或手动编译:
cd pc
go build -tags production -ldflags="-s -w -H windowsgui" -o ../release/Node2Node.exe ./cmd/node2node/- 用 Android Studio 打开
android/目录 - 连接手机,点击 Run
- 每台 PC 上运行
Node2Node.exe(管理员权限) - 手机打开 Node2Node App,自动发现 PC 或手动输入 IP
- 设备间互相发现后,即可浏览和传输文件
Node2Node/
├── README.md
├── CHANGELOG.md
├── DOC/ # 文档
├── assets/ # Logo 资源
├── release/
│ └── build.bat # 构建脚本
├── pc/ # PC 端 (Go + Wails)
│ ├── cmd/node2node/main.go # 入口
│ ├── app.go # Wails GUI
│ ├── internal/
│ │ ├── server/ # HTTP 服务器 & API
│ │ ├── transfer/ # 文件传输 & 进度追踪
│ │ ├── discovery/ # UDP 设备发现 & 注册表
│ │ ├── netutil/ # IP 获取 & 防火墙管理
│ │ └── config/
│ ├── web/ # Web UI (Vanilla JS)
│ └── go.mod
└── android/ # Android 端 (Kotlin)
└── app/src/main/java/com/node2node/android/
├── data/api/ # Retrofit API
├── service/ # HTTP 服务 & UDP 发现
├── ui/ # Jetpack Compose UI
└── viewmodel/
PC-A ──UDP广播──→ PC-B
↑ ↑
│ HTTP 注册(回退) │
└────────────────────┘
↕ HTTP
手机
- UDP 广播: 每 3 秒向 255.255.255.255:9274 广播设备信息
- HTTP 注册: UDP 发现设备后主动向对方注册(解决单向 UDP 不通的问题)
- 文件传输: HTTP 直连,不经外网
- 监听 HTTP 端口 (9273)
- 读取本地文件系统
- UDP 广播/监听 (9274)
- 自动管理 Windows 防火墙规则(需管理员权限)
INTERNET— 网络通信MANAGE_EXTERNAL_STORAGE— 访问手机全部文件
cd pc
go run ./cmd/node2node -dev # Web 文件从磁盘读取,修改后刷新即可JJCKA(ZBH)
MIT License








