Skip to content

Releases

v2.2.5

Choose a tag to compare

@github-actions github-actions released this 09 Nov 17:02

v2.2.5 — удалённое управление рекламой

  • Исправлен адрес загрузки рекламного конфига: https://ads.zapretyoutubediscordpanel.top/config.json.
  • Рекламная конфигурация автоматически обновляется при запуске и затем каждые 30 минут, в том числе когда приложение свёрнуто в трей.
  • Добавлена защита от параллельных запросов конфига.
  • Ссылки кампаний проверяются: разрешены только HTTPS, некорректные ссылки ведут на рекламный сайт.
  • Обновление рекламных изображений и ссылок не требует нового релиза приложения.

Файлы для размещения на хостинге находятся в репозитории https://github.com/Therealwh/adszapretpanel:

  • config.json — настройки рекламных мест;
  • banners/partner-1.png … partner-5.png — пять партнёрских баннеров (420 × 140 px);
  • banners/popup.png — всплывающий баннер (560 × 300 px);
  • banners/bottom.png — нижний баннер (1120 × 90 px).

После загрузки этих файлов в корень сайта https://ads.zapretyoutubediscordpanel.top/ приложение сможет получать кампании удалённо. По умолчанию все места отключены (active: false).

v2.2.3

Choose a tag to compare

@github-actions github-actions released this 09 Nov 15:07

v2.2.3 — заметные уведомления об обновлениях

  • Добавлено отдельное компактное уведомление Windows в правом нижнем углу, над панелью задач рядом с часами.
  • Уведомление доступно, пока приложение работает в фоне или свёрнуто в системный трей.
  • Кнопка «Обновить сейчас» запускает встроенный безопасный механизм обновления с проверкой SHA-256.
  • Кнопка «Позже» откладывает уведомление на 30 минут. После этого оно появляется снова, пока обновление не установлено.
  • Баннер обновления в главном окне и системное уведомление используют одну и ту же информацию о версии.
  • После установки новой версии напоминания прекращаются.

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

v2.2.2

Choose a tag to compare

@Therealwh Therealwh released this 09 Nov 14:46

v2.2.2 — дневная метрика активности

Метрика включена автоматически по умолчанию, без стартового диалога. В разделе «Настройки → Метрика» пользователь может отключить отправку в любой момент.

Установка получает случайный локальный UUID. Передаются этот псевдонимный ID, версия панели и факт активности. Не отправляются имя компьютера, имя пользователя Windows, логи, посещаемые сайты или содержимое сетевого трафика.

Одна установка учитывается не более одного раза за календарные сутки по московскому времени. Повторные открытия в тот же день не увеличивают счётчик. Если программа остаётся запущенной (в том числе в трее), после 00:00 МСК она отправляет событие нового дня. История не очищается: за 7/14/30 дней считаются суммы ежедневных уникальных активностей.

Отправка выполняется в фоне. При отсутствии сервера или интернета запуск панели и работа zapret не блокируются; неотправленное событие повторяется позднее.

v2.2.1

Choose a tag to compare

@github-actions github-actions released this 18 Oct 23:43

v2.2.1 — полировка v2.2.0

Меню в трее теперь в стиле панели: тёмный/светлый фон, свои цвета подсветки
и рамки — переключение темы применяется к меню мгновенно.

Исправлена кодировка: в v2.2.0 часть надписей (строка статистики на странице
«Списки», пункты меню трея) отображалась кракозябрами вида «РЎС...». Все
строки восстановлены и проверены побайтово в собранном файле.

Selftest: 121/121.

v2.2.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 22:46

v2.2.0 — пять новых возможностей

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

Условный запуск (страница «Настройки»):
правила вида «запущен steam.exe → включить стратегию X», с опцией «выключать
обход при закрытии». Проверка каждые 5 секунд, ручные переключения не
затираются, правила переживают перезапуск.

Помощник антивируса (страница «Прозрачность»):
определяет установленный антивирус, объясняет, почему winws.exe попадает под
подозрение (драйвер WinDivert перехватывает пакеты), и добавляет папки панели
в исключения Defender одной кнопкой.

Проверка подлинности (страница «Прозрачность»):
SHA-256 работающего файла панели сверяется с хэшем официального релиза на
GitHub. Без сети показывает «неизвестно», а не тревогу.

Стратегии из трея:
правый клик по иконке в трее → «Стратегии» → закреплённые стратегии с
отметкой активной. Переключение обхода без открытия окна.

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

Selftest: 121/121.

v2.1.23

Choose a tag to compare

@github-actions github-actions released this 18 Oct 21:48

v2.1.23 — исправления по итогам живого обновления до 2.1.22

Проверка на реальной машине вскрыла два бага. Оба исправлены и проверены:

  • сервисный режим падал с кодом 1067: кавычки, которые парсер стратегий
    держит внутри токенов (--hostlist="C:..."), в ImagePath службы превращались
    в литеральные кавычки в пути — winws отвечал «cannot access ipset file» и
    умирал. Кавычки снимаются перед экранированием; путь проверен на реальном
    запуске winws и переустановленной службой;
  • секрет веб-прокси генерировался заново при каждом старте панели и
    перезаписывал рабочий. Теперь читается сохранённый; новый создаётся только
    если секрета ещё нет.

Selftest: 103/103.

v2.1.22

Choose a tag to compare

@github-actions github-actions released this 18 Oct 21:12

v2.1.22 — панель теперь не верит тому, что скачивает

Полный security-аудит (OWASP/CWE) — закрыты все находки, от критических до
информационных.

Критическое:

  • распаковка движка больше не может записать файлы за пределы папки
    (zip-slip через .. и канонизацию путей);
  • CI сверяет SHA-256 zapret-движка с пином в репозитории перед тем, как
    зашить его в релиз: подменённый или сдвинутый апстримом архив валит сборку,
    а не едет к пользователям.

Высокое:

  • самообновление панели проверяет sha256 у ассета (или подпись, если digest
    нет) и refuses запускать несовпавший файл;
  • скачанный exe повторно проверяется по хэшу прямо перед подменой — Temp-файл
    больше не окно для атаки;
  • переходы обхода (запуск стратегии, сервис, установка движка, сброс)
    сериализованы общим локом: больше нет гонок за WinDivert и удалений
    сервиса, который пользователь только что поставил;
  • выход/краш панели гасит процессный winws — обход больше не работает
    «невидимо» после закрытия панели.

Средние и низкие:

  • экранирование кавычек в ImagePath сервиса (SYSTEM) и в netsh-командах DNS;
  • исходный статический DNS пользователя запоминается и восстанавливается,
    частичный сбой откатывается;
  • actions запинены по SHA, права CI сужены до per-job, тег идёт через env;
  • релизы содержат SHA256SUMS.txt для проверки скачанного;
  • секрет веб-прокси генерируется на инсталл (CSPRNG) вместо общего
    зашитого значения.

Selftest: 103/103.

v2.1.21

Choose a tag to compare

@github-actions github-actions released this 18 Oct 04:16

Full Changelog: v2.1.20...v2.1.21

v2.1.20

Choose a tag to compare

@github-actions github-actions released this 18 Oct 02:26

Что нового в 2.1.20

Четыре вещи из разбора рынка: панель теперь объясняет поломки, а не просто констатирует их, и не просит доверия на слово.

Диагностика: «Почему не работает»

Раньше панель умела сказать только «не отвечает». Этого мало: заглушка в DNS, мёртвый TCP и порезанный TLS выглядят снаружи одинаково, а лечатся по-разному.

Теперь кнопка «Разобрать» идёт по цепочке: запущен ли обход → отдаёт ли DNS настоящий адрес → проходит ли TCP 443 → завершается ли TLS-хендшейк. Первая упавшая проверка и называет причину:

  • DNS отдаёт заглушку — обход не поможет, смените DNS;
  • TCP до 443 не проходит — блокировка по IP, нужна другая стратегия;
  • TCP есть, TLS нет — режут DPI по Client Hello, запустите подбор стратегии.

Отдельно распознаётся подменный адрес fdea::/16, который РКН отдаёт на заблокированные имена, — вместо бесполезного «нет A-записи» вы увидите, что резолвер вам врёт.

Автопоиск заблокированных доменов (Настройки)

Проверяет домены Discord, YouTube и Telegram через текущий обход и показывает таблицу с адресом и результатом по каждому. Непроходимые можно одной кнопкой записать в список general — он допишется к вашим ручным записям, а не затрёт их.

Это замер, а не догадка: в список попадает только то, что реально не открылось сейчас. Проверено на живой поломке — из 12 доменов в список пошли три действительно сломанных, остальные девять открывались и остались нетронутыми.

Замер скорости (Настройки)

YouTube может открываться и при этом тормозить — это разные проблемы, а панель отвечала только на первую. Теперь есть замер Мбит/с через текущий обход с вердиктом. Замерьте с обходом, выключите его, замерьте ещё раз — панель покажет разницу и скажет, режет ли обход скорость.

Прозрачность

Новая страница с честным списком: что панель умеет и чего не будет делать никогда. Рядом — четыре проверки, которые выполняются на вашей машине прямо сейчас:

  • в хранилищах сертификатов нет записей от панели;
  • защита Windows не отключается;
  • где физически лежат программа и данные;
  • куда панель ходит сама.

Проверки идут по этому поводу не просто так: самый популярный GUI в этой нише ставил свой корневой сертификат, выключал Defender и отправлял данные устройства в Telegram-чат каждые 30 минут. Обходу DPI ничего из этого не требуется, и теперь панель может это доказать, а не пообещать.

Полный список изменений: v2.1.19...v2.1.20

v2.1.19

Choose a tag to compare

@github-actions github-actions released this 18 Oct 01:59

Что нового в 2.1.19

Четыре исправления после светлой темы. Одно из них было не «неудобно», а тихо ломало панель через пару суток работы.

🛠 Утечка памяти: иконка в трее — исправлено

MakeDotIcon брал временный дескриптор иконки и отдавал его Icon.FromHandle, который этот дескриптор не копирует. Каждая смена состояния утекала один GDI-объект. Иконка перерисовывается каждые ~45 секунд, лимит на процесс — около 10 000: через двое суток без перезапуска панель падала бы с OutOfMemoryException.
Теперь дескриптор клонируется в приватную иконку и освобождается сразу, а старая иконка удаляется при замене.

🟡 Иконка в трее могла перестать обновляться

Цвет иконки ставился из фоновых потоков (health-monitor и проверка обновлений движка), а NotifyIcon разрешено трогать только из потока окна. Исключение глотал пустой catch — панель не падала, но точка просто переставала менять цвет, без следа в логе. Теперь всё идёт через UI-поток.

🛠 Health-monitor больше не рвёт рабочий обход

Порог срабатывания поднят с двух неудачных проверок подряд (~90 секунд) до четырёх (~3 минуты). Раньше два промаха подряд — и панель переподключала исправно работающий обход, обрывая Telegram на всей машине. В логе это было видно: обход зелёный, а watchdog его всё равно сбрасывал.

📋 Чистый лог

Каждая неудача Cloudflare-релея писалась в лог дважды: один раз bare из сокета, второй — с номером ЦОД и хостом. Убрал дубль. Заодно null-ответ пробной проверки больше не считается за «всё хорошо» и не обнуляет счётчик сбоев — раньше зависшая проверка могла навсегда замаскировать реальную поломку.

Мелочи

  • Health-monitor снова запускается после остановки (раньше кнопка «включить» ничего не делала).
  • Переключатель темы больше не может «забыть» текущую палитру.

Полный список изменений: v2.1.18...v2.1.19