Commit Graph

48 Commits

Author SHA1 Message Date
nineap 24f3e5f454 Добавляет tauri-plugin-updater/process (desktop-only)
Регистрируется только под cfg(desktop) — Android/iOS самообновление
запрещено политиками сторов, там плагин не подключается вообще.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-09 16:36:39 +07:00
nineap 948f15d44a Gitea-native механизм публикации релиза (без tauri-action)
tauri-apps/tauri-action жёстко ходит в api.github.com для создания релиза и
загрузки апдейтер-артефактов — не настраиваемый эндпоинт, для Gitea не
годится ни при какой замене секретов. Вместо неё:

- scripts/gitea-publish-release.mjs — публикует релиз через прямые вызовы
  Gitea Release API: собирает latest.json (формат манифеста Tauri v2
  updater) из .sig-файлов подписанных бандлов, создаёт версионный релиз
  (тег = версия, для истории) и пересоздаёт релиз "latest" — у Gitea нет
  built-in алиаса /releases/latest/download/<file> как у GitHub, поэтому
  тег "latest" удаляется и создаётся заново на каждом релизе с теми же
  ассетами, чтобы URL апдейтера был стабильным. Оба релиза
  удаляются-и-пересоздаются — идемпотентно к повторному прогону тега.
- .gitea/workflows/release.yml — job "build" (та же матрица платформ) вызывает
  `tauri build` напрямую (подпись через TAURI_SIGNING_PRIVATE_KEY читает сам
  Tauri CLI, без разницы кто его вызывает), собирает пары <файл>+.sig в
  dist-bundle/ и грузит артефактом bundle-<updater_key>; job "publish"
  скачивает все артефакты и вызывает скрипт выше.
- tauri.conf.json: добавлен второй updater-эндпоинт (Gitea, плейсхолдер
  CHANGE_ME_GITEA_SERVER — заполнить реальным адресом) рядом с
  существующим GitHub — апдейтер пробует оба по порядку.

GitHub-версия пайплайна не тронута, продолжает работать через tauri-action
как раньше. Не проверено вживую на реальном Gitea/Windows/macOS раннере —
нет доступа в этой среде.

Нужные секреты в Gitea: GITEA_SERVER_URL, GITEA_TOKEN (личный токен с
правом записи в репозиторий), плюс уже существующие
TAURI_SIGNING_PRIVATE_KEY(_PASSWORD).
2026-07-09 14:36:08 +07:00
nineap 59c38d5f49 Android: включает генерацию BuildConfig для vpn-plugin модуля
С AGP 8+ генерация BuildConfig — opt-in per-модуль, а не глобальная
настройка. VpnPlugin.kt ссылается на BuildConfig.DEBUG (гейт debug-инспектора
WebView) — без buildFeatures.buildConfig=true релизная сборка падала
"Unresolved reference: BuildConfig" ещё на этапе компиляции Kotlin.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-08 23:46:55 +07:00
nineap 626e3b8fd4 Разделяет dev/prod окружения сборки для десктопа и мобилки
Отдельные .env.development/.env.production под VITE_API_BASE_URL,
tauri.dev.conf.json (десктоп с отдельным identity) и
tauri.test-backend.conf.json (мобилка, переключение только бэкенда),
плюс новые Makefile-таргеты и build:dev в package.json.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-08 22:51:48 +07:00
nineap 00765b12cd Android: чинит R8/ProGuard, обработку VPN permission и debug-инспектор
- consumerProguardFiles + усиленные keep-правила для Jackson — без них R8 в
  релизной сборке ломал десериализацию TunnelConfig, и кнопка подключения
  переставала что-либо делать без единой ошибки в логах.
- Проверка на null у builder.establish() и корректный resolve/reject запроса
  VPN-разрешения.
- WebView.setWebContentsDebuggingEnabled включается только под BuildConfig.DEBUG,
  а не безусловно в релизе.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-08 22:51:36 +07:00
nineap 79c9cb48aa Экран входа как гейт перед подключением, фикс matrix-engine и Android-иконки
Home теперь рендерится только когда isLoggedIn — до этого юзер видит
полноэкранный Login (анонимно/seed/Telegram), а не экран подключения; кнопка
VPN дополнительно блокируется на уровне VpnControl как defense-in-depth.
isLoggedIn — отдельный персистентный флаг, не совпадает с фактом наличия
фонового Ghost-токена (тот может тихо появиться до явного логина).

Заодно: matrix-engine в package.json указывал на путь другого пользователя
(/home/kirill/...) — поправил под текущую машину; прогнал `tauri icon`,
чтобы Android больше не показывал дефолтный логотип Tauri (иконка никогда не
генерировалась для этой платформы); dev-узел Singapore (DEV_IP) переведён на
порт 8443 вслед за прокси.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-07 18:21:40 +07:00
nineap 0cb6ad2860 Add seed/Telegram login button and traffic usage indicator
New non-blocking login panel on the Home screen (seed backup/restore +
Telegram magic-link via the bot deep-link, polled through the new backend
endpoints) — uses its own popover instead of a full-screen Dialog so the
burger menu stays clickable while it's open. VpnStats now shows a used/limit
usage bar backed by a new useUsageStore.

Also registers tauri-plugin-shell (needed to open the t.me deep-link) and
threads an optional auth token from the app down through TunnelConfig to the
proxy client (desktop + Android), for instances running --require-auth.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-07 00:31:27 +07:00
Kirill c852315d34 Add decoy SNI plumbing, bundle wintun.dll, fix flag icons, add docs
- Прокидываем sni (decoy-хост) по обновлённому UDL через весь стек:
  guest-js -> Tauri-команда -> desktop/mobile -> Kotlin spawnSession.
  Список серверов пока статичный (backend еще не отдает sni), но логика
  похода в реальный /api/v1/nodes оставлена под флагом на будущее.
- Бандлим wintun.dll в Windows-инсталлятор через bundle.resources в
  tauri.windows.conf.json - раньше он копировался только для
  локального cargo run/tauri dev, но не попадал в NSIS/MSI.
- Чиним падение мобильной сборки: гитигнорённые UniFFI Kotlin-биндинги
  отстали от обновленного UDL (не хватало параметра sni).
- Флаги стран - локальные SVG вместо react-country-flag в CDN-режиме:
  тот бился об CSP и не грузился офлайн.
- Добавляем дерево README.md по структуре проекта и точечные
  комментарии в неочевидных местах кода.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-02 19:29:29 +07:00
nineap 16760c16ea Country Select to API 2026-06-29 18:38:56 +07:00
nineap a878461264 logger init update 2026-06-18 13:44:14 +07:00
nineap 177c11e4df new vibration 2026-05-02 18:24:28 +07:00
nineap 031a1f3075 vibration update 2026-05-02 18:13:37 +07:00
nineap 6de8968f11 telegram free connection 2026-05-02 18:11:05 +07:00
nineap 6891e64c4f killswitch and domain list, also aexcluded apps 2026-04-30 16:12:36 +07:00
nineap 0e9bd2b166 loading screen 2026-04-28 12:23:52 +07:00
nineap e374f606a9 perfect 2026-04-14 16:35:42 +07:00
nineap 5c22a467fb info logs 2026-04-12 15:19:51 +07:00
Трапезников Кирилл Иванович 571874a538 laptop 2026-04-09 18:03:27 +10:00
nineap 90aa3c23ca for work on laptop 2026-04-08 19:14:16 +07:00
nineap 23443d41b8 wintun dll copy update 2026-04-05 15:57:12 +07:00
nineap f620909d63 new logo and fixes btn size 2026-04-05 15:46:11 +07:00
nineap bebb403a60 mtu change and btn size 2026-04-03 19:42:54 +07:00
nineap b81dc3f756 desktop counter 2026-04-01 18:43:20 +07:00
nineap bd51ac5ddf button update 2026-03-31 14:39:04 +07:00
nineap 0f7f01310e plugin fixes 2026-03-30 20:31:45 +07:00
nineap 17649bd1c0 counter 2026-03-27 17:34:40 +07:00
nineap 46b7f5dfa5 updates 2026-03-27 15:57:26 +07:00
nineap 0df2255095 changes after core update 2026-03-26 20:19:45 +07:00
nineap cf2f886981 mobile changes 2026-03-26 16:36:30 +07:00
nineap 79369520bb address change and background 2026-03-22 12:49:27 +07:00
nineap 12e7fdf422 desktop app windows 2026-03-20 13:33:52 +07:00
nineap 366168c7ad blocklist return ai fix 2026-03-19 12:58:28 +07:00
nineap 5e4ff5b81c icons update 2026-03-19 12:18:23 +07:00
nineap 8d5919f35e theme and lang save. Notification fix 2026-03-19 11:16:38 +07:00
nineap b95f31977e warnings fix and custom vibration 2026-03-19 10:48:23 +07:00
nineap c9b53b1cfe shorter version, but work [AI FULL] 2026-03-19 09:03:44 +07:00
nineap 3321036ae5 android working button version 2026-03-18 20:50:00 +07:00
nineap 8ffc14dfb0 notification off 2026-03-18 20:32:33 +07:00
nineap 8144d64f58 base working button with saved state 2026-03-18 19:59:07 +07:00
nineap f3b51cf50c [NON WORKING] Windows app (core error) 2026-03-15 23:48:50 +07:00
nineap dd05ffe6d7 linux mobile app 2026-03-15 19:43:25 +07:00
nineap 7142c2b0cc prod build tunnel crash fix. proguard rules 2026-03-13 15:07:53 +07:00
nineap ca880112d1 prod works 2026-03-13 14:37:27 +07:00
nineap d5acfe7448 first working version. tunnel establish 2026-03-12 21:39:03 +07:00
nineap dfc24b8da3 base android logic 2026-03-12 19:10:16 +07:00
nineap 2f7462e299 base vpn android plugin 2026-03-12 17:37:47 +07:00
nineap c765246d79 after move fixes 2026-03-11 21:49:09 +07:00
nineap cdca0a4e49 initial commit 2026-03-11 21:40:32 +07:00