github RixyPow/netzapret v0.5.1
NetZapret 0.5.1

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

Кто поставил 0.5.0 — обновитесь руками, один раз

В 0.5.0 обновиться из самой программы было нечем. Установщик работал, но
вызывался только из консольного меню, а консоли в поставке 0.5.0 нет: окно
умело лишь проверять и советовало «ставится из консоли» — то есть отправляло
к программе, которой у человека не осталось.

Скачайте архив со страницы выпуска и распакуйте поверх. Настройки, свои
маршруты и подставленные адреса лежат в config\ и не пострадают.

Дальше обновление работает из окна: раздел «Ещё», кнопка «Обновить».
Она появляется, только когда есть что ставить.

Заодно чинилось то, что всплыло по пути: перезапуск после подмены был зашит
на netzapret.exe, и обновление вернуло бы человека к файлу, которого
в поставке больше нет. Подмена прошла бы, а программа не открылась.

Значок в трее

Крестик прячет окно в трей, а не закрывает программу. Движки живут отдельным
процессом и переживают закрытие окна: закрыв его по-настоящему, человек
оставался бы с работающим обходом и без единого признака этого на экране.
Сворачивание осталось обычным — окно уходит на панель задач.

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

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

Автозапуск теперь поднимает значок и заводит движки сам. Прежде задача
поднимала один супервизор, и при входе не было ни значка, ни способа
остановить обход, кроме как открыть программу заново.

Задачу автозапуска придётся завести заново. Её команда записана внутрь
задачи целиком и обновление её не трогает: заведённая прежней версией, она
зовёт netzapret.exe, которого в поставке нет. «Главная» теперь такую
задачу узнаёт и говорит «заведена, но устарела» — лечится двумя кнопками,
«Убрать» и «Завести».

Интерфейс держится в одном экземпляре

Автозапуск и запуск руками иначе давали две иконки и два окна к одним и тем
же движкам. Второй запуск показывает окно первого и уходит.

Куда пойдёт соединение — теперь целиком

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

Порядок вычисления правил

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

Проверка блокировок

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

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

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

Мелочи

  • Сортировка серверов работала ровно один раз: отсортированный список
    записывался поверх исходного, и «По порядку» возвращало тот же список,
    что и «По задержке».
  • Части сервиса без своего значка берут значок сервиса. У googlevideo.com
    и i.ytimg.com своего нет и не будет, а буква рядом с красным значком
    YouTube говорит, будто это разные вещи.
  • У программы появился свой значок.

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

NetZapret.zip   4B7B0CAF758948EA0253DB9CA66558C15F73015816F9239DCF34A31185FD858D
netzapret.exe   BB3542056216564E93298B94C07F83AAD0F99671857CD765FA491DDBFF915FBD

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

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

Get-FileHash NetZapret.zip -Algorithm SHA256

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

git checkout v0.5.1
pack.cmd

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

Don't miss a new netzapret release

NewReleases is sending notifications on new releases.