Fix some Shadowsocks nodes are missing in Loon configurations.
Fix Quantumult X nodes not handling duplicated remarks.
Force expand all local rules instead of generating /getruleset urls for generator mode.
This commit is contained in:
Tindy X 2020-02-23 21:26:28 +08:00
parent fa06e8def9
commit 782caaf082
No known key found for this signature in database
GPG Key ID: C6AD413169968D58
2 changed files with 6 additions and 3 deletions

View File

@ -1571,7 +1571,7 @@ std::string surgeConfToClash(RESPONSE_CALLBACK_ARGS)
std::string getProfile(RESPONSE_CALLBACK_ARGS)
{
std::string name = UrlDecode(getUrlArg(argument, "name")), token = UrlDecode(getUrlArg(argument, "token"));
std::string name = UrlDecode(getUrlArg(argument, "name")), token = UrlDecode(getUrlArg(argument, "token")), expand = getUrlArg(argument, "expand");
if(token != access_token)
{
*status_code = 403;
@ -1600,6 +1600,7 @@ std::string getProfile(RESPONSE_CALLBACK_ARGS)
return "Broken profile!";
}
contents.emplace("token", token);
contents.emplace("expand", expand);
std::string query;
for(auto &x : contents)
{
@ -1732,11 +1733,12 @@ void simpleGenerator()
if(ini.ItemExist("profile"))
{
profile = ini.Get("profile");
content = getProfile("name=" + UrlEncode(profile) + "&token=" + access_token, dummy_str, &ret_code, dummy_map);
content = getProfile("name=" + UrlEncode(profile) + "&token=" + access_token + "&expand=true", dummy_str, &ret_code, dummy_map);
}
else
{
ini.GetItems(allItems);
allItems.emplace("expand", "true");
for(auto &y : allItems)
{
if(y.first == "path")

View File

@ -1702,6 +1702,7 @@ void netchToQuanX(std::vector<nodeInfo> &nodes, INIReader &ini, std::vector<rule
proxyStr += ", udp-relay=true";
proxyStr += ", tag=" + remark;
remarks_list.push_back(remark);
ini.Set("{NONAME}", proxyStr);
nodelist.emplace_back(x);
}
@ -2226,7 +2227,7 @@ std::string netchToLoon(std::vector<nodeInfo> &nodes, std::string &base_conf, st
if(pluginopts.size())
proxy += "," + replace_all_distinct(replace_all_distinct(pluginopts, ";obfs-host=", ","), "obfs=", "");
}
else
else if(plugin.size())
continue;
break;
case SPEEDTEST_MESSAGE_FOUNDVMESS: