PPP PRIVATE NETWORK™ 2 VPN Next Generation Reliable and Secure Virtual Ethernet Access Solution!
项目地址: https://github.com/liulilittle/openppp2
Support: Windows 10+ / Linux 20+ / macOS Intel Atom® x5-Z8300/Z8350 (Cloud terminal, TV set-top box, soft router, etc) Amlogic S805 TV (Player cloud, Netheart cloud, Fei xun N1 TV set-top box) HUAWEI HI3798MV100 TV (China Telecom, China Mobile, China Unicom TV set-top box)
1
povsister 240 天前 via iPhone
这💩readme ,你说是那就是吧
|
2
Damn 240 天前
缓缓地打出一个❓
|
3
zwy100e72 240 天前 3
* 没有文档(包括但不限于上手指南、构建指南、开发指南、原理说明、与同类工具的对比等)
* 库上存在未知来源的二进制文件,无法证明可以从库上源码以 reproducible 的方式构建 * 库上存在未知来源的 `cacert.pem` / RSA 密钥对 |
4
0o0O0o0O0o 240 天前
前几天出现在推荐里,点进去没看到文档
|
5
kyuuseiryuu 240 天前
额。。。自己玩玩得了
|
6
tediorelee 240 天前
"Add Files."
|
7
GotKiCry 238 天前
先完善一下 Readme 再说把
|
8
rebecca554owen OP ## Server side
1. Find a server to deploy openppp2 server 2. Connect to the server. 3. Download the openppp2 zip remotely. 4. Modify the given appsettings.json template file in the openppp2 compressed file. 1. If you have no need to use this server as SNIProxy server, please delete the "cdn" param. 2. If your server has 256MiB+ mem and disk I/O speed of 4K-blocks is not satifying, please delete the vmem param 3. If your server has more than 1 thread, you would better set the cocurrent to the thread number. 4. Set the server listening ip address 1. If you decide to use all the ip assinged to the server, please change the ip.interface and ip.public to "::" ```json "ip": { "interface": "::", "public": "::" } ``` 2. If you decide to use only one ip address, please change the the ip.interface and ip.public to the ip that you want to use. 3. In some special situations, that the public ip is assigned by route, you should change the interface to the "::" and change the public to the ip address going to be used. 4. Hate IPv6? Replace all "::" to "0.0.0.0" 5. Set the tcp and udp port by modifying tcp.listen.port and udp.listen.port 6. Delete the whole websocket param, since the tcp connection would be secured enough facing the censorship.(Websocket connection should be used in some specific situations) 7. Set some server running params 1. server.log is the path to store the connection logs. If you hate logs, please set to "/dev/null" 2. Delete the following params in server block. ```json "server": { "log": "/dev/null" } ``` 8. use `screen -S` to keep openppp2 running at backstage 9. Remenber to chmod +x ! 10. Boot the server |
9
rebecca554owen OP ## Client Side Configuration
1. Delete the vmem params as long as you client is running on your PC or the client device is using eMMc as the storage. 2. Set the udp.static.server - IP:PORT - DOMAIN:PORT - DOMAIN[IP]:PORT 3. Set client.guid to a totally random one, please make sure no other client share the same GUID with the one that you are using. 4. Set the client.server - ppp://IP:PORT - ppp://DOMAIN:PORT - ppp://DOMAIN[IP]:PORT 5. Delete the client.bandwidth to unleash the openppp2 full speed 6. Delete the mappings params ## Client CLI notice 1. The TUN gateway on windows should be x.x.x.0 2. Only by adding the --tun-static=yes , the UDP streams would be trasfered seperately. 3. If the --block-quic=yes, no matter what the --tun-static is, there won't be any QUIC streams. |
10
rebecca554owen OP Openppp2 是一款高性能的虚拟专用网络 (VPN) 工具,专注于 OSI 模型的第三层(网络层),提供虚拟以太网解决方案。它在对抗中间人攻击 (MITM) 、深度报文探测 (DPI) 以及 AI 预测分析方面表现出色。
以下是对其代码优缺点的分析,结合其对抗 DPI 和 AI 预测分析的能力进行详细探讨: 优点 1 高性能网络传输 多线程技术 (SSMT) :openppp2 在 Linux 和 MacOS 平台上使用 SSMT 技术,支持多队列多线程处理,显著提高了吞吐量。在 Windows 平台上,通过"PaperAirplane" 技术,突破了干兆网络限制。 定制化协议栈.支持 LwlP (轻量级 IP 协议栈)和 CTCP (定制化 TCP 协议栈),优化了网专输效率,减少了协议开销。 2 对抗 DPI 和 AI 顺测分折的能力 数据混淆与加密 openppp2 支持多种加密协议(如 AES-128 还 FB 、AES-256-CFB) ,并通过数据混淆 (shuffle-data) 和增量编码 (delta-encode) 技术,有效对抗 DPI 探测。 动态端口映射与 NAT 穿透,支持动态端口映射和 NAT 穿透,使得流量特征难以被识别和阻断。 WebSocket 支持,通过 WebSocket 和 WebSocket SSL/TLSvI 3 协议,进一步隐藏流量特征规避深度报文检测。 3 跨平台支持支持 Windows 、Linux 、MacOS 等多种操作系统,并在各平台上进行了深度优化,确保高性能和稳定性。 |
11
rebecca554owen OP Openppp2 是一款专注于高性能虚拟网络的开源工具链,主要应用于 OSI 模型的第三层(网络层)。与 WireGuard 、OpenVPN 和 SoftEther 等主流 VPN 协议相比,Openppp2 在设计理念、性能优化和应用场景上有显著区别。
以下是对比分析及其适用群体和应用场景的详细说明: 核心区别 1.1 设计理念 Openppp2:专注于高性能虚拟以太网解决方案,支持跨平台运行 (Windows 、Linux 、MacOS 等),强调低延迟和高吞吐量,适合对网络性能要求极高的场景。 WireGuard:以简洁、现代的设计著称,代码量少(约 4000 行),专注于快速、安全的 VPN 连接,适合个人用户和小型团队。 OpenVPN:成熟且功能丰富,支持多种加密协议和认证方式,适合企业级复杂网络环境。 SoftEther:多协议支持(如 SSL VPN 、L2TP/l Psec) ,功能强大但配置复杂,适合需要复杂组网和高扩展性的场景。1.2 性能 Openppp2:通过多线程技术(如 SSMT) 和定制化协议栈(如 LwlP 、CTCP) ,在高延迟、高丢包环境下仍能保持高吞吐量,适合高带宽需求。 WireGuard:性能优异,延迟低,适合对速度和响应时间要求高的场景 。 OpenVPN:性能相对较低,尤其在老旧硬件或高流量场景中表现逊色。 SoftEther 、性能较强,支持多种协议,但在复杂配置下可能影响效率。 |
12
rebecca554owen OP Openppp2 与 PPTP 、L2T P 、SSTP 、OpenVPN 、SoftEther 、Lantern 、WireGuard 、V2Ray 、Xray 、Shadowsocks 、Trojan 等工具在设计理念、技术实现和应用场景上有显著差异。
Openppp2 核心技术: 抗帧长顺测:动态调整数据包长度,避免被 DPI 系统通过帧长特征识别。 抗随机字节顺测:打破数据包中字节的随机性规律,防止被 AI 预测模型识别。 可打印明文抗审查技术:将加密数据伪装成可打印的明文(如 A-z 、0 一 9 、~+-,规避防火墙对随机字节的深度审查。 差分还原:通过动态差分技术,藏数据包的真实特征·o 字节顺序动态打乱.动态调整字节顺序,增加流量特征的不可预测性。 动态插花字节技术:在数据包中插入随机字节,进一步混淆流量特征。 抗中间反向命中报文测试:防止中间人攻击和反向探测·明文交换技术将随机字节转换为特定的可打印明文数字信号,增强安全性。 抗握手探测分折:在头部握手时启用最大安全层技术,动态明文交换,防止防火墙分析。 块式传输技术:使用块式传输而非流式传输,增加数据包的不可预测性。 |
13
rebecca554owen OP Openppp2 适合高性能、高带宽需求的企业和技术团队,尤其是在需要对抗高级 DPI 和 AI 预测分析的场景中表现卓越。
Trojan 适合需要隐蔽性和快速部署的普通用户。 V2Ray / Xray 适合需要灵活配置和动态路由的技术用户。 Shadowsocks. 适合简单、快速的上网需求。 上述 AI 已经说明,对于绝大多数用户而言,应首选采用 Trojan 、Xray / V2ray 这一类的产品,PPP2 的配置非常复杂只适合高级用户及企业场景,Trojan 是实用性选择。 |