[PR #18078] ALT13 с исключением VPN-интерфейсов #516

Open
opened 2026-10-13 00:00:54 +03:00 by mirror-bot · 0 comments

📋 Pull Request Information

Original PR: https://github.com/Flowseal/zapret-discord-youtube/pull/18078
Author: @vincere-mori
Created: 10/12/2026
Status: 🔄 Open

Base: main ← Head: alt13-vpn


📝 Commits (4)

  • f952ac2 add VPN-compatible ALT13 strategy
  • 6352cab wait for service menu before test input
  • d5b352c fix service test input encoding
  • 078726a send menu input after startup checks

📊 Changes

10 files changed (+764 additions, -2 deletions)

View changed files

➕ .github/workflows/vpn-tests.yml (+39 -0)
📝 .gitignore (+3 -1)
➕ general (ALT13 VPN).bat (+44 -0)
📝 service.bat (+20 -1)
➕ tests/fixtures/alt13-all.filter.txt (+14 -0)
➕ tests/vpn-filter.ps1 (+139 -0)
➕ tests/vpn-native.ps1 (+50 -0)
➕ tests/vpn-packets.py (+101 -0)
➕ tests/vpn-service.ps1 (+177 -0)
➕ utils/vpn-filter.ps1 (+177 -0)

📄 Description

Добавлена general (ALT13 VPN).bat. Параметры обхода взяты из обычной ALT13. При запуске стратегия находит физические сетевые адаптеры и ограничивает перехват их индексами. Пакеты на TUN-интерфейсе не попадают в winws; вручную прописывать ifIdx не нужно.

Стратегию можно выбрать при установке службы через service.bat. Фильтр собирается самим winws через --wf-save, затем проверяется библиотекой WinDivert. Если подготовка не удалась, установка останавливается до удаления старой службы.

В начале добавлен профиль без desync для адресов из ipset-exclude-user.txt. Туда можно добавить IP VPN-сервера, если его внешний TLS-трафик на физическом адаптере совпадает с одним из профилей ALT13. Для подключения через виртуальный мост можно указать имена нужных адаптеров в utils/vpn-adapters.txt, по одному на строку. После смены физических адаптеров службу нужно переустановить, чтобы пересобрать фильтр.

Маршрутизацию стратегия не меняет. Чтобы YouTube и Discord шли напрямую, их нужно направить в DIRECT в VPN-клиенте. Исключение TUN само по себе не выводит эти соединения из туннеля. Поэтому это не универсальное решение «запустить bat и забыть» для любого VPN.

Проверены выбор адаптеров, режимы Game Filter, исключение TUN для IPv4/IPv6, аргументы службы и сохранение старой службы при ошибке. Команды изменения служб и реестра в тестах подменены. На Windows в GitHub Actions настоящий winws собрал фильтр и запустил WinDivert с фильтром false, без перехвата пакетов. Все проверки прошли.

PR пока в draft: для этой версии ещё нужна проверка с реальным VPN-туннелем. Дополнительных README и инструкций в изменениях нет.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Flowseal/zapret-discord-youtube/pull/18078 **Author:** [@vincere-mori](https://github.com/vincere-mori) **Created:** 10/12/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `alt13-vpn` --- ### 📝 Commits (4) - [`f952ac2`](https://github.com/Flowseal/zapret-discord-youtube/commit/f952ac26641ce8ba163102bd6610aa95d36ebb29) add VPN-compatible ALT13 strategy - [`6352cab`](https://github.com/Flowseal/zapret-discord-youtube/commit/6352cabbeeec26e067983474857145a4232969e1) wait for service menu before test input - [`d5b352c`](https://github.com/Flowseal/zapret-discord-youtube/commit/d5b352c0ed53340f3b1533186f6d2a56f0e31ff7) fix service test input encoding - [`078726a`](https://github.com/Flowseal/zapret-discord-youtube/commit/078726ac2b955943948359bc0ad59b163e398af6) send menu input after startup checks ### 📊 Changes **10 files changed** (+764 additions, -2 deletions) <details> <summary>View changed files</summary> ➕ `.github/workflows/vpn-tests.yml` (+39 -0) 📝 `.gitignore` (+3 -1) ➕ `general (ALT13 VPN).bat` (+44 -0) 📝 `service.bat` (+20 -1) ➕ `tests/fixtures/alt13-all.filter.txt` (+14 -0) ➕ `tests/vpn-filter.ps1` (+139 -0) ➕ `tests/vpn-native.ps1` (+50 -0) ➕ `tests/vpn-packets.py` (+101 -0) ➕ `tests/vpn-service.ps1` (+177 -0) ➕ `utils/vpn-filter.ps1` (+177 -0) </details> ### 📄 Description Добавлена `general (ALT13 VPN).bat`. Параметры обхода взяты из обычной ALT13. При запуске стратегия находит физические сетевые адаптеры и ограничивает перехват их индексами. Пакеты на TUN-интерфейсе не попадают в winws; вручную прописывать ifIdx не нужно. Стратегию можно выбрать при установке службы через `service.bat`. Фильтр собирается самим winws через `--wf-save`, затем проверяется библиотекой WinDivert. Если подготовка не удалась, установка останавливается до удаления старой службы. В начале добавлен профиль без desync для адресов из `ipset-exclude-user.txt`. Туда можно добавить IP VPN-сервера, если его внешний TLS-трафик на физическом адаптере совпадает с одним из профилей ALT13. Для подключения через виртуальный мост можно указать имена нужных адаптеров в `utils/vpn-adapters.txt`, по одному на строку. После смены физических адаптеров службу нужно переустановить, чтобы пересобрать фильтр. Маршрутизацию стратегия не меняет. Чтобы YouTube и Discord шли напрямую, их нужно направить в DIRECT в VPN-клиенте. Исключение TUN само по себе не выводит эти соединения из туннеля. Поэтому это не универсальное решение «запустить bat и забыть» для любого VPN. Проверены выбор адаптеров, режимы Game Filter, исключение TUN для IPv4/IPv6, аргументы службы и сохранение старой службы при ошибке. Команды изменения служб и реестра в тестах подменены. На Windows в GitHub Actions настоящий winws собрал фильтр и запустил WinDivert с фильтром `false`, без перехвата пакетов. [Все проверки прошли](https://github.com/vincere-mori/zapret-discord-youtube/actions/runs/38285349468). PR пока в draft: для этой версии ещё нужна проверка с реальным VPN-туннелем. Дополнительных README и инструкций в изменениях нет. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror-bot added the pull-request label 2026-10-13 00:00:54 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Utilities/zapret-discord-youtube#516