mirror of
https://github.com/Mahdi-zarei/nekoray.git
synced 2025-12-19 05:30:06 +08:00
feat: auto-mapping old rule-set name
This commit is contained in:
parent
83df3706b8
commit
ee2e5c4e87
@ -753,12 +753,12 @@ namespace Configs {
|
||||
};
|
||||
}
|
||||
else
|
||||
if(ruleSetMap.count(QUrl(item).fileName().toStdString()) > 0) {
|
||||
if(ruleSetMap.count(item.toStdString()) > 0) {
|
||||
ruleSetArray += QJsonObject{
|
||||
{"type", "remote"},
|
||||
{"tag", item},
|
||||
{"format", "binary"},
|
||||
{"url", get_jsdelivr_link(QString::fromStdString(ruleSetMap.at(QUrl(item).fileName().toStdString())))},
|
||||
{"url", get_jsdelivr_link(QString::fromStdString(ruleSetMap.at(item.toStdString())))},
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ namespace Configs {
|
||||
return false;
|
||||
}
|
||||
|
||||
RouteRule::RouteRule() {
|
||||
RouteRule::RouteRule() {
|
||||
_add(new configItem("name", &name, itemType::string));
|
||||
_add(new configItem("ip_version", &ip_version, itemType::string));
|
||||
_add(new configItem("network", &network, itemType::string));
|
||||
@ -601,6 +601,20 @@ namespace Configs {
|
||||
}
|
||||
|
||||
std::shared_ptr<QStringList> RoutingChain::get_used_rule_sets() {
|
||||
|
||||
// will be removed on November 1st, 2025
|
||||
for (auto ruleItem = Rules.begin(); ruleItem != Rules.end(); ++ruleItem) {
|
||||
for (auto ruleSetItem = (*ruleItem)->rule_set.begin(); ruleSetItem != (*ruleItem)->rule_set.end(); ++ruleSetItem) {
|
||||
if ((*ruleSetItem).endsWith("_IP")) {
|
||||
*ruleSetItem = "geoip-" + (*ruleSetItem).left((*ruleSetItem).length() - 3);
|
||||
}
|
||||
if ((*ruleSetItem).endsWith("_SITE")) {
|
||||
*ruleSetItem = "geosite-" + (*ruleSetItem).left((*ruleSetItem).length() - 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
Save();
|
||||
|
||||
auto res = std::make_shared<QStringList>();
|
||||
for (const auto& item: Rules) {
|
||||
for (const auto& ruleItem: item->rule_set) {
|
||||
@ -615,7 +629,7 @@ namespace Configs {
|
||||
for (const auto& item: Rules) {
|
||||
if (item->outboundID == -2) {
|
||||
for (const auto& rset: item->rule_set) {
|
||||
if (rset.endsWith("_SITE")) res << QString("ruleset:" + rset);
|
||||
if (rset.startsWith("geosite-")) res << QString("ruleset:" + rset);
|
||||
}
|
||||
for (const auto& domain: item->domain) {
|
||||
res << QString("domain:" + domain);
|
||||
@ -640,7 +654,7 @@ namespace Configs {
|
||||
for (const auto& item: Rules) {
|
||||
if (item->outboundID == -2) {
|
||||
for (const auto& rset: item->rule_set) {
|
||||
if (rset.endsWith("_IP")) res << QString("ruleset:" + rset);
|
||||
if (rset.startsWith("geoip-")) res << QString("ruleset:" + rset);
|
||||
}
|
||||
for (const auto& domain: item->ip_cidr) {
|
||||
res << QString("ip:" + domain);
|
||||
|
||||
@ -442,9 +442,9 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
|
||||
}
|
||||
else
|
||||
err = resp.error;
|
||||
QThread::sleep(2);
|
||||
QThread::sleep(30);
|
||||
}
|
||||
MW_show_log(QObject::tr("Requesting rule-set error: %1").arg(err));
|
||||
MW_show_log(QObject::tr("Requesting rule-set list error: %1").arg(err));
|
||||
};
|
||||
runOnNewThread(getRuleSet);
|
||||
|
||||
|
||||
@ -65,7 +65,7 @@ RouteItem::RouteItem(QWidget *parent, const std::shared_ptr<Configs::RoutingChai
|
||||
|
||||
// setup rule set helper
|
||||
for (const auto& item : ruleSetMap) {
|
||||
geo_items.append("ruleset:" + QString::fromStdString(item.first));
|
||||
geo_items.append(QString::fromStdString(item.first));
|
||||
}
|
||||
rule_set_editor = new AutoCompleteTextEdit("", geo_items, this);
|
||||
ui->rule_attr_data->layout()->addWidget(rule_set_editor);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user