From 458e0a0d6e2e41e728698edbd1058a31b8383f0d Mon Sep 17 00:00:00 2001 From: Tsung Wu Date: Fri, 12 Dec 2025 03:28:48 +0800 Subject: [PATCH] fix: vmess, trojan on loon --- scripts/Dockerfile | 2 +- src/generator/config/subexport.cpp | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/scripts/Dockerfile b/scripts/Dockerfile index b35bd73..d6b5552 100644 --- a/scripts/Dockerfile +++ b/scripts/Dockerfile @@ -37,7 +37,7 @@ RUN set -xe && \ cmake -DCMAKE_CXX_STANDARD=11 . && \ make install -j $THREADS && \ cd .. && \ - git clone https://github.com/asdlokj1qpi233/subconverter --depth=1 && \ + git clone https://github.com/ionull/subconverter --depth=1 && \ cd subconverter && \ [ -n "$SHA" ] && sed -i 's/\(v[0-9]\.[0-9]\.[0-9]\)/\1-'"$SHA"'/' src/version.h;\ python3 -m ensurepip && \ diff --git a/src/generator/config/subexport.cpp b/src/generator/config/subexport.cpp index 7f7a731..1ed6039 100644 --- a/src/generator/config/subexport.cpp +++ b/src/generator/config/subexport.cpp @@ -2243,6 +2243,10 @@ proxyToLoon(std::vector &nodes, const std::string &base_conf, proxy = "vmess," + hostname + "," + port + "," + method + ",\"" + id + "\",over-tls=" + (tlssecure ? "true" : "false"); + + if (!sni.empty()) + host = sni; + if (tlssecure) proxy += ",tls-name=" + host; switch (hash_(transproto)) { @@ -2306,6 +2310,16 @@ proxyToLoon(std::vector &nodes, const std::string &base_conf, proxy = "trojan," + hostname + "," + port + ",\"" + password + "\""; if (!host.empty()) proxy += ",tls-name=" + host; + switch (hash_(transproto)) { + case "tcp"_hash: + proxy += ",transport=tcp"; + break; + case "ws"_hash: + proxy += ",transport=ws,path=" + path + ",host=" + host; + break; + default: + continue; + } if (!scv.is_undef()) proxy += ",skip-cert-verify=" + std::string(scv.get() ? "true" : "false"); break;