sing-box server accepts non-padded connections
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 38.1k
- Forks
- 4.6k
- Avg merge
- 19d 15h
- Merged PRs (30d)
- 1
Description
Operating system
Linux
System version
Debian 12
Installation type
Original sing-box Command Line
If you are using a graphical client, please provide the version of the client.
—
Version
sing-box version 1.9.3
Environment: go1.22.3 linux/amd64
Tags: with_gvisor,with_quic,with_dhcp,with_wireguard,with_ech,with_utls,with_reality_server,with_acme,with_clash_api
Revision: 085f60337799afc906069b540a38368968c123e4
CGO: disabled
Description
I noticed that sing-box accepts non-padded connections from XRay-based client v2rayNG, while the documentation says that it should reject any non-padded connections. If a non-padded connection comes from a sing-box based client the server rejects it as expected.
Yes, I understand that sing-box is not meant to be used with XRay-based clients, but this may potentially cause problems with some users who may try to use these clients without understanding.
Reproduction
I started sing-box with such server configuration file (multiplex and padding are enabled):
{
"log": {
"level": "trace",
"output": "box.log",
"timestamp": true
},
"dns": {
"servers": [
{
"tag": "dns-remote",
"address": "tls://1.1.1.1"
},
{
"tag": "dns-block",
"address": "rcode://success"
}
],
"rules": [
{
"rule_set": [
"category-ads-all"
],
"server": "dns-block"
},
{
"outbound": "any",
"server": "dns-remote"
}
]
},
"inbounds": [
{
"type": "trojan",
"tag": "trojan-ws-in",
"listen": "::",
"listen_port": 443,
"sniff": true,
"users": [
{
"name": "me",
"password": "4208da8b-03c7-4303-b3f7-bc6db5fcd3d9"
}
],
"tls": {
"enabled": true,
"server_name": "domain.space",
"certificate_path": "/etc/letsencrypt/live/domain.space/fullchain.pem",
"key_path": "/etc/letsencrypt/live/domain.space/privkey.pem"
},
"transport": {
"type": "ws",
"path": "/14e2d67c-3596-4cb4-85d6-3cd7652f9813"
},
"multiplex": {
"enabled": true,
"padding": true
}
}
],
"outbounds": [
{
"type": "direct",
"tag": "direct"
},
{
"type": "dns",
"tag": "dns-out"
},
{
"type": "block",
"tag": "block"
},
{
"type": "direct",
"tag": "IPv4",
"domain_strategy": "ipv4_only"
},
{
"type": "socks",
"tag": "warp",
"server": "127.0.0.1",
"server_port": 40000
}
],
"route": {
"rules": [
{
"protocol": "dns",
"outbound": "dns-out"
},
{
"rule_set": [
"category-ads-all"
],
"protocol": "quic",
"outbound": "block"
},
{
"rule_set": [
"google"
],
"outbound": "IPv4"
},
{
"rule_set": [
"geoip-ru",
"gov-ru"
],
"domain_suffix": [
".ru",
".su",
".ru.com",
".ru.net",
"rutracker.org",
"habr.com",
"ntc.party"
],
"domain_keyword": [
"xn--"
],
"outbound": "warp"
}
],
"rule_set": [
{
"tag": "geoip-ru",
"type": "remote",
"format": "binary",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geoip/rule-set/geoip-ru.srs"
},
{
"tag": "gov-ru",
"type": "remote",
"format": "binary",
"url": "https://github.com/SagerNet/sing-geosite/raw/rule-set/geosite-category-gov-ru.srs"
},
{
"tag": "google",
"type": "remote",
"format": "binary",
"url": "https://github.com/SagerNet/sing-geosite/raw/rule-set/geosite-google.srs"
},
{
"tag": "category-ads-all",
"type": "remote",
"format": "binary",
"url": "https://github.com/SagerNet/sing-geosite/raw/rule-set/geosite-category-ads-all.srs"
}
]
},
"experimental": {
"cache_file": {
"enabled": true,
"path": "cache.db"
}
}
}
Then I tried to connect to the server with v2rayNG:
trojan://4208da8b-03c7-4303-b3f7-bc6db5fcd3d9@domain.space:443?path=%2F14e2d67c-3596-4cb4-85d6-3cd7652f9813&security=tls&alpn=h2&fp=randomized&type=ws&sni=domain.space#test
And it worked.
Logs
Here are the logs of the server while connected with v2rayNG:
+0200 2024-07-28 12:38:16 INFO router: updated default interface ens3, index 2
+0200 2024-07-28 12:38:16 INFO inbound/trojan[trojan-ws-in]: tcp server started at [::]:443
+0200 2024-07-28 12:38:16 INFO sing-box started (0.22s)
+0200 2024-07-28 12:38:33 INFO [3117826606 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:40334
+0200 2024-07-28 12:38:33 INFO [2169309485 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:32903
+0200 2024-07-28 12:38:33 INFO [3117826606 87ms] inbound/trojan[trojan-ws-in]: [me] inbound connection to www.gstatic.com:443
+0200 2024-07-28 12:38:33 DEBUG [3117826606 87ms] router: sniffed protocol: tls, domain: www.gstatic.com
+0200 2024-07-28 12:38:33 DEBUG [3117826606 87ms] router: match[2] rule_set=google => IPv4
+0200 2024-07-28 12:38:33 INFO [3117826606 87ms] outbound/direct[IPv4]: outbound connection to www.gstatic.com:443
+0200 2024-07-28 12:38:33 DEBUG [3117826606 87ms] dns: lookup domain www.gstatic.com
+0200 2024-07-28 12:38:33 DEBUG [3117826606 87ms] dns: match[1] outbound=any => dns-remote
+0200 2024-07-28 12:38:33 INFO outbound/direct[direct]: outbound connection to 1.1.1.1:853
+0200 2024-07-28 12:38:33 INFO [2169309485 69ms] inbound/trojan[trojan-ws-in]: [me] inbound packet connection to 1.1.1.1:53
+0200 2024-07-28 12:38:33 DEBUG [2169309485 69ms] router: sniffed packet protocol: dns
+0200 2024-07-28 12:38:33 DEBUG [2169309485 69ms] router: match[0] protocol=dns => dns-out
+0200 2024-07-28 12:38:33 DEBUG dns: exchange mqtt-mini.facebook.com. IN A
+0200 2024-07-28 12:38:33 DEBUG [3117826606 140ms] dns: exchanged www.gstatic.com NOERROR 149
+0200 2024-07-28 12:38:33 DEBUG [3117826606 140ms] dns: exchanged www.gstatic.com A www.gstatic.com. 149 IN A 142.250.74.99
+0200 2024-07-28 12:38:33 DEBUG [3117826606 140ms] dns: lookup succeed for www.gstatic.com: 142.250.74.99
+0200 2024-07-28 12:38:33 DEBUG dns: exchanged mqtt-mini.facebook.com NOERROR 57
+0200 2024-07-28 12:38:33 INFO dns: exchanged mqtt-mini.facebook.com CNAME mqtt-mini.facebook.com. 57 IN CNAME mqtt-mini.c10r.facebook.com.
+0200 2024-07-28 12:38:33 INFO dns: exchanged mqtt-mini.facebook.com A mqtt-mini.c10r.facebook.com. 57 IN A 31.13.72.34
+0200 2024-07-28 12:38:33 ERROR [3117826606 349ms] inbound/trojan[trojan-ws-in]: process connection from 188.170.83.12:40334: upload: tls: protocol is shutdown
+0200 2024-07-28 12:38:34 INFO [1251131786 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:44875
+0200 2024-07-28 12:38:34 INFO [1251131786 92ms] inbound/trojan[trojan-ws-in]: [me] inbound connection to mqtt-mini.facebook.com:443
+0200 2024-07-28 12:38:34 DEBUG [1251131786 93ms] router: sniffed protocol: tls, domain: mqtt-mini.facebook.com
+0200 2024-07-28 12:38:34 INFO [1251131786 93ms] outbound/direct[direct]: outbound connection to mqtt-mini.facebook.com:443
+0200 2024-07-28 12:38:34 INFO [3599867110 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:58338
+0200 2024-07-28 12:38:34 INFO [3599867110 78ms] inbound/trojan[trojan-ws-in]: [me] inbound connection to www.gstatic.com:443
+0200 2024-07-28 12:38:34 DEBUG [3599867110 78ms] router: sniffed protocol: tls, domain: www.gstatic.com
+0200 2024-07-28 12:38:34 DEBUG [3599867110 78ms] router: match[2] rule_set=google => IPv4
+0200 2024-07-28 12:38:34 INFO [3599867110 78ms] outbound/direct[IPv4]: outbound connection to www.gstatic.com:443
+0200 2024-07-28 12:38:34 ERROR [3599867110 298ms] inbound/trojan[trojan-ws-in]: process connection from 188.170.83.12:58338: upload: tls: protocol is shutdown
+0200 2024-07-28 12:38:36 INFO [946664214 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:62062
+0200 2024-07-28 12:38:36 INFO [2695741017 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:21774
+0200 2024-07-28 12:38:36 INFO [175724227 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:20471
+0200 2024-07-28 12:38:36 INFO [1354859457 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:44460
+0200 2024-07-28 12:38:36 INFO [473977662 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:54694
+0200 2024-07-28 12:38:36 INFO [2542427109 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:11939
+0200 2024-07-28 12:38:36 INFO [3080258261 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:45120
+0200 2024-07-28 12:38:36 INFO [2548579595 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:36649
+0200 2024-07-28 12:38:36 INFO [2933143377 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:44650
+0200 2024-07-28 12:38:36 INFO [946664214 92ms] inbound/trojan[trojan-ws-in]: [me] inbound connection to snaptu-z.facebook.com:443
+0200 2024-07-28 12:38:36 DEBUG [946664214 92ms] router: sniffed protocol: tls, domain: snaptu-z.facebook.com
+0200 2024-07-28 12:38:36 INFO [946664214 92ms] outbound/direct[direct]: outbound connection to snaptu-z.facebook.com:443
+0200 2024-07-28 12:38:36 DEBUG [946664214 92ms] dns: lookup domain snaptu-z.facebook.com
+0200 2024-07-28 12:38:36 DEBUG [946664214 92ms] dns: match[1] outbound=any => dns-remote
+0200 2024-07-28 12:38:36 INFO [175724227 70ms] inbound/trojan[trojan-ws-in]: [me] inbound packet connection to 1.1.1.1:53
+0200 2024-07-28 12:38:36 DEBUG [175724227 70ms] router: sniffed packet protocol: dns
+0200 2024-07-28 12:38:36 DEBUG [175724227 70ms] router: match[0] protocol=dns => dns-out
+0200 2024-07-28 12:38:36 DEBUG dns: exchange snaptu-z.facebook.com. IN A
+0200 2024-07-28 12:38:36 INFO [1354859457 73ms] inbound/trojan[trojan-ws-in]: [me] inbound packet connection to 1.1.1.1:53
+0200 2024-07-28 12:38:36 DEBUG [1354859457 73ms] router: sniffed packet protocol: dns
+0200 2024-07-28 12:38:36 DEBUG [1354859457 73ms] router: match[0] protocol=dns => dns-out
+0200 2024-07-28 12:38:36 DEBUG dns: exchange scontent-arn2-1.xx.fbcdn.net. IN A
+0200 2024-07-28 12:38:36 DEBUG dns: exchanged snaptu-z.facebook.com NOERROR 15
+0200 2024-07-28 12:38:36 INFO dns: exchanged snaptu-z.facebook.com CNAME snaptu-z.facebook.com. 15 IN CNAME fblite-mini.c10r.facebook.com.
+0200 2024-07-28 12:38:36 INFO dns: exchanged snaptu-z.facebook.com A fblite-mini.c10r.facebook.com. 15 IN A 31.13.72.38
+0200 2024-07-28 12:38:36 INFO [2695741017 78ms] inbound/trojan[trojan-ws-in]: [me] inbound connection to snaptu-z.facebook.com:443
+0200 2024-07-28 12:38:36 DEBUG [2695741017 78ms] router: sniffed protocol: tls, domain: snaptu-z.facebook.com
+0200 2024-07-28 12:38:36 INFO [2695741017 78ms] outbound/direct[direct]: outbound connection to snaptu-z.facebook.com:443
+0200 2024-07-28 12:38:36 DEBUG dns: exchanged snaptu-z.facebook.com NOERROR 58
+0200 2024-07-28 12:38:36 INFO dns: exchanged snaptu-z.facebook.com CNAME snaptu-z.facebook.com. 58 IN CNAME fblite-mini.c10r.facebook.com.
+0200 2024-07-28 12:38:36 INFO dns: exchanged snaptu-z.facebook.com AAAA fblite-mini.c10r.facebook.com. 58 IN AAAA 2a03:2880:f10a:86:face:b00c:0:2d16
+0200 2024-07-28 12:38:36 DEBUG [946664214 103ms] dns: lookup succeed for snaptu-z.facebook.com: 31.13.72.38 2a03:2880:f10a:86:face:b00c:0:2d16
+0200 2024-07-28 12:38:36 DEBUG dns: exchanged snaptu-z.facebook.com NOERROR 15
+0200 2024-07-28 12:38:36 INFO dns: exchanged snaptu-z.facebook.com CNAME snaptu-z.facebook.com. 15 IN CNAME fblite-mini.c10r.facebook.com.
+0200 2024-07-28 12:38:36 INFO dns: exchanged snaptu-z.facebook.com A fblite-mini.c10r.facebook.com. 15 IN A 31.13.72.38
+0200 2024-07-28 12:38:36 DEBUG dns: exchanged scontent-arn2-1.xx.fbcdn.net NOERROR 3515
+0200 2024-07-28 12:38:36 INFO dns: exchanged scontent-arn2-1.xx.fbcdn.net A scontent-arn2-1.xx.fbcdn.net. 3515 IN A 31.13.72.12
+0200 2024-07-28 12:38:36 DEBUG [2695741017 95ms] inbound/trojan[trojan-ws-in]: connection closed: process connection from 188.170.83.12:21774: upload: read tcp 217.196.107.226:443->188.170.83.12:21774: use of closed network connection | download: raw read: connection reset by peer
+0200 2024-07-28 12:38:36 INFO [473977662 102ms] inbound/trojan[trojan-ws-in]: [me] inbound packet connection to 1.1.1.1:53
+0200 2024-07-28 12:38:36 DEBUG [473977662 102ms] router: sniffed packet protocol: dns
+0200 2024-07-28 12:38:36 DEBUG [473977662 102ms] router: match[0] protocol=dns => dns-out
+0200 2024-07-28 12:38:36 DEBUG dns: exchange graph.facebook.com. IN A
+0200 2024-07-28 12:38:36 DEBUG dns: exchanged graph.facebook.com NOERROR 60
+0200 2024-07-28 12:38:36 INFO dns: exchanged graph.facebook.com CNAME graph.facebook.com. 60 IN CNAME star.c10r.facebook.com.
+0200 2024-07-28 12:38:36 INFO dns: exchanged graph.facebook.com A star.c10r.facebook.com. 60 IN A 31.13.72.8
+0200 2024-07-28 12:38:36 INFO [2542427109 73ms] inbound/trojan[trojan-ws-in]: [me] inbound connection to scontent-arn2-1.xx.fbcdn.net:443
+0200 2024-07-28 12:38:36 DEBUG [2542427109 73ms] router: sniffed protocol: tls, domain: scontent-arn2-1.xx.fbcdn.net
+0200 2024-07-28 12:38:36 INFO [2542427109 73ms] outbound/direct[direct]: outbound connection to scontent-arn2-1.xx.fbcdn.net:443
+0200 2024-07-28 12:38:36 INFO [2933143377 72ms] inbound/trojan[trojan-ws-in]: [me] inbound connection to graph.facebook.com:443
+0200 2024-07-28 12:38:36 DEBUG [2933143377 73ms] router: sniffed protocol: tls, domain: graph.facebook.com
+0200 2024-07-28 12:38:36 INFO [2933143377 73ms] outbound/direct[direct]: outbound connection to graph.facebook.com:443
+0200 2024-07-28 12:38:36 INFO [2548579595 74ms] inbound/trojan[trojan-ws-in]: [me] inbound connection to scontent-arn2-1.xx.fbcdn.net:443
+0200 2024-07-28 12:38:36 DEBUG [2548579595 74ms] router: sniffed protocol: tls, domain: scontent-arn2-1.xx.fbcdn.net
+0200 2024-07-28 12:38:36 INFO [2548579595 74ms] outbound/direct[direct]: outbound connection to scontent-arn2-1.xx.fbcdn.net:443
+0200 2024-07-28 12:38:36 INFO [3080258261 80ms] inbound/trojan[trojan-ws-in]: [me] inbound connection to graph.facebook.com:443
+0200 2024-07-28 12:38:36 DEBUG [3080258261 80ms] router: sniffed protocol: tls, domain: graph.facebook.com
+0200 2024-07-28 12:38:36 INFO [3080258261 80ms] outbound/direct[direct]: outbound connection to graph.facebook.com:443
+0200 2024-07-28 12:38:38 INFO [2678984231 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:54356
+0200 2024-07-28 12:38:38 INFO [1226392480 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:32246
+0200 2024-07-28 12:38:38 INFO [2617920844 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:38035
+0200 2024-07-28 12:38:38 INFO [3004272174 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:48609
+0200 2024-07-28 12:38:39 INFO [2678984231 91ms] inbound/trojan[trojan-ws-in]: [me] inbound packet connection to 31.13.72.12:443
+0200 2024-07-28 12:38:39 DEBUG [2678984231 92ms] router: sniffed packet protocol: quic, domain: scontent-arn2-1.xx.fbcdn.net
+0200 2024-07-28 12:38:39 INFO [2678984231 92ms] outbound/direct[direct]: outbound packet connection
+0200 2024-07-28 12:38:39 INFO [1226392480 72ms] inbound/trojan[trojan-ws-in]: [me] inbound connection to scontent-arn2-1.xx.fbcdn.net:443
+0200 2024-07-28 12:38:39 DEBUG [1226392480 72ms] router: sniffed protocol: tls, domain: scontent-arn2-1.xx.fbcdn.net
+0200 2024-07-28 12:38:39 INFO [1226392480 72ms] outbound/direct[direct]: outbound connection to scontent-arn2-1.xx.fbcdn.net:443
+0200 2024-07-28 12:38:39 INFO [2617920844 72ms] inbound/trojan[trojan-ws-in]: [me] inbound packet connection to 157.240.205.1:443
+0200 2024-07-28 12:38:39 DEBUG [2617920844 72ms] router: sniffed packet protocol: quic, domain: graph.facebook.com
+0200 2024-07-28 12:38:39 INFO [2617920844 72ms] outbound/direct[direct]: outbound packet connection
+0200 2024-07-28 12:38:39 INFO [3004272174 113ms] inbound/trojan[trojan-ws-in]: [me] inbound connection to graph.facebook.com:443
+0200 2024-07-28 12:38:39 DEBUG [3004272174 113ms] router: sniffed protocol: tls, domain: graph.facebook.com
+0200 2024-07-28 12:38:39 INFO [3004272174 113ms] outbound/direct[direct]: outbound connection to graph.facebook.com:443
+0200 2024-07-28 12:38:39 INFO [1378166742 0ms] inbound/trojan[trojan-ws-in]: inbound connection from 188.170.83.12:34184
+0200 2024-07-28 12:38:39 INFO [1378166742 78ms] inbound/trojan[trojan-ws-in]: [me] inbound connection to graph.facebook.com:443
+0200 2024-07-28 12:38:39 DEBUG [1378166742 78ms] router: sniffed protocol: tls, domain: graph.facebook.com
+0200 2024-07-28 12:38:39 INFO [1378166742 78ms] outbound/direct[direct]: outbound connection to graph.facebook.com:443
+0200 2024-07-28 12:38:39 DEBUG [946664214 3.53s] inbound/trojan[trojan-ws-in]: connection closed: process connection from 188.170.83.12:62062: download: raw-read tcp 217.196.107.226:49158->31.13.72.38:443: use of closed network connection | upload: ws closed: 1000
+0200 2024-07-28 12:38:40 DEBUG [1226392480 1.19s] inbound/trojan[trojan-ws-in]: connection closed: process connection from 188.170.83.12:32246: download: raw-read tcp 217.196.107.226:54008->31.13.72.12:443: use of closed network connection | upload: ws closed: 1000
+0200 2024-07-28 12:38:40 DEBUG [3004272174 1.21s] inbound/trojan[trojan-ws-in]: connection closed: process connection from 188.170.83.12:48609: download: raw-read tcp 217.196.107.226:39122->31.13.72.8:443: use of closed network connection | upload: ws closed: 1000
+0200 2024-07-28 12:38:40 DEBUG [2933143377 4.28s] inbound/trojan[trojan-ws-in]: connection closed: process connection from 188.170.83.12:44650: download: raw-read tcp 217.196.107.226:39096->31.13.72.8:443: use of closed network connection | upload: ws closed: 1000
+0200 2024-07-28 12:38:40 DEBUG [2548579595 4.29s] inbound/trojan[trojan-ws-in]: connection closed: process connection from 188.170.83.12:36649: download: raw-read tcp 217.196.107.226:54002->31.13.72.12:443: use of closed network connection | upload: ws closed: 1000
+0200 2024-07-28 12:38:40 DEBUG [2542427109 4.30s] inbound/trojan[trojan-ws-in]: connection closed: process connection from 188.170.83.12:11939: download: raw-read tcp 217.196.107.226:53988->31.13.72.12:443: use of closed network connection | upload: ws closed: 1000
+0200 2024-07-28 12:38:40 DEBUG [3080258261 4.30s] inbound/trojan[trojan-ws-in]: connection closed: process connection from 188.170.83.12:45120: download: raw-read tcp 217.196.107.226:39112->31.13.72.8:443: use of closed network connection | upload: ws closed: 1000
+0200 2024-07-28 12:38:41 DEBUG [1378166742 2.28s] inbound/trojan[trojan-ws-in]: connection closed: process connection from 188.170.83.12:34184: download: raw-read tcp 217.196.107.226:39136->31.13.72.8:443: use of closed network connection | upload: ws closed: 1000
+0200 2024-07-28 12:38:41 DEBUG [1251131786 7.69s] inbound/trojan[trojan-ws-in]: connection closed: process connection from 188.170.83.12:44875: download: raw-read tcp 217.196.107.226:41872->31.13.72.34:443: use of closed network connection | upload: ws closed: 1000
+0200 2024-07-28 12:38:43 DEBUG [2169309485 10.11s] inbound/trojan[trojan-ws-in]: connection closed: process connection from 188.170.83.12:32903: read destination: read tcp 217.196.107.226:443->188.170.83.12:32903: use of closed network connection | upstream: context canceled
Supporter
- I am a sponsor
Integrity requirements
- I confirm that I have read the documentation, understand the meaning of all the configuration items I wrote, and did not pile up seemingly useful options or default values.
- I confirm that I have provided the server and client configuration files and process that can be reproduced locally, instead of a complicated client configuration file that has been stripped of sensitive data.
- I confirm that I have provided the simplest configuration that can be used to reproduce the error I reported, instead of depending on remote servers, TUN, graphical interface clients, or other closed-source software.
- I confirm that I have provided the complete configuration files and logs, rather than just providing parts I think are useful out of confidence in my own intelligence.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the reported setup with the trojan inbound, WebSocket transport, and multiplex padding enabled, then compare the v2rayNG connection with a sing-box client while reviewing the trace logs. Done means the server consistently rejects the non-padded v2rayNG connection as the documentation describes, without breaking padded connections.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100