From b9fb6b8d7d271a28d781c06d5e302f05039adcd8 Mon Sep 17 00:00:00 2001 From: Tindy X <49061470+tindy2013@users.noreply.github.com> Date: Thu, 19 Mar 2020 22:33:59 +0800 Subject: [PATCH] Enhancements Fix missing initializer option for /simple2clashr interface. Add support for Trojan nodes in Clash configurations. --- src/interfaces.cpp | 2 +- src/subexport.cpp | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/interfaces.cpp b/src/interfaces.cpp index a65cf63..706a57b 100644 --- a/src/interfaces.cpp +++ b/src/interfaces.cpp @@ -1446,7 +1446,7 @@ std::string simpleToClashR(RESPONSE_CALLBACK_ARGS) refreshRulesets(rulesets, ruleset_content_array); rca = ruleset_content_array; - extra_settings ext = {true, overwrite_original_rules, safe_get_renames(), safe_get_emojis(), add_emoji, remove_old_emoji, append_proxy_type, udp_flag, tfo_flag, false, do_sort, scv_flag, filter_deprecated, "", "", ""}; + extra_settings ext = {true, overwrite_original_rules, safe_get_renames(), safe_get_emojis(), add_emoji, remove_old_emoji, append_proxy_type, udp_flag, tfo_flag, false, do_sort, scv_flag, filter_deprecated, clash_use_new_field_name, "", "", ""}; std::string proxy; if(proxy_subscription == "SYSTEM") diff --git a/src/subexport.cpp b/src/subexport.cpp index 0b9e6d8..fd98567 100644 --- a/src/subexport.cpp +++ b/src/subexport.cpp @@ -849,6 +849,14 @@ void netchToClash(std::vector &nodes, YAML::Node &yamlnode, string_arr if(ext.skip_cert_verify) singleproxy["skip-cert-verify"] = true; break; + case SPEEDTEST_MESSAGE_FOUNDTROJAN: + singleproxy["type"] = "trojan"; + singleproxy["password"] = password; + if(std::all_of(password.begin(), password.end(), ::isdigit)) + singleproxy["password"].SetTag("str"); + if(ext.skip_cert_verify) + singleproxy["skip-cert-verify"] = true; + break; default: continue; }