diff --git a/Russian/Genesis/ГЕНЕЗИС_2026-05-09_00-00_UTC/ВПН_ТОЧКА_ВХОДА.md b/Russian/Genesis/ГЕНЕЗИС_2026-05-09_00-00_UTC/ВПН_ТОЧКА_ВХОДА.md new file mode 100644 index 00000000..e1c09cf7 --- /dev/null +++ b/Russian/Genesis/ГЕНЕЗИС_2026-05-09_00-00_UTC/ВПН_ТОЧКА_ВХОДА.md @@ -0,0 +1,100 @@ +# Точка входа — Генезис 2026-05-09 00:00 UTC + +Bootstrap-пакет Montana-сети. Любой клиент с этим пакетом подключается к сети через гарантированно живой узел и далее получает peer-list для работы в mesh. + +## Корень доверия + +``` +Алгоритм: ed25519 +Публичный: MtE485L/O87feImV8XjSdPPskgestVd7mqJvKo9MRas= +Отпечаток: e4eb11c9d198ab80 +Создан: 2026-05-09 00:00 UTC +Ротация: запрещена (часть Генезиса) +Приватный: macOS Keychain, service=montana-genesis-root, account=rootkey +``` + +Этот ключ подписывает: HEAD-коммит репозитория `Ничто`, peer-announcements в mesh, любые Genesis-обновления (которых не должно быть). + +## Точка входа VPN (eternal entry) + +``` +Протокол: VLESS + Reality + XTLS-Vision +Маска SNI: www.googletagmanager.com +Порт: 443 +Public key: EkTs2aGKnFNgFZ0f7wgft2sJp3VjwFQqIrwkZKM4gD8 +Short ID: 302805bc0c25e504 +UUID: e6d355e2-2d79-4c96-a373-3b0e6b6f4b0d +``` + +### Адресация (каскад резолвинга) + +1. **DNS** — `cdn.montana.quest` → IP-пул узлов. +2. **TON DNS** — `cdn.junomoneta.ton` → IP-пул узлов (когда блокчейн-запись прописана). +3. **IP-fallback** — клиент берёт IP из локального пула, минуя резолвинг. + +### IP-пул (реплицируемые узлы) + +``` +Helsinki 91.132.142.42 AS24940 (Hetzner) +Frankfurt 89.19.208.158 AS9123 (Timeweb) +Moscow 176.124.208.93 AS9123 (Timeweb) +``` + +Все узлы держат идентичный xray-конфиг с тем же UUID + Reality keypair. Падение любого узла не выводит сеть из строя — DNS round-robin или клиентский fallback переключают на следующий. + +### Готовые ссылки + +``` +vless://e6d355e2-2d79-4c96-a373-3b0e6b6f4b0d@cdn.montana.quest:443?flow=xtls-rprx-vision&type=tcp&headerType=none&security=reality&fp=chrome&sni=www.googletagmanager.com&pbk=EkTs2aGKnFNgFZ0f7wgft2sJp3VjwFQqIrwkZKM4gD8&sid=302805bc0c25e504#Montana-FIN + +vless://e6d355e2-2d79-4c96-a373-3b0e6b6f4b0d@cdn.junomoneta.ton:443?flow=xtls-rprx-vision&type=tcp&headerType=none&security=reality&fp=chrome&sni=www.googletagmanager.com&pbk=EkTs2aGKnFNgFZ0f7wgft2sJp3VjwFQqIrwkZKM4gD8&sid=302805bc0c25e504#Montana-TON +``` + +## Источник Genesis (зеркала репозитория `Ничто`) + +Репозиторий проекта реплицируется на всех Genesis-узлах. Любой узел = полноценный источник для bootstrap нового узла. + +``` +Master https://hub.montana.quest/efir369999/montana (Gitea, Moscow) +Mirror-1 https://91.132.142.42/ничто.git (git-http-backend, Helsinki) +Mirror-2 https://89.19.208.158/ничто.git (git-http-backend, Frankfurt) +TON https://junomoneta.ton/ничто.git (через TON-резолвер) +``` + +Реплика синхронизируется с master через post-receive hook на Gitea: каждый push на master triggers `git push --mirror` на оба mirror-узла. + +## Bootstrap нового узла + +```bash +# 1. Резолвинг живого источника +SOURCE=$(montana-resolve junomoneta.ton || echo "91.132.142.42") + +# 2. Клонирование репозитория +git clone "https://${SOURCE}/ничто.git" /opt/montana + +# 3. Верификация HEAD-подписи против Genesis root pubkey +montana-verify-head /opt/montana \ + --pubkey "MtE485L/O87feImV8XjSdPPskgestVd7mqJvKo9MRas=" \ + || { echo "Genesis verification FAILED"; exit 1; } + +# 4. Инициализация узла из проверенной папки +montana-node init --from-folder /opt/montana \ + --genesis "Montana/Russian/Genesis/ГЕНЕЗИС_2026-05-09_00-00_UTC" + +# 5. Получение peer-list и переход на mesh-операции +montana-node peers fetch --bootstrap-via VLESS +``` + +## Договорённости (часть Генезиса) + +1. **Один Reality-приватник на все реплики.** Компрометация любого узла = публикация ВПН для всех. Это сознательный выбор: VPN — публичный сервис, не приватный канал. +2. **Genesis root pubkey не ротируется.** Если когда-либо потребуется — это новый Генезис (новая дата, новая папка), не апдейт текущего. +3. **Bootstrap-пакет append-only.** Содержимое `ГЕНЕЗИС_2026-05-09_00-00_UTC/` неизменно после публикации. Новые поля (новые узлы, новые домены) добавляются как отдельные документы рядом с этим, со ссылкой обратно на корень. + +## Масштабирование + +Текущая схема (DNS round-robin + 3 узла) работает до ~10K активных клиентов. При росте: + +- **10K → 100K**: anycast IP, BGP-объявления своего префикса, узлы по континентам. +- **100K → 1M**: federated `/vpn/sub` с автоматической агрегацией всех узлов сети. +- **1M+**: DHT peer-discovery поверх Genesis bootstrap. Genesis остаётся как «первый звонок», DHT берёт на себя routing.