Ruter Cleanup 1.0.0-rc1

Отдельная утилита аварийного удаления Windows Ruter (C:\Ruter).
Не требует установленного Ruter, SDK, Python или доступа в интернет.
Windows 10/11 x64, штатный Windows PowerShell 5.1. Нужны права администратора.

ВАЖНО: это кандидат для проверки на тестовой Windows. Реальное удаление
на Windows ещё не подтверждено. До проверки не распространяйте как стабильный выпуск.

Запуск:
1. Если возможно, сделайте снимок тестовой виртуальной машины.
2. Распакуйте ВЕСЬ ZIP в отдельную папку вне C:\Ruter, например на рабочий стол.
3. Откройте Ruter-Cleanup.cmd, подтвердите запрос Windows.
4. Прочитайте область удаления. Введите УДАЛИТЬ либо Enter для отмены.
   Если маркер/регистрация/задачи отсутствуют, удаление неподтверждённой папки
   требует отдельного ввода C:\Ruter. Junction/symlink удалять запрещено.
5. Дождитесь результата. При запросе перезагрузки перезагрузите Windows
   и повторите запуск. Ошибки не маскируются сообщением об успешной очистке.

Без удаления, из PowerShell администратора:
  powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\Ruter-Cleanup.ps1

Что очищается:
- известные процессы Ruter (точные пути, не общие имена sing-box/Xray/Mihomo);
- подтверждённые задачи Ruter-SingBox и RuterForward;
- локальное правило TCP-реле Ruter, порт 34010;
- устройство Wintun с именем Ruter Windows VPN (не общий пакет драйверов);
- C:\Ruter со ВСЕМИ подписками, настройками, отчётами, логами и бэкапами;
- AppData\Local\Ruter и ярлыки текущей учётной записи, общие ярлыки;
- точные записи установщика Ruter в HKLM64/HKLM32/HKCU;
- собственные ключи Software\Ruter, если подтверждена установка.

Ограничения безопасности:
- Не выгружает работающий WinDivert: им может пользоваться другой VPN.
  При таком остатке задачи уже удалены; после перезагрузки повторите очистку.
  Удаляется только неработающая служба, указывающая на файл драйвера Ruter.
- Не останавливает Happ и другие VPN; не удаляет их драйверы и устройства.
- Forwarding восстанавливается только по сохранённым значениям и совпавшему
  индексу, имени и IPv4 адаптера. Если маркер отсутствует/повреждён или сеть
  изменилась, исходные настройки НЕ угадываются. Шлюз и DNS не меняются.
- Не чистит чужие профили Windows, Windows Event Log, Prefetch и прочие
  системные истории. Для другого пользователя локальная очистка запускается
  отдельно из его учётной записи с подходящими правами.
- При недоступных/занятых/неподтверждённых компонентах результат неполный:
  они перечисляются в журнале. В таком случае не заявляется полное удаление.

Журналы и восстановление:
  C:\ProgramData\Ruter-Cleanup\дата-идентификатор\
Папка остаётся ПОСЛЕ удаления специально и не мешает новой установке Ruter.
Доступ ограничен администраторами/SYSTEM. Сохраняются журнал, исходные сетевые
метаданные и резервные копии удаляемых ключей реестра. Ключи Software\Ruter
могут содержать личные настройки. Не публикуйте эту папку целиком.
Подписки и файлы программы не архивируются: их удаление необратимо без вашего бэкапа.

Коды: 0 — отмена/просмотр либо успешная проверенная очистка (смотрите текст);
1 — неполное выполнение/ошибка; 3010 — нужна перезагрузка и повторный запуск.

Проверено локально: 30 тестов правил принадлежности, синтаксис скриптов,
изолированные имитаторы процессов/драйверов, защита от symlink и упаковка ZIP.
До публикации проверить на Windows 10 и 11: отмена, просмотр, установленный
8.6/8.7, отсутствие C:\Ruter при оставшейся регистрации, повреждённый маркер,
повторный запуск, запущенный Happ, WinDivert после перезагрузки, junction,
интерфейс с изменившимся IP, путь утилиты с пробелами/кириллицей.

Обычный деинсталлятор предпочтительнее. Эта утилита предназначена для
сломанных установок и остатков, мешающих повторной установке.
