diff --git a/db/ConfigBuilder.cpp b/db/ConfigBuilder.cpp index a2882de17..4dd2a8d09 100644 --- a/db/ConfigBuilder.cpp +++ b/db/ConfigBuilder.cpp @@ -603,7 +603,7 @@ namespace NekoRay { status->result->outboundStats += ent->traffic_data; // mux common - auto needMux = ent->type == "vmess" || ent->type == "trojan" || ent->type == "vless"; + auto needMux = ent->type == "vmess" || ent->type == "trojan" || ent->type == "vless" || ent->type == "shadowsocks"; needMux &= !dataStore->mux_protocol.isEmpty() && dataStore->mux_concurrency > 0; if (stream != nullptr) { @@ -618,6 +618,12 @@ namespace NekoRay { } } + if (ent->type == "shadowsocks") { + if (!IS_NEKO_BOX || outbound["udp_over_tcp"] == true || !outbound["plugin"].isNull()) { + needMux = false; + } + } + // common if (IS_NEKO_BOX) { // apply domain_strategy