github RixyPow/netzapret v0.5.5
NetZapret 0.5.5

latest releases: v1.2.2, v1.2.1, v1.2.0...
one month ago

Светлая тема

«Ещё» → «Оформление». Переключается без перезапуска: подменяется одна палитра
из двух, а стили элементов опираются только на её ключи и про тему не знают
вовсе.

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

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

Полоса состояния

Вынесена из карточки под неё: появляясь внутри, она раздвигала карточку,
и та прыгала в размерах при каждом запуске. Теперь есть всегда и несёт то же,
что точка: серый «стоит», жёлтый «поднимается», зелёный «работает», красный
«движок не работает».

Красный появился и в самом состоянии. Прежде движок, которому не удалась
глубокая проверка, и движок умерший были одинаково жёлтыми — при том что
первый ещё несёт трафик, а второй не несёт ничего.

Рецепт десинка выбирается и для сервисов

В 0.5.4 выбор был только у своего домена. У сервиса он нужен чаще: это список
из десятков имён, и когда пресет их не открывает, разбираться руками не в чем.
Списки разворачиваются в профиль целиком — у Discord это шестнадцать имён.

Выбранный рецепт называется прямо в строке: «десинк: multidisorder» вместо
просто «десинк». У правил по адресам выбор не предлагается — рецепт
применяется по имени в приветствии TLS, а там имени нет вовсе.

Что было сломано в самой проверке

Проверка шла по несуществующему имени. Заголовок «Чем чинить discord» был
и заданием: она пыталась разрешить «discord», не получала адреса и отвечала
«не помогает» на каждый из одиннадцати рецептов, включая заведомо рабочие.
Теперь в пробу идёт настоящее имя из списка сервиса.

Окно открывалось дважды. Оно поднималось прямо из обработчика выбора
в списке, а тот успевал поднять событие второй раз. Отсюда три жалобы разом:
окон два, в первом «выбрать» не отзывается (поверх модальное, первое
отключено), и иногда падало с «DialogResult можно задать только после
отображения как диалогового окна». Теперь окно поднимается следующим ходом
очереди сообщений.

Universal V8

Копия V7 с одной правкой: у discord.com рецепт send + syndata заменён
на hostfakesplit_multi. Прежний на этой сети перестал открывать сервис —
перебор дал три рабочих из одиннадцати, и этот среди них.

Остальные части Discord оставлены как в V7: обновления, голосовой CDN,
запасное правило по адресам и UDP проверялись отдельно, и менять их вслепую
значило бы чинить то, что не ломалось.

Рецепт для домена регистрации WARP — в пресете

Профиль Cloudflare WARP API добавлен в V7 и V8 перед Cloudflare TCP.
Порядок тут и есть всё: winws2 отдаёт пакет первому профилю, чей фильтр
совпал, а Cloudflare TCP стоит на pass и забирал api.cloudflareclient.com
себе, пропуская нетронутым. Без этого WARP не поднимается вовсе: движок
ходит регистрироваться сам, и направить его запрос нечем.

Рецепт — multidisorder в одиночку. fake + multidisorder, который
напрашивается, домен не открывает: поддельное приветствие доезжает
до сервера, тот видит два ClientHello в одном соединении и отвечает отказом.

Мелочи

Замер WARP вернулся: кнопка показывалась при условии «есть выход, замеряемый
пробником», и с уходом выхода по WireGuard условие перестало выполняться
никогда.

В «Диагностике» подсказки в полях снимались по нажатию «Спросить», и всё
время набора текст лежал поверх серой подписи. Точки в списке проверок стояли
вровень с верхом строки и висели над текстом.

Чем это собрано и как сверить

NetZapret.zip   E6F6A97DB911BCE501DBDC3B7280AD10DD991067E7A19428CEBA3DF2FF8FA7F9
NetZapret.exe   FAC62009611CDDC23EBA7ACB22515AE6833A212C784E0BCD2D9C1C600703E46A

Пакет SDK .NET 8.0.424, сборка Release, win-x64, self-contained, один файл.

Проверить скачанное:

Get-FileHash NetZapret.zip -Algorithm SHA256

Собрать самому и сравнить:

git checkout v0.5.5
pack.cmd

Совпасть должен NetZapret.exe. Архив — нет: в нём лежат winws2 и sing-box,
собранные не нами, и их версии у вас могут отличаться.

Don't miss a new netzapret release

NewReleases is sending notifications on new releases.