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

牛逼的开源工具P2WLAN

Z先生17小时前精品收藏5

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

分享给朋友:

相关文章

.htaccess综合应用[域名子目录、301/302、主域名]

RewriteEngine on # 子目录示例 RewriteCond %{HTTP_HOST} ^(www.)?aaaa.com$ [NC…

硬货:微信一些自定义链接

1、通过微信公众号的微信号,获取公众号二维码https://open.weixin.qq.com/qr/code?username=公众号的微信号2、直接打开微信公众号关注页面https://mp.w…

右键菜单以管理员方式运行命令行

找了一堆资料终于是找到方法。然后自己手动设置了之后导出整合了一下。将以下内容复制保存为reg文件,双击导入即可。……

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

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

Windows 2022激活

Windows 2022激活

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

VSCode配置SSH密钥远程登录

一、生成SSH密钥对,并将密钥对下载保存。二、配置本地SSH客户端,编辑或创建文件:C:\Users\xxxx\.ssh\config,内容如下:Host myserver &nb…

发表评论

访客

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