Fix inconsistent argument name in HTTP and Socks 5 single link.
Fix support for some non-standard ShadowsocksD subscription.
Fix include/exclude option in URL argument not overriding former settings.
Fix template system interpreting some comments in YAML files as line statement.
inja: re-implement variable accessing to catch exceptions on using not-exist variable and return an empty value.
Optimize codes.
This commit is contained in:
Tindy X committed 2020-04-06 14:07:16 +08:00
1 parent ccb525a579
commit 13187e2e08
5 files changed
+70 -31

No files matched your search

+21 -18
View File
@@ -1085,22 +1085,25 @@ std::string subconverter(RESPONSE_CALLBACK_ARGS)
//then load external configuration
ExternalConfig extconf;
loadExternalConfig(config, extconf);
if(extconf.clash_rule_base.size())
ext_clash_base = extconf.clash_rule_base;
if(extconf.surge_rule_base.size())
ext_surge_base = extconf.surge_rule_base;
if(extconf.surfboard_rule_base.size())
ext_surfboard_base = extconf.surfboard_rule_base;
if(extconf.mellow_rule_base.size())
ext_mellow_base = extconf.mellow_rule_base;
if(extconf.quan_rule_base.size())
ext_quan_base = extconf.quan_rule_base;
if(extconf.quanx_rule_base.size())
ext_quanx_base = extconf.quanx_rule_base;
if(extconf.loon_rule_base.size())
ext_loon_base = extconf.loon_rule_base;
if(extconf.sssub_rule_base.size())
ext_sssub_base = extconf.sssub_rule_base;
if(!ext.nodelist)
{
if(extconf.clash_rule_base.size())
ext_clash_base = extconf.clash_rule_base;
if(extconf.surge_rule_base.size())
ext_surge_base = extconf.surge_rule_base;
if(extconf.surfboard_rule_base.size())
ext_surfboard_base = extconf.surfboard_rule_base;
if(extconf.mellow_rule_base.size())
ext_mellow_base = extconf.mellow_rule_base;
if(extconf.quan_rule_base.size())
ext_quan_base = extconf.quan_rule_base;
if(extconf.quanx_rule_base.size())
ext_quanx_base = extconf.quanx_rule_base;
if(extconf.loon_rule_base.size())
ext_loon_base = extconf.loon_rule_base;
if(extconf.sssub_rule_base.size())
ext_sssub_base = extconf.sssub_rule_base;
}
if(extconf.rename.size())
ext.rename_array = extconf.rename;
if(extconf.emoji.size())
@@ -1179,9 +1182,9 @@ std::string subconverter(RESPONSE_CALLBACK_ARGS)
//check custom include/exclude settings
if(include.size() && regValid(include))
include_remarks.emplace_back(include);
include_remarks = string_array{include};
if(exclude.size() && regValid(exclude))
exclude_remarks.emplace_back(exclude);
exclude_remarks = string_array{exclude};
//start parsing urls
string_array stream_temp = safe_get_streams(), time_temp = safe_get_times();