[点晴永久免费OA]STUN Max:一款零配置的P2P内网穿透工具,让远程访问像本地一样简单

STUN Max 是一款跨平台的 P2P TCP 隧道工具,支持 STUN 打孔和自动服务器中继回退。提供 GUI 和 CLI 两种使用方式,实现零配置网络连接。
STUN Max 不仅仅是一款普通的内网穿透工具,它融合了多项先进技术,为用户带来极致的远程访问体验:
P2P 直连 — 通过 STUN 打孔技术建立直连,然后升级为可靠的 TCP 连接,数据传输不经过服务器,确保速度和隐私。
自动中继回退 — 如果 P2P 直连在 5 次尝试后失败,会无缝切换到服务器中继模式,同时后台持续尝试直连。
局域网自动检测 — 当两个设备处于同一公网 IP 时,会自动通过本地地址连接,实现零延迟访问。
端口映射 — 可以将远程设备的任意端口映射到本地,轻松访问内网服务。
自动重连 — 网络变化时自动触发重连,每 3 秒尝试一次,无限重试确保连接稳定。
房间式访问控制 — 通过密码保护的房间进行访问,房间只能在管理后台创建,确保安全性。
图形界面 + 命令行 — 提供 Gio UI 桌面应用(Windows/Mac)和带自动补全的 readline 命令行工具。
NAT 诊断 — 内置 natcheck 工具,可检测 NAT 类型以及打孔成功概率。
Windows 专属工具 — 一键启用 RDP(仅限本地防火墙)、自动登录和管理员自启动功能。
配置持久化 — 连接、端口映射、STUN 服务器配置等信息会保存并在重启后恢复。
黑名单功能 — 管理员可以在后台房间中禁用特定客户端。
流量统计 — 实时显示每个端口映射的上传/下载速度和总流量。
自托管 STUN 服务器 — 包含轻量级 STUN 服务器,适用于中国或其他受限网络环境。
STUN Max 的工作流程设计巧妙,兼顾了效率与可靠性:
1. 两个客户端通过 WebSocket 连接到信令服务器。
2. STUN 协议发现双方的公网 IP 和端口(支持自定义/自托管 STUN 服务器)。
3. 使用生日攻击和端口预测技术进行 UDP 打孔。
4. 在打孔成功的连接上升级为 TCP,确保数据传输的可靠性和有序性。
5. 隧道数据在 P2P 之间传输,服务器不参与数据路径。
6. 如果打孔失败 5 次,自动切换到服务器中继模式,同时后台继续尝试直连。
7. 如果后续 P2P 直连成功,自动从中继模式升级回直连模式。


./build.sh
# 上传到你的服务器
scp build/stun_max-server-linux-amd64 root@SERVER:/usr/local/bin/stun_max-server
scp build/stun_max-stunserver-linux-amd64 root@SERVER:/usr/local/bin/stun_max-stunserver
ssh root@SERVER "mkdir -p /opt/stun_max/web"
scp -r build/web/* root@SERVER:/opt/stun_max/web/
创建 systemd 服务:
# 信令服务器
cat > /etc/systemd/system/stun-max.service << 'EOF'
[Unit]
Description=STUN Max Signal Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/stun_max-server --addr :8080 --web-dir /opt/stun_max/web
Restart=always
RestartSec=3
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
# STUN 服务器(可选,推荐用于中国)
cat > /etc/systemd/system/stun-max-stun.service << 'EOF'
[Unit]
Description=STUN Max STUN Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/stun_max-stunserver --addr :3478
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now stun-max stun-max-stun
获取自动生成的管理后台密码:
journalctl -u stun-max | grep Password
防火墙设置: 开放 TCP 8080 和 UDP 3478 端口。
打开 http://SERVER:8080,登录,创建一个带名称和密码的房间。
房间会一直存在,直到被明确删除,即使客户端断开连接或服务器重启也不会消失。
GUI 版(Windows/Mac):
运行 stun_max-client-windows-amd64.exe 或 stun_max-client-darwin-arm64,填写服务器 URL、房间、密码和名称,点击连接。
CLI 版:
./stun_max-cli --server ws://SERVER:8080/ws --room myroom --password secret --name laptop
# 将对端的端口映射到本地
> forward peer-name 127.0.0.1:3389
> forward peer-name 192.168.1.100:8080 9090
# 管理
> forwards # 列出并显示流量统计
> unforward 3389 # 停止映射
| 命令 | 描述 |
|---|---|
| peers | 列出对等端及其 P2P/RELAY 模式 |
| forward <peer> <host:port> [local] | 转发远程端口 |
| unforward <port> | 停止转发 |
| forwards | 列出转发及其流量统计 |
| stun | STUN/P2P 连接详情 |
| speedtest <peer> | 带宽测试 |
| help | 所有命令 |
| quit | 断开连接 |
命令行工具支持命令、对等端名称和端口的自动补全功能。
| 标签页 | 描述 |
|---|---|
| 对等端 | 对等端列表,带有 P2P/RELAY 标识、STUN 端点显示和自身模式展示 |
| 转发 | 创建/停止/删除转发,实时流量(字节 + 速度),中继回退 |
| 速度测试 | 对等端之间的上传/下载带宽测试 |
| 工具 | Windows RDP 启用(仅限本地)、密码管理 |
| 设置 | 转发控制、STUN 服务器选择、自启动、自动连接、自动登录 |
| 日志 | 可滚动的事件日志 |
STUN Max 在安全性方面做了全面考虑:
房间隔离 — 中继服务验证发送方和接收方是否在同一房间。
房间认证 — 房间只能在管理后台创建,密码使用 SHA-256 哈希存储。
速率限制 — 登录限制 5 次/分钟,WebSocket 20 次/分钟,加入房间 10 次/分钟 每个 IP/客户端。
连接限制 — 全局最大连接数(默认 5000,可通过 --max-connections 调整)。
会话过期 — 管理后台令牌 24 小时后过期。
黑名单 — 可按房间禁用/解禁客户端。
转发控制 — 每个客户端的允许/拒绝 + 仅限本地模式。
RDP 防火墙 — 3389 端口仅限制在 127.0.0.1。
IP 验证 — 不信任 X-Forwarded-For 头。
STUN Max 的项目结构清晰,便于维护和扩展:
server/ — 信令 + 中继 + 管理后台
client/core/ — 网络(GUI 和 CLI 共享)
client/ui/ — Gio UI 桌面应用
web/ — 管理后台(HTML/JS/CSS)
tools/natcheck/ — NAT 类型诊断工具
tools/stunserver/ — 自托管 STUN 服务器
STUN Max 的强大功能使其适用于多种场景:
远程办公 — 安全访问公司内网资源,无需复杂配置。
家庭 NAS 访问 — 随时访问家里的文件和媒体服务器。
游戏联机 — 与朋友建立直接连接,降低延迟。
物联网设备管理 — 远程控制和监控家庭或办公室的 IoT 设备。
开发测试 — 在不同网络环境中测试应用程序。
临时文件共享 — 快速在两台设备之间传输大文件。
STUN Max 是一款功能强大、设计精巧的内网穿透工具。它通过 P2P 直连技术提供高性能的数据传输,同时具备自动中继回退机制确保连接的可靠性。跨平台的 GUI 和 CLI 支持、丰富的安全特性以及零配置的设计,使其成为远程访问内网资源的理想选择。
无论你是需要远程办公的开发者,还是希望访问家庭服务器的普通用户,STUN Max 都能为你提供一个简单、安全、高效的解决方案。其开源特性和活跃的社区支持也意味着项目将持续改进和完善。
STUN Max 的出现,让复杂的网络配置变得简单,让远程访问像本地一样自然。如果你正在寻找一款可靠的穿透工具,不妨试试 STUN Max,它可能会成为你远程工作的得力助手。
阅读原文:原文链接