mirror of
https://github.com/sigcn/pg.git
synced 2025-09-27 01:05:51 +08:00
chore: update README.md
This commit is contained in:
29
README.md
29
README.md
@@ -1,3 +1,7 @@
|
|||||||
|
<p align="center">
|
||||||
|
<img src="peermap/ui/src/assets/logo.png" width="180" />
|
||||||
|
</p>
|
||||||
|
|
||||||
# PeerGuard
|
# PeerGuard
|
||||||
|
|
||||||
Another p2p network library in Go. Committed to direct communication between devices.
|
Another p2p network library in Go. Committed to direct communication between devices.
|
||||||
@@ -16,16 +20,16 @@ Another p2p network library in Go. Committed to direct communication between dev
|
|||||||
## Get Started
|
## Get Started
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> Time synchronization between nodes is crucial; the difference should not exceed 5 seconds
|
> Time synchronization between nodes is crucial; the difference should not exceed 10 seconds
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# node1
|
# node1
|
||||||
pgcli vpn -s wss://open.privpkg.in/pg -4 100.64.0.1/24
|
pgcli vpn -s wss://openpg.in/pg -4 100.64.0.1/24
|
||||||
```
|
```
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# node2
|
# node2
|
||||||
pgcli vpn -s wss://open.privpkg.in/pg -4 100.64.0.2/24
|
pgcli vpn -s wss://openpg.in/pg -4 100.64.0.2/24
|
||||||
```
|
```
|
||||||
|
|
||||||
## Advanced
|
## Advanced
|
||||||
@@ -36,26 +40,26 @@ pgcli vpn -s wss://open.privpkg.in/pg -4 100.64.0.2/24
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ pgmap -l 127.0.0.1:9987 --secret-key 5172554832d76672d1959a5ac63c5ab9 \
|
$ pgmap -l 127.0.0.1:9987 --secret-key 5172554832d76672d1959a5ac63c5ab9 \
|
||||||
--stun stun.miwifi.com:3478 --stun stunserver.stunprotocol.org:3478
|
--stun 111.206.174.2:3478 --stun 106.13.249.54:3478 --stun 106.12.251.52:3478 --stun 106.12.251.31:3478
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2. wrap pgmap as an https server
|
#### 2. wrap pgmap as an https server
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ caddy reverse-proxy --from https://open.privpkg.in/pg --to 127.0.0.1:9987
|
$ caddy reverse-proxy --from https://openpg.in --to 127.0.0.1:9987
|
||||||
```
|
```
|
||||||
|
|
||||||
### P2P file sharing
|
### P2P file sharing
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# share
|
# share
|
||||||
$ pgcli share -s wss://open.privpkg.in/pg ~/my-show.pptx
|
$ pgcli share -s wss://openpg.in/pg ~/my-show.pptx
|
||||||
ShareURL: pg://DJX2csRurJ3DvKeh63JebVHFDqVhnFjckdVhToAAiPYf/0/my-show.pptx
|
ShareURL: pg://DJX2csRurJ3DvKeh63JebVHFDqVhnFjckdVhToAAiPYf/0/my-show.pptx
|
||||||
```
|
```
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# download
|
# download
|
||||||
$ pgcli download -s wss://open.privpkg.in/pg pg://DJX2csRurJ3DvKeh63JebVHFDqVhnFjckdVhToAAiPYf/0/my-show.pptx
|
$ pgcli download -s wss://openpg.in/pg pg://DJX2csRurJ3DvKeh63JebVHFDqVhnFjckdVhToAAiPYf/0/my-show.pptx
|
||||||
```
|
```
|
||||||
|
|
||||||
### Shortcut pgvpn
|
### Shortcut pgvpn
|
||||||
@@ -75,7 +79,7 @@ pgvpn --peers
|
|||||||
### Rootless mode VPN
|
### Rootless mode VPN
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
pgvpn -s wss://open.privpkg.in/pg -4 100.64.0.1/24 --proxy-listen 127.0.0.1:4090 --forward tcp://127.0.0.1:80 --forward udp://8.8.8.8:53
|
pgvpn -s wss://openpg.in/pg -4 100.64.0.1/24 --proxy-listen 127.0.0.1:4090 --forward tcp://127.0.0.1:80 --forward udp://8.8.8.8:53
|
||||||
```
|
```
|
||||||
|
|
||||||
### Uses pre-shared secret file instead of OIDC auth
|
### Uses pre-shared secret file instead of OIDC auth
|
||||||
@@ -84,14 +88,14 @@ pgvpn -s wss://open.privpkg.in/pg -4 100.64.0.1/24 --proxy-listen 127.0.0.1:4090
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ export PG_SECRET_KEY=5172554832d76672d1959a5ac63c5ab9
|
$ export PG_SECRET_KEY=5172554832d76672d1959a5ac63c5ab9
|
||||||
$ export PG_SERVER=wss://open.privpkg.in/pg
|
$ export PG_SERVER=wss://openpg.in/pg
|
||||||
$ pgcli admin secret --network "<email>" --duration 24h > psns.json
|
$ pgcli admin secret --network "<email>" --duration 24h > psns.json
|
||||||
```
|
```
|
||||||
|
|
||||||
**then**
|
**then**
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo pgcli vpn -s wss://open.privpkg.in/pg -4 100.64.0.1/24 -f psns.json
|
sudo pgcli vpn -s wss://openpg.in/pg -4 100.64.0.1/24 -f psns.json
|
||||||
```
|
```
|
||||||
|
|
||||||
## License
|
## License
|
||||||
@@ -104,3 +108,8 @@ Contributions welcome! Have an improvement? Submit a pull request.
|
|||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> I also maintain a closed-source version, and contributions to the open-source project may be included in the closed-source version.
|
> I also maintain a closed-source version, and contributions to the open-source project may be included in the closed-source version.
|
||||||
|
|
||||||
|
## Contact
|
||||||
|
|
||||||
|
- Telegram Group: https://t.me/+-S5L6ZCBxlxkMTRl
|
||||||
|
- QQ Group: 1039776116
|
||||||
|
@@ -1,3 +1,7 @@
|
|||||||
|
<p align="center">
|
||||||
|
<img src="peermap/ui/src/assets/logo.png" width="180" />
|
||||||
|
</p>
|
||||||
|
|
||||||
# PeerGuard
|
# PeerGuard
|
||||||
|
|
||||||
另一个 Go 实现的 p2p 类库。致力于设备之间直接通信。
|
另一个 Go 实现的 p2p 类库。致力于设备之间直接通信。
|
||||||
@@ -15,16 +19,16 @@
|
|||||||
## 快速开始
|
## 快速开始
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> 节点间时间同步非常重要,通常相差不能超过 5 秒
|
> 节点间时间同步非常重要,通常相差不能超过 10 秒
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# 节点1
|
# 节点1
|
||||||
pgcli vpn -s wss://open.privpkg.in/pg -4 100.64.0.1/24
|
pgcli vpn -s wss://openpg.in/pg -4 100.64.0.1/24
|
||||||
```
|
```
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# 节点2
|
# 节点2
|
||||||
pgcli vpn -s wss://open.privpkg.in/pg -4 100.64.0.2/24
|
pgcli vpn -s wss://openpg.in/pg -4 100.64.0.2/24
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
@@ -38,7 +42,7 @@ pgcli vpn -s wss://open.privpkg.in/pg -4 100.64.0.2/24
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ pgmap -l 127.0.0.1:9987 --secret-key 5172554832d76672d1959a5ac63c5ab9 \
|
$ pgmap -l 127.0.0.1:9987 --secret-key 5172554832d76672d1959a5ac63c5ab9 \
|
||||||
--stun stun.miwifi.com:3478 --stun stunserver.stunprotocol.org:3478
|
--stun 111.206.174.2:3478 --stun 106.13.249.54:3478 --stun 106.12.251.52:3478 --stun 106.12.251.31:3478
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!NOTE] >`pgmap`支持配置文件([查看所有配置项](https://github.com/sigcn/pg/blob/main/peermap/config.go#L20))。另外,命令行参数会覆盖配置文件参数
|
> [!NOTE] >`pgmap`支持配置文件([查看所有配置项](https://github.com/sigcn/pg/blob/main/peermap/config.go#L20))。另外,命令行参数会覆盖配置文件参数
|
||||||
@@ -46,20 +50,20 @@ $ pgmap -l 127.0.0.1:9987 --secret-key 5172554832d76672d1959a5ac63c5ab9 \
|
|||||||
#### 2. 上 https 更安全
|
#### 2. 上 https 更安全
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ caddy reverse-proxy --from https://open.privpkg.in/pg --to 127.0.0.1:9987
|
$ caddy reverse-proxy --from https://openpg.in --to 127.0.0.1:9987
|
||||||
```
|
```
|
||||||
|
|
||||||
### P2P 文件分享
|
### P2P 文件分享
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# 分享
|
# 分享
|
||||||
$ pgcli share -s wss://open.privpkg.in/pg ~/my-show.pptx
|
$ pgcli share -s wss://openpg.in/pg ~/my-show.pptx
|
||||||
ShareURL: pg://DJX2csRurJ3DvKeh63JebVHFDqVhnFjckdVhToAAiPYf/0/my-show.pptx
|
ShareURL: pg://DJX2csRurJ3DvKeh63JebVHFDqVhnFjckdVhToAAiPYf/0/my-show.pptx
|
||||||
```
|
```
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# 下载
|
# 下载
|
||||||
$ pgcli download -s wss://open.privpkg.in/pg pg://DJX2csRurJ3DvKeh63JebVHFDqVhnFjckdVhToAAiPYf/0/my-show.pptx
|
$ pgcli download -s wss://openpg.in/pg pg://DJX2csRurJ3DvKeh63JebVHFDqVhnFjckdVhToAAiPYf/0/my-show.pptx
|
||||||
```
|
```
|
||||||
|
|
||||||
### 快捷方式 pgvpn
|
### 快捷方式 pgvpn
|
||||||
@@ -79,7 +83,7 @@ pgvpn --peers
|
|||||||
### 去 root 权限的 VPN
|
### 去 root 权限的 VPN
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
pgvpn -s wss://open.privpkg.in/pg -4 100.64.0.1/24 --proxy-listen 127.0.0.1:4090 --forward tcp://127.0.0.1:80 --forward udp://8.8.8.8:53
|
pgvpn -s wss://openpg.in/pg -4 100.64.0.1/24 --proxy-listen 127.0.0.1:4090 --forward tcp://127.0.0.1:80 --forward udp://8.8.8.8:53
|
||||||
```
|
```
|
||||||
|
|
||||||
### 使用预共享密钥文件代替 OIDC 认证
|
### 使用预共享密钥文件代替 OIDC 认证
|
||||||
@@ -88,14 +92,14 @@ pgvpn -s wss://open.privpkg.in/pg -4 100.64.0.1/24 --proxy-listen 127.0.0.1:4090
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ export PG_SECRET_KEY=5172554832d76672d1959a5ac63c5ab9
|
$ export PG_SECRET_KEY=5172554832d76672d1959a5ac63c5ab9
|
||||||
$ export PG_SERVER=wss://open.privpkg.in/pg
|
$ export PG_SERVER=wss://openpg.in/pg
|
||||||
$ pgcli admin secret --network "<email>" --duration 24h > psns.json
|
$ pgcli admin secret --network "<email>" --duration 24h > psns.json
|
||||||
```
|
```
|
||||||
|
|
||||||
**然后**
|
**然后**
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo pgcli vpn -s wss://open.privpkg.in/pg -4 100.64.0.1/24 -f psns.json
|
sudo pgcli vpn -s wss://openpg.in/pg -4 100.64.0.1/24 -f psns.json
|
||||||
```
|
```
|
||||||
|
|
||||||
## 许可证
|
## 许可证
|
||||||
@@ -108,3 +112,8 @@ sudo pgcli vpn -s wss://open.privpkg.in/pg -4 100.64.0.1/24 -f psns.json
|
|||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> 我维护了一个功能更强的专业版本,是闭源的。任何贡献在开源版本的代码都可能被闭源版本采用,如果介意请不要参与贡献。
|
> 我维护了一个功能更强的专业版本,是闭源的。任何贡献在开源版本的代码都可能被闭源版本采用,如果介意请不要参与贡献。
|
||||||
|
|
||||||
|
## 交流
|
||||||
|
|
||||||
|
- Telegram 群组: https://t.me/+-S5L6ZCBxlxkMTRl
|
||||||
|
- QQ 群组: 1039776116
|
||||||
|
Reference in New Issue
Block a user