montana/iOS/INDEX.md

123 lines
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Montana iOS — Юнона везде
**Все приложения = диалог с Юноной**
## Навигация (4 вкладки)
```
[ Контакты ] [ Папки ] [ Юнона ] [ Настройки ]
```
## Уровни приватности
| Уровень | Шифрование | По умолчанию |
|---------|------------|--------------|
| **Интимное** | ML-KEM-768 + ChaCha20 (постквантовое) | ✅ ДА |
| Приватное | E2E шифрование | |
| Публичное | Без шифрования | |
## Приложения
### Junona VPN (App Store)
| Файл | Описание |
|------|----------|
| [JunonaAIApp.swift](Apps/JunonaAI/JunonaAI/JunonaAIApp.swift) | MainTabView + 4 вкладки |
| [FoldersView.swift](Apps/JunonaAI/JunonaAI/Views/FoldersView.swift) | Папки с уровнями приватности |
| [ContactsView.swift](Apps/JunonaAI/JunonaAI/Views/ContactsView.swift) | Контакты Montana |
| [SettingsView.swift](Apps/JunonaAI/JunonaAI/Views/SettingsView.swift) | Настройки + VPN |
| [VPNView.swift](Apps/JunonaAI/JunonaAI/Views/VPNView.swift) | UI для VPN |
| [MontanaVPN.swift](Apps/JunonaAI/JunonaAI/VPN/MontanaVPN.swift) | VPN Manager, присутствие по времени |
| [InstallOtherAppsView.swift](Apps/JunonaAI/JunonaAI/Views/InstallOtherAppsView.swift) | Ссылки на Wallet/Contracts |
| [PacketTunnelProvider.swift](Apps/JunonaAI/JunonaVPNExtension/PacketTunnelProvider.swift) | Network Extension |
| [PostQuantumTunnel.swift](Apps/JunonaAI/JunonaVPNExtension/PostQuantumTunnel.swift) | ML-KEM-768 + ChaCha20 |
### Junona Wallet (Сертификаты)
| Файл | Описание |
|------|----------|
| [MontanaWalletApp.swift](Apps/MontanaWallet/MontanaWallet/MontanaWalletApp.swift) | Диалог Юнона + Кошелёк Ɉ |
### Junona Contracts (Сертификаты)
| Файл | Описание |
|------|----------|
| [MontanaContractsApp.swift](Apps/MontanaContracts/MontanaContracts/MontanaContractsApp.swift) | Диалог Юнона + Контракты |
## MontanaCore (SPM)
| Файл | Описание |
|------|----------|
| [Package.swift](MontanaCore/Package.swift) | SPM manifest |
| [MontanaCore.swift](MontanaCore/Sources/MontanaCore/MontanaCore.swift) | Theme, Keychain, Links, Address, **PrivacyLevel**, **Folder**, **Contact** |
| [AppStoreGuard.swift](MontanaCore/Sources/MontanaCore/AppStoreGuard.swift) | Мониторинг удаления из App Store |
### Модели данных (MontanaCore.swift)
| Модель | Описание |
|--------|----------|
| `PrivacyLevel` | Интимное (default), Приватное, Публичное |
| `MontanaFolder` | Папка с уровнем приватности |
| `MontanaFolderItem` | Элемент в папке (note, photo, video, audio, file) |
| `MontanaContact` | Контакт с адресом mt... |
| `MontanaFolderStorage` | Менеджер хранения папок |
| `MontanaContactStorage` | Менеджер контактов |
## Distribution
| Файл | Описание |
|------|----------|
| [server.py](Distribution/MontanaSign/server.py) | LazyShop-style Flask API |
## Документация
| Файл | Описание |
|------|----------|
| [README.md](README.md) | Обзор iOS проекта |
| [ARCHITECTURE.md](ARCHITECTURE.md) | Архитектура 3 приложений |
| [DISTRIBUTION_STRATEGY.md](DISTRIBUTION_STRATEGY.md) | App Store + Сертификаты |
| [VPN_ARCHITECTURE.md](VPN_ARCHITECTURE.md) | Постквантовый VPN |
## Криптография
| Алгоритм | Назначение | Стандарт |
|----------|------------|----------|
| ML-KEM-768 | Ключевой обмен VPN | FIPS 203 |
| ML-DSA-65 | Подписи кошелька | FIPS 204 |
| ChaCha20-Poly1305 | Симметричное шифрование | RFC 8439 |
| HKDF-SHA256 | Деривация ключей | RFC 5869 |
## Bundle IDs
```
network.montana.junona # App Store
network.montana.junona.vpn # VPN Extension
network.montana.wallet # Сертификаты
network.montana.contracts # Сертификаты
```
## URL Schemes
```
montana-wallet:// # Открыть кошелёк
montana-junona:// # Открыть Юнону
montana-contracts:// # Открыть контракты
```
## VPN Узлы
| Узел | IP | Регион | Ping |
|------|-----|--------|------|
| Amsterdam | 72.56.102.240 | Европа | ~40ms |
| Almaty | 91.200.148.93 | Азия | ~80ms |
## Присутствие = Время VPN
```
1 секунда VPN = 1 Ɉ
НЕ трафик! Только время подключения.
VPN включён 1 час = 3600 Ɉ
```
---
*11 Swift файлов • 3 приложения Юноны • Постквантовая криптография*