当前位置:首页 > 精品收藏

牛逼的开源工具P2WLAN

Z先生2个月前 (09-30)精品收藏89

P2WLAN 是什么

P2WLAN 是一个开源、P2P 优先、可自托管的虚拟局域网工具。它为设备分配私有虚拟 IP,让分布在家庭宽带、移动网络、校园网、云服务器等不同网络中的设备,能够像在同一个局域网里一样通信。

连接建立时,P2WLAN 会优先尝试 LAN Direct / 公网 UDP P2P;如果当前 NAT、防火墙或网络环境不允许直连,则自动回退到 Encrypted Relay。业务侧仍然使用同一个虚拟 IP,不需要为每台设备单独维护公网端口、动态域名或复杂路由。

hero.jpg

能力

说明

P2P First

能直连就不经过中继,优先使用局域网和公网 UDP。

NAT Traversal

自动探测网络环境并尝试 UDP 打洞;复杂 NAT 下不保证一定成功。

Relay Fallback

Direct 不可用时自动切换到加密 Relay,尽量保证连接可用。

End-to-End Encryption

设备间数据通过加密会话传输,Relay 只负责转发密文。

Rooms

用房间组织临时或固定的一组设备,适合朋友联机、协作和私有服务互通。

Cross-platform

GUI 覆盖 Windows、macOS、Linux 与 Android;iOS 仍为实验性预览;CLI / daemon 适合服务器和无桌面环境。

Self-hosted

Control Plane、SQLite 与 Relay 可以部署到自己的 Linux 服务器。

界面预览

screenshot-home.jpg

screenshot-rooms.jpg

screenshot-room.jpg

从全局网络状态、设备在线情况,到多房间管理、连接方式和端到端延迟,常用信息可以直接在客户端里看到。设备名称和截图数据均为演示数据。

工作方式

P2WLAN 将连接控制和数据传输分开:

· Control Plane:身份、设备、虚拟 IP、凭据和信令。

· Rust daemon:虚拟网卡、路由、Peer、NAT traversal、加密数据面和路径选择。

· Relay:只在 Direct 不可用时参与,负责转发密文。

image.png

连接策略可以概括为:

LAN Direct → Public UDP Direct → Encrypted Relay

Direct 能否建立取决于两端真实网络环境。NAT、CGNAT、防火墙、云安全组等都可能阻止直连;此时 Relay 是后备路径,而不是对任意网络环境 P2P 成功率的承诺。

适用场景

P2WLAN 的目标不是替你定义业务,而是提供一张跨地域的虚拟三层网络。只要应用本身能通过 IP 通信,就可以把它放到这张网络上。

场景

可以怎么用

NAS / HomeLab

在外网访问 NAS 管理页、家庭服务器、虚拟机和其他内部服务,不必逐个暴露公网端口。

Minecraft 联机

把朋友的电脑加入同一房间,直接使用虚拟 IP 访问自建 Minecraft 服务器。

Terraria 联机

将不同网络中的玩家组织到同一虚拟网络,进行多人联机。

自建服务器

访问 Web 应用、API、数据库、面板、游戏服以及仅希望在私网开放的服务。

远程开发

SSH、RDP、数据库连接、开发测试机互联,以及跨地区设备调试。

跨地域组网

家庭宽带、移动热点、校园网、云主机和不同云厂商之间互联。

房间:把“我要和谁互联”单独组织起来

房间适合需要独立边界的临时或固定网络:例如一个 Minecraft 生存服、一次朋友联机、一组 NAS 维护设备,或者一个开发测试环境。客户端可以集中查看房间成员、在线状态、虚拟 IP、当前连接路径和延迟,不需要把所有设备混在同一个列表里。

开源地址

开源地址

https://github.com/yhan-sun/p2wlan

客户端地址

https://github.com/yhan-sun/p2wlan/releases

官方文档

https://github.com/yhan-sun/p2wlan/blob/main/README.md

分享给朋友:

相关文章

在Windows 11中恢复动态磁贴

打开注册表编辑器 打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced路径 右键点击A…

uniapp底部midButton模板(PSD文件)

uniapp底部midButton模板(PSD文件)

uniapp底部突起按钮 效果演示: 实现方法 在pages.json文件中,tabBar部分设置 "tabBar": { "color": "#aaaaaa",…

将windows server2019打造成个人操作系统

组策略 WIN键R键,输入gpedit.msc,进入组策略设置。 计算机配置——Windows设置——安全设置——帐户策略——密码策略:密码必须符合复杂性要求,设置为已禁用。 ˃ 解决问题:设置帐…

Windows 2022激活

Windows 2022激活

使用KMS激活方式 设置激活服务器 以管理员身份运行powershell或cmd,输入以下命令 slmgr -skms kms.0t.net.cn 输入激活序列号 Windows2022 桌面版不支持…

Hyper-V下显卡虚拟化vGPU设置教程(3D加速)

使用Windows 10 20H2版本来部署安装Hyper-V虚拟机系统,其他版本待测试,Windows Server 2022测试不可以,2022的Hpery-V的版本为10,其他版本后面测试了更新…

MAS_AIO.cmd 相关

MAS_AIO.cmd 相关

什么是MAS_AIO?使用 HWID / Ohook / KMS38 / Online KMS 激活方法的 Windows 和 Office 激活器,专注于开源代码和较少的防病毒检测。方法 1 - P…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。