mirror of
https://github.com/Mahdi-zarei/nekoray.git
synced 2025-12-23 10:00:10 +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
|
else
|
||||||
if(ruleSetMap.count(QUrl(item).fileName().toStdString()) > 0) {
|
if(ruleSetMap.count(item.toStdString()) > 0) {
|
||||||
ruleSetArray += QJsonObject{
|
ruleSetArray += QJsonObject{
|
||||||
{"type", "remote"},
|
{"type", "remote"},
|
||||||
{"tag", item},
|
{"tag", item},
|
||||||
{"format", "binary"},
|
{"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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
RouteRule::RouteRule() {
|
RouteRule::RouteRule() {
|
||||||
_add(new configItem("name", &name, itemType::string));
|
_add(new configItem("name", &name, itemType::string));
|
||||||
_add(new configItem("ip_version", &ip_version, itemType::string));
|
_add(new configItem("ip_version", &ip_version, itemType::string));
|
||||||
_add(new configItem("network", &network, itemType::string));
|
_add(new configItem("network", &network, itemType::string));
|
||||||
@ -601,6 +601,20 @@ namespace Configs {
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<QStringList> RoutingChain::get_used_rule_sets() {
|
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>();
|
auto res = std::make_shared<QStringList>();
|
||||||
for (const auto& item: Rules) {
|
for (const auto& item: Rules) {
|
||||||
for (const auto& ruleItem: item->rule_set) {
|
for (const auto& ruleItem: item->rule_set) {
|
||||||
@ -615,7 +629,7 @@ namespace Configs {
|
|||||||
for (const auto& item: Rules) {
|
for (const auto& item: Rules) {
|
||||||
if (item->outboundID == -2) {
|
if (item->outboundID == -2) {
|
||||||
for (const auto& rset: item->rule_set) {
|
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) {
|
for (const auto& domain: item->domain) {
|
||||||
res << QString("domain:" + domain);
|
res << QString("domain:" + domain);
|
||||||
@ -640,7 +654,7 @@ namespace Configs {
|
|||||||
for (const auto& item: Rules) {
|
for (const auto& item: Rules) {
|
||||||
if (item->outboundID == -2) {
|
if (item->outboundID == -2) {
|
||||||
for (const auto& rset: item->rule_set) {
|
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) {
|
for (const auto& domain: item->ip_cidr) {
|
||||||
res << QString("ip:" + domain);
|
res << QString("ip:" + domain);
|
||||||
|
|||||||
@ -442,9 +442,9 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
err = resp.error;
|
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);
|
runOnNewThread(getRuleSet);
|
||||||
|
|
||||||
|
|||||||
@ -65,7 +65,7 @@ RouteItem::RouteItem(QWidget *parent, const std::shared_ptr<Configs::RoutingChai
|
|||||||
|
|
||||||
// setup rule set helper
|
// setup rule set helper
|
||||||
for (const auto& item : ruleSetMap) {
|
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);
|
rule_set_editor = new AutoCompleteTextEdit("", geo_items, this);
|
||||||
ui->rule_attr_data->layout()->addWidget(rule_set_editor);
|
ui->rule_attr_data->layout()->addWidget(rule_set_editor);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user