Explorar o código

Use Proxy.Host as alternative tls.server_name in sing-box to support Trojan's sni (#777)

Co-authored-by: Spade Lushen <[email protected]>
SpadeLushen hai 1 ano
pai
achega
0c11565cc9
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      src/generator/config/subexport.cpp

+ 2 - 0
src/generator/config/subexport.cpp

@@ -2268,6 +2268,8 @@ void proxyToSingBox(std::vector<Proxy> &nodes, rapidjson::Document &json, std::v
             tls.AddMember("enabled", true, allocator);
             tls.AddMember("enabled", true, allocator);
             if (!x.ServerName.empty())
             if (!x.ServerName.empty())
                 tls.AddMember("server_name", rapidjson::StringRef(x.ServerName.c_str()), allocator);
                 tls.AddMember("server_name", rapidjson::StringRef(x.ServerName.c_str()), allocator);
+            else if (!x.Host.empty())
+                tls.AddMember("server_name", rapidjson::StringRef(x.Host.c_str()), allocator);
             tls.AddMember("insecure", buildBooleanValue(scv), allocator);
             tls.AddMember("insecure", buildBooleanValue(scv), allocator);
             proxy.AddMember("tls", tls, allocator);
             proxy.AddMember("tls", tls, allocator);
         }
         }