MagiTrickle (произносится как Мэджитрикл) – утилита для точечной маршрутизации сетевого трафика по заданным доменным именам. Представляет собой установочный пакет, устанавливаемый в дополнение к операционной системе маршрутизатора.
Принцип работы основан на подмене основного DNS-сервера через промежуточный компонент без его отключения. Это позволяет перехватывать входящие DNS-запросы, кешировать ответы и сопоставлять IP-адреса с доменными именами. Благодаря этому становится возможной маршрутизация трафика без необходимости очистки DNS-кэша на стороне клиентов. Очистка кэша требуется только при запуске или перезапуске сервиса MagiTrickle, поскольку в этот момент кэш ещё не прогрет, и маршрутизация невозможна до первого запроса к нужному домену.
- Добавление репозитория в пакетный менеджер:
wget -qO- http://bin.magitrickle.dev/packages/add_repo.sh | sh
- Установка пакета:
opkg update && opkg install magitrickle
- Запуск пакета:
/opt/etc/init.d/S99magitrickle start
Дальнейшее обновление можно осуществлять с помощью:
opkg update && opkg install magitrickle
/opt/etc/init.d/S99magitrickle restart
Охватывает указанный домен и все его поддомены.
Например, при записи example.com
будут обрабатываться:
✅ example.com
✅ sub.example.com
✅ sub.sub.example.com
❌ anotherexample.com
❌ example.net
Шаблон с *
и ?
— позволяет задавать гибкие условия:
*
— любое количество любых символов?
— ровно один любой символ
Например, при записи *example.com
будут обрабатываться:
✅ example.com
✅ sub.example.com
✅ sub.sub.example.com
✅ anotherexample.com
❌ example.net
Правило применяется только к строго указанному домену, без поддоменов.
Например, при записи sub.example.com
будут обрабатываться:
❌ example.com
✅ sub.example.com
❌ sub.sub.example.com
❌ anotherexample.com
❌ example.net
Для опытных пользователей. Используется парсер dlclark/regexp2.
Например, при записи ^[a-z]*example\.com$
будут обрабатываться:
✅ example.com
❌ sub.example.com
❌ sub.sub.example.com
✅ anotherexample.com
❌ example.net