nineap 2f7ef55856 CI: GITEA_SERVER_URL переносит из secrets в vars
Публичный URL Gitea-сервера сам по себе не секрет — только GITEA_TOKEN
остаётся в secrets.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-09 16:36:39 +07:00
2026-04-28 12:23:52 +07:00
2026-06-29 18:38:56 +07:00
2026-06-29 18:38:56 +07:00
2026-06-29 18:38:56 +07:00
2026-03-11 21:40:32 +07:00
2026-04-28 12:23:52 +07:00
2026-03-11 21:39:48 +07:00
2026-03-31 14:39:04 +07:00
2026-04-28 12:23:52 +07:00
2026-04-28 12:23:52 +07:00

Netrunner VPN

Клиентское приложение VPN с stealth-протоколом (маскировка ClientHello под decoy-домен через SNI). Гибридный стек: React-фронтенд + Rust-бэкенд на Tauri 2, нативный VPN-движок подключается как приватный крейт по FFI (UniFFI).

Структура репозитория

Путь Что внутри Документация
src/ React/TypeScript UI (Vite) src/README.md
src-tauri/ Rust-оболочка Tauri + нативный VPN-плагин src-tauri/README.md

Каждая поддиректория с самостоятельной логикой имеет свой README.md — смотри дерево докам по ссылкам выше, дальше они ведут друг к другу.

Технологии

  • Frontend: React 19, TypeScript, Vite, Zustand (стейт), react-i18next (RU/EN), Tailwind + shadcn/radix-ui, framer-motion.
  • Backend: Rust, Tauri 2 (десктоп: Windows/Linux/macOS, мобильный: Android/iOS).
  • VPN-движок: приватный крейт netrunner_client (репозиторий netrunner-core, отдельно от этого проекта) — подключается через UniFFI: напрямую из Rust на десктопе, через сгенерированные Kotlin-биндинги на Android.

Сборка

Команды из Makefile:

make dev-linux          # dev-сборка + запуск с cap_net_admin
make dev-android        # gradle clean + tauri android dev
make build-windows      # инсталлятор под Windows (NSIS/MSI, с wintun.dll)
make build-android-arm64
make install            # adb install собранного APK

Фронтенд отдельно: pnpm dev / pnpm build (см. package.json).

Важные нюансы

  • Windows: wintun.dll бандлится в инсталлятор через src-tauri/tauri.windows.conf.json (bundle.resources) — см. src-tauri/README.md.
  • Android: UniFFI-биндинги и .so-библиотеки VPN-движка — это гитигнорённые build-артефакты, которые нужно вручную регенерировать при изменении UDL в netrunner-core. Забытая регенерация — частая причина падения мобильной сборки. Подробности: src-tauri/src/plugins/vpn-plugin/android/README.md.
  • Список серверов пока захардкожен на фронте (см. src/store/README.md), потому что бэкенд /api/v1/nodes ещё не отдаёт поле sni (decoy-хост) — логика подключения к реальному API уже написана и просто выключена флагом.
S
Description
No description provided
Readme AGPL-3.0 9.3 MiB
Languages
TypeScript 68.7%
Kotlin 11.7%
Rust 9.5%
JavaScript 5.4%
CSS 2.5%
Other 2.2%