mirror of
https://github.com/asdlokj1qpi233/subconverter.git
synced 2026-11-04 10:42:04 +00:00
Add add_emoji/remove_old_emoji options to external config
This commit is contained in:
3 files changed
+26
-16
No files matched your search
@@ -49,6 +49,8 @@ clash_rule_base=base/forcerule.yml
|
|||||||
;rename=\(?((x|X)?(\d+)(\.?\d+)?)((\s?倍率?)|(x|X))\)?@$1x
|
;rename=\(?((x|X)?(\d+)(\.?\d+)?)((\s?倍率?)|(x|X))\)?@$1x
|
||||||
|
|
||||||
;Options for adding emojis
|
;Options for adding emojis
|
||||||
|
;add_emoji=true
|
||||||
|
;remove_old_emoji=true
|
||||||
;emoji=(流量|时间|应急),🏳️🌈
|
;emoji=(流量|时间|应急),🏳️🌈
|
||||||
;emoji=阿根廷,🇦🇷
|
;emoji=阿根廷,🇦🇷
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ custom:
|
|||||||
# rename_node:
|
# rename_node:
|
||||||
# - {import: snippet/rename.txt}
|
# - {import: snippet/rename.txt}
|
||||||
|
|
||||||
|
# add_emoji: true
|
||||||
|
# remove_old_emoji: true
|
||||||
# emojis:
|
# emojis:
|
||||||
# - {import: snippets/emoji.txt}
|
# - {import: snippets/emoji.txt}
|
||||||
|
|
||||||
|
|||||||
+22
-16
@@ -1096,6 +1096,8 @@ struct ExternalConfig
|
|||||||
template_args *tpl_args = NULL;
|
template_args *tpl_args = NULL;
|
||||||
bool overwrite_original_rules = false;
|
bool overwrite_original_rules = false;
|
||||||
bool enable_rule_generator = true;
|
bool enable_rule_generator = true;
|
||||||
|
tribool add_emoji;
|
||||||
|
tribool remove_old_emoji;
|
||||||
};
|
};
|
||||||
|
|
||||||
int loadExternalYAML(YAML::Node &node, ExternalConfig &ext)
|
int loadExternalYAML(YAML::Node &node, ExternalConfig &ext)
|
||||||
@@ -1135,6 +1137,8 @@ int loadExternalYAML(YAML::Node &node, ExternalConfig &ext)
|
|||||||
if(section["rename_node"].size())
|
if(section["rename_node"].size())
|
||||||
readRegexMatch(section["rename_node"], "@", ext.rename, api_mode);
|
readRegexMatch(section["rename_node"], "@", ext.rename, api_mode);
|
||||||
|
|
||||||
|
ext.add_emoji = safe_as<std::string>(section["add_emoji"]);
|
||||||
|
ext.remove_old_emoji = safe_as<std::string>(section["remove_old_emoji"]);
|
||||||
const char *emoji_name = section["emojis"].IsDefined() ? "emojis" : "emoji";
|
const char *emoji_name = section["emojis"].IsDefined() ? "emojis" : "emoji";
|
||||||
if(section[emoji_name].size())
|
if(section[emoji_name].size())
|
||||||
readEmoji(section[emoji_name], ext.emoji, api_mode);
|
readEmoji(section[emoji_name], ext.emoji, api_mode);
|
||||||
@@ -1219,6 +1223,8 @@ int loadExternalConfig(std::string &path, ExternalConfig &ext)
|
|||||||
ini.GetAll("rename", ext.rename);
|
ini.GetAll("rename", ext.rename);
|
||||||
importItems(ext.rename, api_mode);
|
importItems(ext.rename, api_mode);
|
||||||
}
|
}
|
||||||
|
ext.add_emoji = ini.Get("add_emoji");
|
||||||
|
ext.remove_old_emoji = ini.Get("remove_old_emoji");
|
||||||
if(ini.ItemPrefixExist("emoji"))
|
if(ini.ItemPrefixExist("emoji"))
|
||||||
{
|
{
|
||||||
ini.GetAll("emoji", ext.emoji);
|
ini.GetAll("emoji", ext.emoji);
|
||||||
@@ -1363,23 +1369,7 @@ std::string subconverter(RESPONSE_CALLBACK_ARGS)
|
|||||||
//check for proxy settings
|
//check for proxy settings
|
||||||
std::string proxy = parseProxy(proxy_subscription);
|
std::string proxy = parseProxy(proxy_subscription);
|
||||||
|
|
||||||
ext.emoji_array = safe_get_emojis();
|
|
||||||
if(ext_rename.size())
|
|
||||||
ext.rename_array = split(ext_rename, "`");
|
|
||||||
else
|
|
||||||
ext.rename_array = safe_get_renames();
|
|
||||||
|
|
||||||
//check other flags
|
//check other flags
|
||||||
if(!emoji.is_undef())
|
|
||||||
{
|
|
||||||
ext.add_emoji = emoji;
|
|
||||||
ext.remove_emoji = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ext.add_emoji = emoji_add.get(add_emoji);
|
|
||||||
ext.remove_emoji = emoji_remove.get(remove_old_emoji);
|
|
||||||
}
|
|
||||||
ext.append_proxy_type = append_type.get(append_proxy_type);
|
ext.append_proxy_type = append_type.get(append_proxy_type);
|
||||||
if((target == "clash" || target == "clashr") && clash_script.is_undef())
|
if((target == "clash" || target == "clashr") && clash_script.is_undef())
|
||||||
expand.define(true);
|
expand.define(true);
|
||||||
@@ -1450,6 +1440,8 @@ std::string subconverter(RESPONSE_CALLBACK_ARGS)
|
|||||||
include_remarks = extconf.include;
|
include_remarks = extconf.include;
|
||||||
if(extconf.exclude.size())
|
if(extconf.exclude.size())
|
||||||
exclude_remarks = extconf.exclude;
|
exclude_remarks = extconf.exclude;
|
||||||
|
emoji_add.define(extconf.add_emoji);
|
||||||
|
emoji_remove.define(extconf.remove_old_emoji);
|
||||||
}
|
}
|
||||||
if(extconf.surge_ruleset.size() && !ext.nodelist)
|
if(extconf.surge_ruleset.size() && !ext.nodelist)
|
||||||
{
|
{
|
||||||
@@ -1506,6 +1498,20 @@ std::string subconverter(RESPONSE_CALLBACK_ARGS)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!emoji.is_undef())
|
||||||
|
{
|
||||||
|
emoji_add.set(emoji);
|
||||||
|
emoji_remove.set(true);
|
||||||
|
}
|
||||||
|
ext.add_emoji = emoji_add.get(add_emoji);
|
||||||
|
ext.remove_emoji = emoji_remove.get(remove_old_emoji);
|
||||||
|
if(ext.add_emoji && ext.emoji_array.empty())
|
||||||
|
ext.emoji_array = safe_get_emojis();
|
||||||
|
if(ext_rename.size())
|
||||||
|
ext.rename_array = split(ext_rename, "`");
|
||||||
|
else
|
||||||
|
ext.rename_array = safe_get_renames();
|
||||||
|
|
||||||
//check custom include/exclude settings
|
//check custom include/exclude settings
|
||||||
if(include.size() && regValid(include))
|
if(include.size() && regValid(include))
|
||||||
include_remarks = string_array{include};
|
include_remarks = string_array{include};
|
||||||
|
|||||||
Reference in new issue
Block a user