Перейти к содержанию

Рекомендуемые сообщения

Опубликовано (изменено)
Данный инструмент подойдёт опытным пользователям sing-box,
которые хотят настраивать сеть, исходя из своих знаний и предпочтений.
Для всех остальных и для всего остального есть XKeen.
 
На текущий момент в XKeen отсутствует поддержка ядра sing-box,
поэтому, взяв из него логику создания правил iptables и придерживаясь принципа «не повторять код»,
я переписал его в POSIX-совместимом стиле, получив на выходе один файл размером ~50 КБ.
 
Весь текущий функционал по режимам настройки проксирования - tproxy, redirect, mixed (hybrid),
работа на выбранных портах или через их исключение, как и в XKeen, доступен в SKeen.
Помимо этого, есть удобное меню, где можно посмотреть различные статусы работы, запустить,
остановить, перезагрузить, обновить sing-box и сам скрипт, а также удалить его.
 
Касательно зависимостей - их выбор минимально возможный, а именно:
start-stop-daemon, iptables, jsonfilter, curl, tar.
По факту всё уже доступно изначально, кроме jsonfilter.
 
По поддержке роутеров могу гарантировать работу только на тех,
которые поддерживают архитектуру aarch64 и последнюю стабильную версию прошивки,
однако установка на mipsel и mips также предусмотрена (требуется тестирование).
 
В остальном информацию можно найти в репозитории
 
 
P.S. Автору XKeen и всем, кто приложил к нему руку, — большое спасибо и долгих лет жизни.
Изменено пользователем jinndi
форматирование
Опубликовано

Приветствую! Спасибо за проделанную работу.

Несколько вопросов.

1. Правильно понимаю что глобальное отличие от XKeen, sing-box?

2. Совместим ли Skeen с NFQWS?

3. Совместим ли Skeen c MagiTrickle?

Опубликовано
8 минут назад, Kolob сказал:

Приветствую! Спасибо за проделанную работу.

Несколько вопросов.

1. Правильно понимаю что глобальное отличие от XKeen, sing-box?

2. Совместим ли Skeen с NFQWS?

3. Совместим ли Skeen c MagiTrickle?

Привет! Я даже не могу сказать, работает ли мой скрипт на роутерах с архитектурой, отличной от aarch64. Насчёт этих программ я не знаю, для чего они нужны. Сейчас прогуглил — там что-то с DPI и маршрутизацией. Если это так, то зачем им работать совместно, если sing-box по сути выполняет ту же задачу? Но если совместная работа действительно необходима, вы можете протестировать их работу и сообщить мне — я постараюсь разобраться в этом вопросе.

Опубликовано
45 минут назад, Kolob сказал:

1. Правильно понимаю что глобальное отличие от XKeen, sing-box?

2. Совместим ли Skeen с NFQWS?

3. Совместим ли Skeen c MagiTrickle?

Глобально да sing-box. 
В теории должно работать, если NFQWS и MagiTrickle в другой политике  будут отличной от той что укажите в фале конфигурации SKeen

Опубликовано

1. Sing-box как замена AdGuard Home

Из официальной документации:

Цитата

Sing‑box поддерживает некоторые форматы наборов правил из других проектов,
которые не могут быть полностью переведены в формат Sing‑box.
В настоящее время доступен только DNS‑фильтр AdGuard.
Эти форматы не поддерживаются напрямую в качестве исходных.
Вместо этого их нужно преобразовать в бинарный набор правил.

Бинарный файл формата SRS AdGuardSDNSFilter:

Он уже создан мной этим способом и обновляется ежедневно автоматически.
В качестве основы использовался список https://github.com/AdguardTeam/AdGuardSDNSFilter,
включённый в AdGuard Home по умолчанию и содержащий порядка 140 000 доменов различных категорий.
Ссылка на репозиторий: https://github.com/jinndi/adguard-filter-list-srs

Производительность относительно AdGuard:

Sing‑box (при использовании DNS‑правил) сравнивает запрос с набором доменов и блокирует его, если совпадает.
Это достаточно простой алгоритм сопоставления, выполняемый локально в памяти,
и не требует обширного анализа длинных списков или дополнительных DNS‑запросов.
Правила оптимизированы для прокси‑движка, потому что они включаются прямо в pipeline прокси-обработки,
а не работают как отдельная служба DNS‑сервер и кэш. Это уменьшает задержку резолвинга.

На практике:

Если настроен DNS‑конфиг с правилами перехвата запросов и включена экспериментальная функция кэширования:

{
  "experimental": {
    "cache_file": {
      "enabled": true,
      "path": "cache.db",
      "store_rdrc": true,
      "rdrc_timeout": "7d"
    }
  }
}

Мы получаем кэш отклонённых запросов (store_rdrc: true), которые хранятся семь дней (rdrc_timeout: 7d).
Первичный запрос занимает ~1–10 мс (локальный upstream).
Повторный запрос из кэша → практически мгновенно (~0–1 мс).


2. Sing-box как замена HydraRoute, ipset-dns, MagiTrickle и т. д.

Sing‑box умеет управлять роутингом прямо в ядре, экономя CPU/RAM и снижая задержки.
Встроенный движок использует DNS‑кэш, поэтому проверка домена происходит быстро.
 

Split Tunneling:

- Можно комбинировать правила: последовательность проверок → первое совпадение применяется.
- Можно направлять только выбранные приложения, IP или домены через прокси.
- Можно создавать правила роутинга (rules), которые смотрят не только на домен или IP,
но и на тип сети/протокола (TCP, UDP, QUIC, WebSocket).
 

Policy Routing на уровне клиента/прокси:

- Например, все устройства с IP 192.168.1.100 → через VLESS, остальные напрямую.
- Можно использовать inbound tags, чтобы различать VPN-клиентов, SOCKS-клиентов или TProxy-трафик.


Load Balancing:

Sing‑box поддерживает несколько outbound одновременно с балансировкой и автоматическим переключением при сбоях.

- type: select — выбирает один прокси из группы вручную/по правилу
- type: url-test — тестирует latency/throughput и выбирает лучший
 

DNS-aware Routing:

Sing‑box может использовать DNS‑резолвинг внутри ядра для правил маршрутизации. Это позволяет:

- Управлять правилами по доменам, даже если IP динамический
- Автоматически обновлять IP через кэш

TTL кэша можно настроить под роутер, чтобы снизить нагрузку.


3. Итог

Плюсы на роутере:

- Низкая нагрузка CPU
- Минимум внешних скриптов
- Прозрачная настройка для TCP/UDP/QUIC/WebSocket

Минусы:
- Необходимо разбираться в настройках json конгифугарций (нет внешнего UI)
 

Опубликовано

Спасибо за исчерпывающий ответ.

Цитата

Минусы:
- Необходимо разбираться в настройках json конгифугарций (нет внешнего UI)

вот это все затрудняет.

Не планировали добавить в скрипт возможность загружать(импортировать) готовые листы с доменами/IP?

 

Опубликовано
28 минут назад, Kolob сказал:

Спасибо за исчерпывающий ответ.

вот это все затрудняет.

Не планировали добавить в скрипт возможность загружать(импортировать) готовые листы с доменами/IP?

 

Вы имеете ввиду для настроек роутинга?
Я рекомендую использовать готовые наборы правил для доменов и для IP
Также можно сделать один раз свой список

{
  "version": 3,
  "rules": []
}


и конвертировать на локальной машине в формат srs через 

sing-box rule-set compile [--output <file-name>.srs] <file-name>.json

на роутере через
 

skeen-box rule-set compile [--output <file-name>.srs] <file-name>.json

 

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.