montana/Russian/Genesis/ГЕНЕЗИС_2026-05-09_00-00_UTC/ВПН_ТОЧКА_ВХОДА.md

5.7 KiB
Raw Blame History

Точка входа — Генезис 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. DNScdn.montana.quest → IP-пул узлов.
  2. TON DNScdn.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 нового узла

# 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.