Files
netrunner-app/src-tauri/tauri.conf.json
T
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

48 lines
1.7 KiB
JSON

{
"$schema": "https://schema.tauri.app/config/2",
"productName": "netrunner_app",
"version": "0.1.0",
"identifier": "com.netrunner.vpn",
"build": {
"beforeDevCommand": "pnpm dev",
"beforeBuildCommand": "pnpm build",
"devUrl": "http://192.168.110.169:1420",
"frontendDist": "../dist"
},
"app": {
"windows": [
{
"title": "Netrunner VPN",
"width": 500,
"height": 800
}
],
"security": {
"csp": "default-src 'self' tauri: localhost; script-src 'self' 'wasm-unsafe-eval' https://web.telegram.org https://*.telegram.org; worker-src 'self' blob:; connect-src 'self' tauri: http://tauri.localhost https://netrunner-vpn.com https://*.netrunner-vpn.com https://web.telegram.org https://*.telegram.org wss://*.web.telegram.org wss://*.tdlib.org; img-src 'self' data: https://web.telegram.org https://*.telegram.org; style-src 'self' 'unsafe-inline' https://web.telegram.org https://*.telegram.org; frame-src https://web.telegram.org https://*.telegram.org;"
}
},
"bundle": {
"active": true,
"targets": "all",
"icon": [
"icons/32x32.png",
"icons/64x64.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.png",
"icons/icon.ico",
"icons/icon.icns"
]
},
"plugins": {
"updater": {
"active": true,
"endpoints": [
"https://github.com/nineAp/netrunner-app/releases/latest/download/latest.json",
"https://CHANGE_ME_GITEA_SERVER/nineAp/netrunner-app/releases/download/latest/latest.json"
],
"pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDczRUU1OTM0MzM1N0M2MzkKUldRNXhsY3pORm51Yzl0YStpa1ZiWkgvWHByMTFBdlpCODJjWmt2UEEyMVI3WWg1MXZFZGt3ZmgK"
}
}
}