Четыре типа групп, четыре характера
select: используется то, на что вы нажали, ядро не вмешивается. Предсказуемо, но упавший узел останется выбранным, пока вы сами это не заметите.url-test: по таймеру проверяет всех участников и берёт самого быстрого. Повседневный рабочий вариант.fallback: идёт по вашему списку сверху вниз и берёт первый живой. Скорость он не сравнивает, только живучесть — подходит под схему «держимся за дешёвую линию, резерв поднимаем только когда она умерла».load-balance: раскидывает запросы по нескольким участникам — либо по хешу сессии, чтобы один сайт всегда попадал на один узел, либо по кругу на каждый запрос. Для параллельных загрузок полезно, для сайтов с авторизацией — не очень: вас начинают считать подозрительным.
Параметры, с которыми группа ведёт себя тихо
proxy-groups:
- name: HK-Auto
type: url-test
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 50
lazy: true
filter: "(?i)hong ?kong|hk|香港"
use:
- my-provider
url: что-то лёгкое, отвечающее 204. Не главная страница с редиректами и лимитами. И этот адрес должен уходить наружу через прокси по вашим правилам, иначе вы измеряете прямое соединение.interval: секунды между проверками. 300 — безопасное число. Поставьте 30, и несколько десятков узлов превратятся в сотни запросов в минуту: провайдер может начать резать, а ноутбук расплатится батареей.tolerance: на сколько миллисекунд претендент должен быть быстрее, чтобы группа переключилась. Без этого поля терпимость нулевая, и два узла с похожей задержкой бесконечно меняются местами. Обычно хватает значения от 50 до 100.lazy: со значением true группа без трафика вообще не проверяется. Для региональных групп, которыми вы сейчас не пользуетесь, это надо включать.filter: регулярное выражение, отбирающее участников из подписки. С фильтром узлы, которые провайдер добавит позже, попадают в группу сами, и никакой список вручную вы не ведёте.
Группы внутри групп
Хорошо стареет двухуровневая схема. Внизу три группы url-test, каждая по своему фильтру собирает узлы Гонконга, Японии и Сингапура и проверяет их отдельно. Сверху одна группа select, для которой эти три группы — три варианта. В обычной работе вы меняете регион только в верхней группе, а конкретный узел выбирается ниже.
Второй плюс в том, что правила всегда упоминают одно имя группы. Стриминг указывает на Japan-Auto, блокировка рекламы на REJECT, замыкающее правило на верхнюю ручную группу. Подписка может меняться как угодно — правила остаются нетронутыми.
Чем приходится платить за автопереключение
Автоматическая группа влияет только на новые соединения. Всё, что уже установлено, остаётся на месте: качающийся файл, идущий видеозвонок, сессия SSH — все они по-прежнему привязаны к прежнему узлу. И наоборот: когда группа переключается сама, ничего в полёте не обрывается мгновенно, но следующий запрос уходит через другой выход, и некоторые сайты именно поэтому вас разлогинивают.
Поэтому на созвон, на долгую загрузку и на всё, чему нужен постоянный внешний адрес, проще временно перейти в группу select и закрепить один узел. Закончили — вернулись к автоматической.