Finalmask UDP: Support WireGuard & Shadowsocks AEAD/2022#5643
Finalmask UDP: Support WireGuard & Shadowsocks AEAD/2022#5643
Conversation
|
这样不会和之前KCP里面套的那层mask重叠吗 |
|
不会,这是原生 udp 传输层的 dialer,kcp 是传输层有自己的 dialer,不过监听部分是共享的 |
|
配置示例改成 Salamander |
这个你测试过能用吗 |
|
|
|
嗯,还是没问题,任一一方去掉 finalmask 都会连不上 但是发现个新的问题,目前这种套法无法与 sockopt.dialerProxy 共存,不过又伪装又 dialerProxy 也会失去伪装的意义,但是别人来 dialerProxy 它是可以的 |
|
|
UDP dialer 那个 stat.Connection(conn) 删掉了会不会有问题 |
|
|
|
|
这倒不会, 看了下 raw 的 http header 在有 reality 的时候是跑在 reality 内层, |
RAW 的那个 HTTP header 就先别动了吧,机场用得比较多 |
研究了一下搞懂了 wireguard 的配置,peer 原来填的是对端的 publickey,不过似乎解码有点问题导致只能用 hex string然后看了一天 wireguard fullcone 决定不看了,有点看不懂让 wireguard ss/2022 udp 出入套上 mask
wireguard 示例
{ "log": { "loglevel": "debug" }, "inbounds": [ { "listen": "127.0.0.1", "port": 1080, "protocol": "socks", "settings": { "auth": "noauth", "udp": true } } ], "outbounds": [ { "protocol": "wireguard", "settings": { "secretKey": "e033637bda4eeaed6b5ccf99da283e1003daece5ced305e8b06aa163f0320479", "address": ["10.1.1.1", "fd59:7153:2388:b5fd:0000:0000:1234:0001"], "peers": [ { "publicKey": "bacc8f85656bc591995fa5c0fb5e8f23a75671f4b46851fbb53da1e859ac0331", "endpoint": "127.0.0.1:1081" } ], "noKernelTun": true }, "streamSettings": { "finalmask": { "udp": [ { "type": "salamander", "settings": { "password": "1234" } } ] } } } ] }{ "log": { "loglevel": "debug" }, "inbounds": [ { "tag": "wg-in", "listen": "127.0.0.1", "port": 1081, "protocol": "wireguard", "settings": { "secretKey": "4886d27320c3eda9a9de83a2eeb85b91d6feae92aa7ca030f0d7137c2354c643", "peers": [ { "publicKey": "cb5f25b2f3ea0040e4ddfac4ca09d52019d9f4be833db6916d7db226a9bae26c" } ] }, "streamSettings": { "finalmask": { "udp": [ { "type": "salamander", "settings": { "password": "1234" } } ] } } } ], "outbounds": [ { "protocol": "freedom" } ] }