diff --git a/src/configs/ConfigBuilder.cpp b/src/configs/ConfigBuilder.cpp index a989885..166913a 100644 --- a/src/configs/ConfigBuilder.cpp +++ b/src/configs/ConfigBuilder.cpp @@ -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())))}, }; } } diff --git a/src/dataStore/RouteEntity.cpp b/src/dataStore/RouteEntity.cpp index 18edffa..df7c2d3 100644 --- a/src/dataStore/RouteEntity.cpp +++ b/src/dataStore/RouteEntity.cpp @@ -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 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(); 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); diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index e4a087c..9833efb 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -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); diff --git a/src/ui/setting/RouteItem.cpp b/src/ui/setting/RouteItem.cpp index fca733d..eecbec3 100644 --- a/src/ui/setting/RouteItem.cpp +++ b/src/ui/setting/RouteItem.cpp @@ -65,7 +65,7 @@ RouteItem::RouteItem(QWidget *parent, const std::shared_ptrrule_attr_data->layout()->addWidget(rule_set_editor);