如题,教育加速功能其实是基于 SOCKS5 做了一些修改,主要有以下不同:[md]## 1. 数据混淆处理
所有客户端发送的数据包都要 XOR 0xFF 进行混淆处理,而服务器返回的数据包不需要处理,这是该加速器协议与标准 SOCKS5 最显著的区别。
例如,客户端发送认证方法协商请求:
原始数据:05 01 80(SOCKS5 版本,1 种方法,方法 0x80)
发送数据:FA FE 7F(每个字节与 0xFF 按位异或)
## 2. 私有认证方式
支持两种私有认证方式:
- 0x80
- 0x82
```makefile
Type 0x80 认证请求包结构:
+-----+------+----------+------+----------+
VER | ULEN | UNAME | HLEN | HMAC
+-----+------+----------+------+----------+
1 | 1 | 19 | 1 | 32
+-----+------+----------+------+----------+
VER: 子协议版本号 (0x01)
ULEN: 用户名长度 (19)
UNAME: 用户名 (19 字节)
HLEN: HMAC 长度 (0x20 = 32)
HMAC: HMAC-SHA256 签名 (32 字节)
Type 0x82 认证请求包结构:
+-----+------+----------+------+----------+----------+
VER | ULEN | UNAME | HLEN | HMAC | FIXDATA
+-----+------+----------+------+----------+----------+
1 | 1 |
...查看全文