92 lines
3.4 KiB
Markdown
92 lines
3.4 KiB
Markdown
# Montana iOS — Юнона везде
|
||
|
||
100% Native Swift/SwiftUI • iOS 17+
|
||
|
||
**Юнона — единый диалог управления всей системой.**
|
||
Все приложения = интерфейсы к Юноне.
|
||
|
||
## Архитектура
|
||
|
||
```
|
||
iOS/
|
||
├── MontanaCore/ # SPM пакет — общее ядро
|
||
│ ├── Package.swift
|
||
│ └── Sources/MontanaCore/
|
||
│ ├── MontanaCore.swift # Типы, тема, Keychain, ссылки
|
||
│ └── AppStoreGuard.swift # Мониторинг удаления из App Store
|
||
│
|
||
├── Apps/
|
||
│ ├── JunonaAI/ # APP STORE — VPN + Диалог
|
||
│ │ ├── JunonaAI/
|
||
│ │ │ ├── JunonaAIApp.swift
|
||
│ │ │ ├── VPN/
|
||
│ │ │ │ └── MontanaVPN.swift
|
||
│ │ │ └── Views/
|
||
│ │ │ ├── VPNView.swift
|
||
│ │ │ └── InstallOtherAppsView.swift
|
||
│ │ └── JunonaVPNExtension/ # Network Extension
|
||
│ │ ├── PacketTunnelProvider.swift
|
||
│ │ └── PostQuantumTunnel.swift
|
||
│ │
|
||
│ ├── MontanaWallet/ # СЕРТИФИКАТЫ — Диалог + Кошелёк
|
||
│ │ └── MontanaWallet/
|
||
│ │ └── MontanaWalletApp.swift
|
||
│ │
|
||
│ └── MontanaContracts/ # СЕРТИФИКАТЫ — Диалог + Контракты
|
||
│ └── MontanaContracts/
|
||
│ └── MontanaContractsApp.swift
|
||
│
|
||
└── Distribution/
|
||
└── MontanaSign/ # LazyShop-style сервис
|
||
└── server.py # Flask API + Landing
|
||
```
|
||
|
||
## Юнона везде
|
||
|
||
| App | Канал | Юнона управляет |
|
||
|-----|-------|-----------------|
|
||
| Junona VPN | **App Store** | VPN, присутствие |
|
||
| Junona Wallet | Сертификаты | Баланс, переводы Ɉ |
|
||
| Junona Contracts | Сертификаты | Контракты, голосование |
|
||
|
||
**Почему так:**
|
||
- VPN легален в App Store (NordVPN, ExpressVPN)
|
||
- Крипто/финансы Apple блокирует → сертификаты
|
||
- Юнона — диалог управления во всех apps
|
||
|
||
## VPN + Присутствие
|
||
|
||
| Параметр | Значение |
|
||
|----------|----------|
|
||
| Ключевой обмен | ML-KEM-768 (Kyber, FIPS 203) |
|
||
| Шифрование | ChaCha20-Poly1305 |
|
||
| Узлы | Amsterdam (72.56.102.240), Almaty (91.200.148.93) |
|
||
| **Присутствие** | **1 секунда VPN = 1 Ɉ** (время, не трафик!) |
|
||
|
||
## Сборка
|
||
|
||
```bash
|
||
cd iOS/Apps/JunonaAI
|
||
open JunonaAI.xcodeproj
|
||
|
||
# File → Add Package → ../../MontanaCore
|
||
```
|
||
|
||
## Shared Resources
|
||
|
||
- **App Group:** `group.network.montana`
|
||
- **Keychain:** Shared между 3 apps
|
||
- **URL Schemes:** `montana-wallet://`, `montana-junona://`, `montana-contracts://`
|
||
|
||
## Документация
|
||
|
||
- [ARCHITECTURE.md](ARCHITECTURE.md) — общая архитектура
|
||
- [DISTRIBUTION_STRATEGY.md](DISTRIBUTION_STRATEGY.md) — стратегия распространения
|
||
- [VPN_ARCHITECTURE.md](VPN_ARCHITECTURE.md) — постквантовый VPN
|
||
|
||
## VPN Server
|
||
|
||
Серверная часть: `Русский/Бот/vpn_server.py`
|
||
- ML-KEM-768 + ChaCha20-Poly1305
|
||
- Деплой на Amsterdam/Almaty
|