风扇滑翔翼
3 months ago
committed by
GitHub
2 changed files with 71 additions and 0 deletions
@ -0,0 +1,70 @@
|
||||
# Wireguard |
||||
|
||||
User-space Wireguard 协议实现。 |
||||
|
||||
::: danger |
||||
**Wireguard 协议并非专门为翻墙而设计,若在最外层过墙,存在特征可能导致服务器被封锁** |
||||
::: |
||||
|
||||
## InboundConfigurationObject |
||||
|
||||
```json |
||||
{ |
||||
"secretKey": "PRIVATE_KEY", |
||||
"peers": [ |
||||
{ |
||||
"publicKey": "PUBLIC_KEY", |
||||
"allowedIPs":[""] |
||||
} |
||||
], |
||||
"kernelMode": true, // optional, default true if it's supported and permission is sufficient |
||||
"mtu": 1420, // optional, default 1420 |
||||
} |
||||
``` |
||||
|
||||
> `secretKey`: string |
||||
|
||||
私钥。必填。 |
||||
|
||||
> `mtu`: int |
||||
|
||||
Wireguard 底层 tun 的分片大小。 |
||||
|
||||
<details> |
||||
<summary>MTU的计算方法</summary> |
||||
|
||||
一个wireguard数据包的结构如下 |
||||
|
||||
``` |
||||
- 20-byte IPv4 header or 40 byte IPv6 header |
||||
- 8-byte UDP header |
||||
- 4-byte type |
||||
- 4-byte key index |
||||
- 8-byte nonce |
||||
- N-byte encrypted data |
||||
- 16-byte authentication tag |
||||
``` |
||||
|
||||
```N-byte encrypted data```即为我们需要的MTU的值,根据endpoint是IPv4还是IPv6,具体的值可以是1440(IPv4)或者1420(IPv6),如果处于特殊环境下再额外减掉即可(如家宽PPPoE额外-8)。 |
||||
</details> |
||||
|
||||
> `peers`: \[ [Peers](#peers) \] |
||||
|
||||
peers 服务器列表,其中每一项是一个服务器配置。 |
||||
|
||||
### Peers |
||||
|
||||
```json |
||||
{ |
||||
"publicKey": "PUBLIC_KEY", |
||||
"allowedIPs": ["0.0.0.0/0"] // optional, default ["0.0.0.0/0", "::/0"] |
||||
} |
||||
``` |
||||
|
||||
> `publicKey`: string |
||||
|
||||
公钥,用于验证 |
||||
|
||||
> `allowedIPs`: string array |
||||
|
||||
允许的源IP |
Loading…
Reference in new issue