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