Add AmneziaWG mode (wireproxy-awg userspace SOCKS)

Third mode alongside proxy and VLESS+Reality. Bundles wireproxy-awg built
from a pinned, audited source commit (fork of wireproxy over the official
amneziawg-go), exposing a local SOCKS5 tunnel with no TUN/driver/admin.
User picks their AmneziaWG .conf; the app appends a [Socks5] section and
routes Claude through it with the same fail-closed firewall.

build-wireproxy.ps1 reproducibly builds the binary (portable Go + pinned
commit); it is embedded as a resource and not stored in git.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-10 14:58:21 +03:00
parent 88d5486607
commit 39b58e1a77
8 changed files with 266 additions and 39 deletions
+20 -2
View File
@@ -48,6 +48,20 @@ firewall-правила (при вкл/выкл рубильника).
Парсинг ссылки: Reality (pbk/sni/sid/spx/fp/flow) и транспорты tcp/grpc/ws.
## Режим AmneziaWG
Третий режим — **AmneziaWG** (WireGuard с обфускацией против DPI). Тоже userspace, без TUN/драйвера/
админа: встроенный `wireproxy-awg` поднимает локальный SOCKS5 поверх AmneziaWG-туннеля, Claude идёт
в него (fail-closed как в VLESS).
1. Переключи режим на **AmneziaWG**.
2. Кнопка **«Обзор...»** → выбери свой `.conf` от AmneziaWG (экспорт из приложения Amnezia или
с сервера — с обфускацией Jc/Jmin/Jmax/S1/S2/H1H4). «Сохранить».
3. Рубильник **ВКЛ** — бинарь распакуется из встроенного, поднимется туннель, Claude уйдёт в него.
`wireproxy-awg` собирается **из исходников** (`build-wireproxy.ps1`) из зафиксированного,
проаудированного коммита (форк известного `wireproxy` с официальным `amnezia-vpn/amneziawg-go`).
## Требования
- Windows 10/11 (нужен встроенный .NET Framework 4.x — есть из коробки).
@@ -63,8 +77,12 @@ powershell -ExecutionPolicy Bypass -File build-native.ps1
```
Компилит через `csc` из .NET Framework (`C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe`,
есть на любой Windows — SDK не нужен). При первой сборке скачивает Xray-core (пинованную версию,
с проверкой SHA256) и встраивает как ресурс; иконку генерит `make-icon.ps1`; манифест — asInvoker.
есть на любой Windows — SDK не нужен). При первой сборке:
- скачивает **Xray-core** (пинованную версию, с проверкой SHA256);
- собирает **wireproxy-awg** из исходников (`build-wireproxy.ps1`: портативный Go + пиновый коммит) —
нужны `git` и интернет;
- оба бинаря встраивает как ресурсы; иконку генерит `make-icon.ps1`; манифест — asInvoker.
Результат — `dist\ClaudeProxy.exe`.
Исходники (`native/`):