Skip to content

Releases: NooBiToo/TrustTunnelOpenWrt

v1.0.14

Choose a tag to compare

@github-actions github-actions released this 02 Oct 17:49

Список, убранный из выбора, перестаёт идти через туннель сразу после «Сохранить и применить». Раньше подсети такого списка оставались в маршрутизации до полного перезапуска службы: убрать Telegram из списков значило ничего не изменить.

Подсети из списков теперь лежат в отдельных наборах и загружаются заново при каждом применении настроек в той же транзакции nft, что и пересоздание таблицы, поэтому окна, в котором трафик уходит мимо туннеля, нет. Переносятся только адреса, которые накопил dnsmasq.

Исходящие соединения демона Telegram из отдельного проекта tgws-openwrt помечены 0x7467 и не уходят в туннель при включённом «Трафик роутера через VPN».

Обновление пакета и клиента:

sh -c "$(wget -O - https://raw.githubusercontent.com/NooBiToo/TrustTunnelOpenWrt/main/install.sh)"

v1.0.13

Choose a tag to compare

@github-actions github-actions released this 29 Sep 10:36

На странице диагностики появился тест скорости: пинг, загрузка и отдача напрямую и через туннель, как в speedtest.net — живая шкала в Мбит/с и вывод, насколько туннель урезает прямой канал (4 потока, около 40 секунд).

Замер передаёт столько данных, сколько канал пропускает за это время, — на быстром соединении около полугигабайта, так что на лимитном трафике запускайте осознанно. Пинг — время ответа на HTTPS-запрос, а не ICMP: через туннель ICMP не проходит.

Обновление пакета и клиента:

sh -c "$(wget -O - https://raw.githubusercontent.com/NooBiToo/TrustTunnelOpenWrt/main/install.sh)"

v1.0.12

Choose a tag to compare

@github-actions github-actions released this 26 Sep 09:31

Установщик теперь ставит последний релиз клиента TrustTunnel — сейчас это 1.1.7 от 24 сентября. Раньше он запускал скрипт вендора без номера версии и получал зашитый туда 1.1.5: страница состояния предлагала обновить клиента, а повторный запуск install.sh ставил тот же 1.1.5. В 1.1.6 и 1.1.7 исправлены падения клиента, в том числе на роутерах без IPv6 (TrustTunnelClient#92).

Сам пакет не менялся. Закрепить версию клиента можно переменной TT_CLIENT_VERSION=1.1.5 перед командой установки.

Повторный запуск установщика обновляет и пакет, и клиент:

sh -c "$(wget -O - https://raw.githubusercontent.com/NooBiToo/TrustTunnelOpenWrt/main/install.sh)"

v1.0.11

Choose a tag to compare

@github-actions github-actions released this 05 Sep 06:29

Пакет теперь сверяет с релизами не только себя, но и клиент TrustTunnel: клиент 1.1.5 вышел 2 сентября, и страница состояния об этом скажет. Настройки клиента 1.1.5 (чтение SNI до соединения, сканируемые порты, preresolve, буферы TCP) и поля сервера custom_sni и client_random вынесены во вкладки «Сеть» и «Сервер»; импорт конфигурации сервера забирает все его поля, включая client_random, без которого сервер с защитой от сканеров клиента не пускает.

Клиент старше 1.1.5 новые настройки молча игнорирует, диагностика об этом предупреждает. При include_router_traffic=1 список «не обходить» не работает для адресов из набора обхода, подробности в SETTINGS.ru.md.

Повторный запуск установщика обновляет и пакет, и клиент:

sh -c "$(wget -O - https://raw.githubusercontent.com/NooBiToo/TrustTunnelOpenWrt/main/install.sh)"

v1.0.10

Choose a tag to compare

@github-actions github-actions released this 26 Aug 06:54
release: 1.0.10

v1.0.9

Choose a tag to compare

@github-actions github-actions released this 26 Aug 02:27

Сохранение настроек больше не отправляет трафик мимо туннеля.

Наборы адресов обхода наполняет dnsmasq по ответам DNS: домен из списка
резолвится — его адрес попадает в набор, и трафик к этому адресу помечается для
туннеля. Применение любой настройки пересоздавало nft-таблицу, а вместе с ней
обнуляло наборы. Устройства при этом продолжают ходить на адреса из собственного
кэша, где запись живёт минутами: метки на таком трафике больше не было, и он
уходил напрямую к провайдеру — мимо туннеля и мимо killswitch, который к
непомеченному трафику отношения не имеет. Теперь накопленные адреса переносятся
в той же транзакции, что пересоздаёт таблицу, поэтому окна без маркировки не
остаётся.

Проверено на живом роутере: до правки внешний адрес сразу после «Сохранить и
применить» менялся с адреса сервера на адрес провайдера, после правки остаётся
адресом сервера.

Что осталось как есть. Смена номера таблицы маршрутизации или отметки firewall
по-прежнему разбирает маршрутизацию полностью — там меняется сама отметка, по
которой трафик попадает в туннель, и переносить набор бессмысленно.

Обновление:

sh -c "$(wget -O - https://raw.githubusercontent.com/NooBiToo/TrustTunnelOpenWrt/main/install.sh)"

v1.0.8

Choose a tag to compare

@github-actions github-actions released this 25 Aug 16:33

Резолвер DoH теперь можно сделать DNS всей сети, а не только доменов из списков.

Прежде адрес из «DNS для доменов из списков» обслуживал ровно списочные домены:
для каждого выдавалась строка server=, а весь остальной DNS сети шёл туда, куда
его направил штатный https-dns-proxy — обычно в Cloudflare. Со стороны это
выглядело как незаработавшая настройка: любая проверялка в списках обхода не
лежит и показывает чужой резолвер. Новая галочка «Применять этот резолвер ко всей
сети» закрывает разрыв: пока служба работает, она переводит на ваш URL все
экземпляры штатного https-dns-proxy, а при остановке возвращает его настройки.

Что требует внимания. При старте и остановке службы перезапускается dnsmasq, и
сеть на долю секунды остаётся без DNS. Если резолвер перестанет отвечать, без DNS
останется вся сеть, а не только домены из списков, — у dnsmasq в этом режиме нет
других upstream. По умолчанию галочка снята, и обновление её не включает.

Заодно исправлено: локальный DoH-прокси больше не поднимается в режиме «всё через
VPN», где обслуживать ему некого.

Обновление:

sh -c "$(wget -O - https://raw.githubusercontent.com/NooBiToo/TrustTunnelOpenWrt/main/install.sh)"

v1.0.7

Choose a tag to compare

@github-actions github-actions released this 25 Aug 13:01
release: 1.0.7

v1.0.6

Choose a tag to compare

@github-actions github-actions released this 23 Aug 11:07

Списки подсетей: одна строка на сервис вместо четырёх.

Каталог дублировал выбор дважды. Репозиторий списков держит часть файлов
подсетей в двух экземплярах, отличающихся только регистром имени:
Subnets/IPv4/Meta.lst и Subnets/IPv4/meta.lst байт в байт одинаковы, то же
с Twitter и Discord, и в обоих семействах адресов. Интерфейс показывал их как
разные списки, отмечались оба, и роутер скачивал один файл дважды. Плюс сами
семейства адресов лежат в отдельных каталогах, хотя решение о них одно: после
нормализации регистра в IPv4 одиннадцать имён, в IPv6 десять, и расходится
ровно roblox.

Теперь Subnets — одна группа со строкой на сервис: галочка выбирает файлы
обоих семейств, размер показывается суммой, а сервис без второй половины
помечен «только IPv4». Вместо 25 чекбоксов 11.

Уже сохранённый выбор чинится при обновлении пакета: регистровый дубль
схлопывается, когда в наборе есть оба варианта — их присутствие само
доказывает, что оба файла существуют. Одинокий путь с заглавной буквы не
переписывается: сочинённый meta.lst там, где в репозитории остался только
Meta.lst, заставил бы обновление списков печатать по нему fail. На живом
роутере миграция превратила 12 записей в 8, а набор обхода совпал по
контрольной сумме — состав того, что идёт в туннель, не меняется, поэтому
служба не перезапускается.

Обновление:

sh -c "$(wget -O - https://raw.githubusercontent.com/NooBiToo/TrustTunnelOpenWrt/main/install.sh)"

v1.0.5

Choose a tag to compare

@github-actions github-actions released this 23 Aug 09:22

Instagram больше не теряется — и вместе с ним первые домены каждого списка.

Файлы списков приходят без завершающего перевода строки, и сборка склеивала
последний домен одного файла с первым доменом следующего: оба исчезали, а
вместо них в набор обхода уходил мусор вида hdrezka.appinstagram.com. Так
пропадал instagram.com — первая строка списка Meta, — а с ним hdrezka.ag,
cdn-telegram.org, byteoversea.com, ads-twitter.com, googleplay.com,
xvideos.com, deepmind.com и первые строки остальных выбранных списков.
Молча: склейка считалась за домен, поэтому сводка показывала полное их число.

Диагностика больше не советует выключать штатный сервис https-dns-proxy.
Совет из 1.0.4 оставлял сеть в худшем положении, чем находил: вместе с его
записями из конфига уходит noresolv, dnsmasq откатывается на DNS
провайдера, а тот подменяет ответы — instagram.com приходил как
188.186.154.88 вместо адреса Meta. Картина «работают только сайты из
списков» при этом не уходила, потому что наш экземпляр прокси отвечает ровно
за домены списков, а всё остальное доставалось провайдеру.

Теперь проверка спрашивает каждый прописанный им резолвер и жалуется только
на тот, который молчит; живой резолвер показывается зелёной строкой с
адресом — видно, кто вообще резолвит DNS этой сети. Отдельная строка
предупреждает, когда домены вне списков резолвит провайдер. README исправлен
там же: вместо команд отключения — как проверить резолверы и как убрать
неотвечающий экземпляр.

Обновление:

sh -c "$(wget -O - https://raw.githubusercontent.com/NooBiToo/TrustTunnelOpenWrt/main/install.sh)"