diff --git a/src/generator/config/subexport.cpp b/src/generator/config/subexport.cpp index 63e3d64..bb17bf6 100644 --- a/src/generator/config/subexport.cpp +++ b/src/generator/config/subexport.cpp @@ -1453,8 +1453,8 @@ void proxyToQuanX(std::vector &nodes, INIReader &ini, std::vector &nodes, const std::string &base_conf, if(ext.nodelist) return output_nodelist; + string_multimap original_groups; ini.set_current_section("Proxy Group"); + ini.get_items(original_groups); ini.erase_section(); + for(const ProxyGroupConfig &x : extra_proxy_group) { string_array filtered_nodelist; @@ -1920,6 +1923,21 @@ std::string proxyToLoon(std::vector &nodes, const std::string &base_conf, if(filtered_nodelist.empty()) filtered_nodelist.emplace_back("DIRECT"); + auto iter = std::find_if(original_groups.begin(), original_groups.end(), [&](const string_multimap::value_type &n) + { + return trim(n.first) == x.Name; + }); + + if(iter != original_groups.end()) + { + string_array vArray = split(iter->second, ","); + if(vArray.size() > 1) + { + if(trim(vArray[vArray.size() - 1]).find("img-url") == 0) + filtered_nodelist.emplace_back(trim(vArray[vArray.size() - 1])); + } + } + group = x.TypeStr() + ","; /* for(std::string &y : filtered_nodelist)