簡介
官網:https://openp2p.cn/
GitHub:https://github.com/openp2p-cn/openp2p
中文說明:https://github.com/openp2p-cn/openp2p/blob/master/README-ZH.md
OpenP2P是什么
它是一個開源、免費、輕量級的P2P共享網絡。你的設備將組成一個私有P2P網絡,里面的設備可以直接訪問其它成員,或者通過其它成員轉發數據間接訪問。如果私有網絡無法完成通信,將會到公有P2P網絡尋找共享節點協助通信。
相比BT網絡用來共享文件,OpenP2P網絡用來共享帶寬。
我們的目標是:充分利用帶寬,利用共享節點轉發數據,建設一個遠程連接的通用基礎設施。
典型應用場景
特別適合大流量的內網訪問
為什么選擇OpenP2P
免費
完全免費,滿足大部分用戶的核心白票需求。不像其它類似的產品,OpenP2P不需要有公網IP的服務器,不需要花錢買服務。了解它原理即可理解為什么能做到免費。
共享
你的設備會形成一個私有P2P網絡,它們之間共享帶寬,提供網絡數據轉發服務。
當你的私有P2P網絡下沒有可以提供轉發服務的節點時,會嘗試在公共P2P網絡尋找轉發節點。
默認會開啟共享限速10mbps,只有你用戶下提供了共享節點才能使用別人的共享節點。這非常公平,也是這個項目的初衷。
我們建議你在帶寬足夠的地方(比如辦公室,家里的百兆光纖)加入共享網絡。
如果你不想共享任何節點,或設置共享帶寬。
安全
代碼開源,P2P隧道使用TLS1.3+AES雙重加密,共享節點臨時授權使用TOTP一次性密碼
輕量
文件大小2MB+,運行內存2MB+;全部在應用層實現,沒有虛擬網卡,沒有內核程序
跨平臺
因為輕量,所以很容易支持各個平臺。支持主流的操作系統:Windows,Linux,MacOS;和主流的cpu架構:386、amd64、arm、arm64、mipsle、mipsle64、mips、mips64
高效
P2P直連可以讓你的設備跑滿帶寬。不論你的設備在任何網絡環境,無論NAT1-4(Cone或Symmetric),UDP或TCP打洞,UPNP,IPv6都支持。依靠Quic協議優秀的擁塞算法,能在糟糕的網絡環境獲得高帶寬低延時。
二次開發
基于OpenP2P只需數行代碼,就能讓原來只能局域網通信的程序,變成任何內網都能通信
快速入門
僅需簡單4步就能用起來。
下面是一個遠程辦公例子:在家里連入辦公室Windows電腦。
(另外一個快速入門視頻 https://www.bilibili.com/video/BV1Et4y1P7bF/)
1.注冊
前往https://console.openp2p.cn 注冊新用戶,暫無需任何認證
下載安裝
注冊之后,會提供下載地址。
詳細使用說明
https://github.com/openp2p-cn/openp2p/blob/master/USAGE-ZH.md
大部分情況通過https://console.openp2p.cn 操作即可。有些情況需要手動運行
⚠️ 本文所有命令, Windows環境使用"openp2p.exe", Linux環境使用"./openp2p"
1./openp2p install -node OFFICEPC1 -token TOKEN
2或
3./openp2p -d -node OFFICEPC1 -token TOKEN
4# 注意Windows系統把“./openp2p” 換成“openp2p.exe”
install: 安裝模式【推薦】,會安裝成系統服務,這樣它就能隨系統自動啟動
-d: daemon模式。發現worker進程意外退出就會自動啟動新的worker進程
-node: 獨一無二的節點名字,唯一標識
-token: 在
“我的”里面找到-sharebandwidth: 作為共享節點時提供帶寬,默認10mbps. 如果是光纖大帶寬,設置越大效果越好. 0表示不共享,該節點只在私有的P2P網絡使用。不加入共享的P2P網絡,這樣也意味著無法使用別人的共享節點
-loglevel: 需要查看更多調試日志,設置0;默認是1
連接
1./openp2p -d -node HOMEPC123 -token TOKEN -appname OfficeWindowsRemote -peernode OFFICEPC1 -dstip 127.0.0.1 -dstport 3389 -srcport 23389
2使用配置文件,建立多個P2PApp
3./openp2p -d
-appname: 這個P2P應用名字
-peernode: 目標節點名字
-dstip: 目標服務地址,默認本機127.0.0.1
-dstport: 目標服務端口,常見的如windows遠程桌面3389,Linux ssh 22
-protocol: 目標服務協議 tcp、udp
配置文件
一般保存在當前目錄,安裝模式下會保存到 C:\Program Files\OpenP2P\config.json
或 /usr/local/openp2p/config.json
希望修改參數,或者配置多個P2PApp可手動修改配置文件
配置實例
1{
2 "network": {
3 "Node": "hhd1207-222",
4 "Token": "TOKEN",
5 "ShareBandwidth": 0,
6 "ServerHost": "api.openp2p.cn",
7 "ServerPort": 27183,
8 "UDPPort1": 27182,
9 "UDPPort2": 27183
10 },
11 "apps": [
12 {
13 "AppName": "OfficeWindowsPC",
14 "Protocol": "tcp",
15 "SrcPort": 23389,
16 "PeerNode": "OFFICEPC1",
17 "DstPort": 3389,
18 "DstHost": "localhost",
19 },
20 {
21 "AppName": "OfficeServerSSH",
22 "Protocol": "tcp",
23 "SrcPort": 22,
24 "PeerNode": "OFFICEPC1",
25 "DstPort": 22,
26 "DstHost": "192.168.1.5",
27 }
28 ]
29}
升級客戶端
1# update local client
2./openp2p update
3# update remote client
4curl --insecure 'https://api.openp2p.cn:27183/api/v1/device/YOUR-NODE-NAME/update?user=&password='
Windows系統需要設置防火墻放行本程序,程序會自動設置,如果設置失敗會影響連接功能。Linux系統(Ubuntu和CentOS7)的防火墻默認配置均不會有影響,如果不行可嘗試關閉防火墻
1systemctl stop firewalld.service
2systemctl start firewalld.service
3firewall-cmd --state
卸載
1./openp2p uninstall
2# 已安裝時
3# windows
4C:\Program Files\OpenP2P\openp2p.exe uninstall
5# linux,macos
6sudo /usr/local/openp2p/openp2p uninstall
該文章在 2024/4/28 21:44:07 編輯過