Добавление функции разделения трафика в AdguardHome

Ссылка на исходный код: https://github.com/AdGuardPrivate/AdGuardPrivate

AdGuardHome не имеет правил разделения трафика, можно только вручную писать или настраивать upstream-file, что является одним из его недостатков.

Разработка функции правил разделения трафика заняла немало времени, и тестирование также было достаточно длительным, наконец все стабилизировалось.

С правилами разделения трафика больше не нужно устанавливать SmartDNS перед AdguardHome, достаточно одного AdguardPrivate.

Конечно, в настоящее время функция разделения трафика поддерживает только разделение на два направления, то есть часть трафика идет через группу upstream A, а часть — через группу upstream B. Если нужно более гибкое разделение, сложность разработки возрастет, часть логики кода разделения находится в adguardhome, а другая часть — в dnsproxy. Если двух направлений недостаточно, можно форкнуть и попробовать самостоятельно реализовать.

Если есть вопросы по использованию или предложения, можно создавать issue, в настоящее время в основном вносятся улучшения для использования в определенных регионах.