diff --git a/src/web/components/SettingsPage.jsx b/src/web/components/SettingsPage.jsx index 563bee2..4623241 100644 --- a/src/web/components/SettingsPage.jsx +++ b/src/web/components/SettingsPage.jsx @@ -138,6 +138,7 @@ function RuleSetLookupModal({ tag, url, onClose }) { } // Каталог готовых rule-set источников для sing-box (.srs формат) +// Источники: SagerNet (официальные, используются как встроенные), runetfreedom (RKN-реестр) const RULE_SET_CATALOG = [ { tag: 'geosite-runet', @@ -146,97 +147,98 @@ const RULE_SET_CATALOG = [ category: 'RU', description: 'Заблокированные в РФ домены по реестру РКН. Обновляется автоматически из официальных источников.', examples: ['rutracker.org', 'youtube.com', 'instagram.com', 'facebook.com', 'twitter.com'], - use: 'direct или vpn — зависит от цели. direct — обход блокировок с российского IP.', + use: 'vpn — маршрутизировать заблокированные домены через VPN.', + builtIn: false, }, { tag: 'geoip-ru', - url: 'https://cdn.jsdelivr.net/gh/Loyalsoldier/sing-box-rules@rule-set/geoip-ru.srs', - source: 'Loyalsoldier', + url: 'https://cdn.jsdelivr.net/gh/SagerNet/sing-geoip@rule-set/geoip-ru.srs', + source: 'SagerNet/sing-geoip', category: 'RU', description: 'IP-диапазоны, зарегистрированные в России (RIPE NCC). Покрывает российские хостинги, банки, госсайты.', examples: ['77.88.0.0/18 (Яндекс)', '95.173.128.0/19 (МТС)', '213.180.192.0/19 (Яндекс)'], - use: 'direct — российские сервисы без VPN. vpn — если сервер в РФ.', + use: 'direct — российские сервисы без VPN.', + builtIn: true, }, { tag: 'geosite-category-ru', - url: 'https://cdn.jsdelivr.net/gh/Loyalsoldier/sing-box-rules@rule-set/geosite-category-ru.srs', - source: 'Loyalsoldier', + url: 'https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-category-ru.srs', + source: 'SagerNet/sing-geosite', category: 'RU', description: 'Домены российских сервисов: Яндекс, VK, Mail.ru, Сбербанк, банки, госуслуги. Не заблокированные, а просто российские.', examples: ['yandex.ru', 'vk.com', 'mail.ru', 'sberbank.ru', 'gosuslugi.ru', 'ozon.ru'], use: 'direct — чтобы российские сайты открывались с российским IP (нужно для оплаты и т.п.).', + builtIn: true, }, { tag: 'geosite-google', - url: 'https://cdn.jsdelivr.net/gh/Loyalsoldier/sing-box-rules@rule-set/geosite-google.srs', - source: 'Loyalsoldier', + url: 'https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-google.srs', + source: 'SagerNet/sing-geosite', category: 'Сервисы', description: 'Все домены Google: поиск, Gmail, YouTube, Drive, Maps, Google API, reCAPTCHA и пр.', examples: ['google.com', 'googleapis.com', 'googlevideo.com', 'gstatic.com', 'ggpht.com'], use: 'vpn — если Google заблокирован или нужна стабильная работа сервисов.', + builtIn: false, }, { tag: 'geosite-youtube', - url: 'https://cdn.jsdelivr.net/gh/Loyalsoldier/sing-box-rules@rule-set/geosite-youtube.srs', - source: 'Loyalsoldier', + url: 'https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-youtube.srs', + source: 'SagerNet/sing-geosite', category: 'Сервисы', description: 'Только домены YouTube и связанных CDN. Меньше чем полный Google.', examples: ['youtube.com', 'youtu.be', 'ytimg.com', 'googlevideo.com'], use: 'vpn — для разблокировки YouTube.', + builtIn: false, }, { tag: 'geosite-telegram', - url: 'https://cdn.jsdelivr.net/gh/Loyalsoldier/sing-box-rules@rule-set/geosite-telegram.srs', - source: 'Loyalsoldier', + url: 'https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-telegram.srs', + source: 'SagerNet/sing-geosite', category: 'Сервисы', description: 'Домены и IP Telegram. Включает CDN, API и голосовые серверы.', examples: ['telegram.org', 't.me', 'telegra.ph', '149.154.160.0/20'], use: 'vpn — разблокировка в РФ. direct — если хочешь избежать задержек.', + builtIn: false, }, { tag: 'geosite-openai', - url: 'https://cdn.jsdelivr.net/gh/Loyalsoldier/sing-box-rules@rule-set/geosite-openai.srs', - source: 'Loyalsoldier', + url: 'https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-openai.srs', + source: 'SagerNet/sing-geosite', category: 'Сервисы', description: 'ChatGPT, OpenAI API, Dall-E и другие сервисы OpenAI.', examples: ['openai.com', 'chatgpt.com', 'oaistatic.com', 'oaiusercontent.com'], use: 'vpn — OpenAI заблокирован в РФ и ряде других стран.', + builtIn: false, }, { tag: 'geosite-apple', - url: 'https://cdn.jsdelivr.net/gh/Loyalsoldier/sing-box-rules@rule-set/geosite-apple.srs', - source: 'Loyalsoldier', + url: 'https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-apple.srs', + source: 'SagerNet/sing-geosite', category: 'Сервисы', description: 'App Store, iCloud, Apple CDN, push-уведомления (APNs), iMessage.', examples: ['apple.com', 'icloud.com', 'mzstatic.com', 'apple-cloudkit.com'], use: 'direct — Apple обычно работает без VPN. vpn — если нужен другой регион App Store.', + builtIn: false, }, { tag: 'geosite-github', - url: 'https://cdn.jsdelivr.net/gh/Loyalsoldier/sing-box-rules@rule-set/geosite-github.srs', - source: 'Loyalsoldier', + url: 'https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-github.srs', + source: 'SagerNet/sing-geosite', category: 'Разработка', description: 'GitHub, GitHub Actions, GitHub Pages, raw.githubusercontent.com.', examples: ['github.com', 'githubusercontent.com', 'github.io', 'githubassets.com'], use: 'vpn — если GitHub замедлен или заблокирован.', + builtIn: false, }, { tag: 'geosite-category-ads-all', - url: 'https://cdn.jsdelivr.net/gh/Loyalsoldier/sing-box-rules@rule-set/geosite-category-ads-all.srs', - source: 'Loyalsoldier', + url: 'https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-category-ads-all.srs', + source: 'SagerNet/sing-geosite', category: 'Блокировка', description: 'Рекламные сети, трекеры, аналитика. Тысячи доменов.', - examples: ['doubleclick.net', 'googlesyndication.com', 'amazon-adsystem.com', 'yandex-team.ru/ads'], + examples: ['doubleclick.net', 'googlesyndication.com', 'amazon-adsystem.com'], use: 'block — блокировка рекламы и трекеров на уровне DNS.', - }, - { - tag: 'geoip-private', - url: 'https://cdn.jsdelivr.net/gh/Loyalsoldier/sing-box-rules@rule-set/geoip-private.srs', - source: 'Loyalsoldier', - category: 'Сеть', - description: 'Приватные IP-диапазоны: локальная сеть, loopback, link-local. Обычно не нужен — sing-box имеет встроенный ip_is_private.', - examples: ['10.0.0.0/8', '192.168.0.0/16', '172.16.0.0/12', '127.0.0.0/8'], - use: 'direct — локальный трафик всегда напрямую.', + builtIn: false, }, ]; @@ -376,6 +378,9 @@ function CatalogEntry({ entry, added, busy, onAdd, onLookup }) { {entry.tag} {entry.category} {entry.source} + {entry.builtIn && ( + встроен + )}
{entry.description}
@@ -423,26 +428,6 @@ function CatalogEntry({ entry, added, busy, onAdd, onLookup }) { ); } - {open && ( -
-
- Примеры содержимого: - {entry.examples.map((ex, i) => ( - - {ex} - {i < entry.examples.length - 1 ? ' ' : ''} - - ))} -
-
- Рекомендуемый outbound: - {entry.use} -
-
- )} - - ); -} function RuleSetsCard({ pushToast }) { const [ruleSets, setRuleSets] = useState([]); @@ -513,6 +498,7 @@ function RuleSetsCard({ pushToast }) { }); return ( + <>

Источники (rule-sets)

@@ -607,6 +593,7 @@ function RuleSetsCard({ pushToast }) { onClose={() => setLookup(null)} /> )} + ); }