# RU family subscriptions — операционная приёмка 23.10.2026 Задание CODEX-ru-family-subscriptions.md выполнено на RU. DE проверен только на чтение; FI/DK и системный proxy домашней машины не менялись. Операционная приёмка PASS; этот PR содержит только отчёт и не заменяет независимое ревью. ## Одна запись на человека Владелец уточнил, что дубли пользователей с разными настройками не нужны, и самостоятельно переименовал/прикрепил клиентов. Финальный результат сохраняет эти изменения: Виктор, Яна, Ярик, Саша, Сервера — ровно пять глобальных Clients. У каждого один UUID, один subId, одинаковые неограниченные настройки без срока, привязка ко всем трём inbound. Идентичность сверена с новым checkpoint после правок владельца. Устаревший откат остановлен, чтобы не затереть его изменения. Каждая стабильная подписка содержит в порядке: «⚡ Авто», «🇩🇪 Германия», «🇷🇺 Россия». Авто и Германия отправляют RU-направления напрямую, прочие — через DE; Россия отправляет всё напрямую. Авто использует leastLoad по vpn-, fallback blocked. Прежние outbounds сохранены, прежние routing rules сохранены в прежнем порядке. ## TLS и доступ Публичная подписка — HTTPS sub.ochenstarik.ru на TCP2096; порт обязателен, поскольку TCP443 занят Reality. Случайный путь не менее 32 символов, обновление раз в 12 часов. Старый стандартный путь возвращает404. Панель2053 слушает только loopback, UFW не открывает её наружу. VPN443/24443/24444 и TLS2096 доступны согласно назначению; HTTP80 после challenge закрыт. После обновления DNS все пять ссылок проверены обычным curl из текущей сети: HTTP200, нормальная проверка TLS, без подмены DNS и SSH data tunnel. Сертификат Let's Encrypt установлен; certbot.timer включён. Реальный renewal dry-run с --no-random-sleep-on-renew завершился успешно. Pre/post hooks временно открывают/закрывают80, deploy hook перезапускает x-ui. Первая попытка ожидала случайную задержку certbot и была прервана по таймауту; проверки сертификата не отключались. Секретные URL сохранены только в операторском family_subscriptions.txt (0600) в согласованном защищённом каталоге. UUID, subId, Reality private keys, реальные адреса серверов и случайные пути в этот отчёт не включены. Импорт в Happ на телефонах выполняет владелец. ## Причина нестабильности и реальные проверки У исходного inbound camouflage target и набор разрешённых SNI не совпадали: подписка выбирала случайное постороннее имя. На всех трёх inbound установлен согласованный проверенный TLS1.3 target/SNI www.microsoft.com; ключи самостоятельны, старый ключ Германии сохранён. После исправления все 15 профилей (5 × 3) прошли проверку зарубежного и российского направления. Временные клиенты не изменяли системный proxy и были остановлены. Для российского IP использована страница Интернетометра Яндекса с проверкой отображаемого IPv4. Его /api/v0/ip возвращал loopback даже напрямую с RU и не использован как доказательство маршрута. Контроль страницы с RU и текущего DE давал разные ожидаемые роли; в семейных профилях российская страница показывала RU. Зарубежный IP соответствовал DE для Авто/Германии и RU для России. Тела ответов с адресами не публикуются. ## Отказ и восстановление Отдельная nft-таблица на RU блокировала только RU→DE TCP24443. Независимое автоматическое удаление через60с включено до правила. Пять проб на0.0/4.9/9.8/14.7/17.6с подтвердили отказ зарубежного Авто без тихого выхода через RU; российские назначения Авто и строка Россия продолжали работать. Это пять проб, а не непрерывная запись всего окна отказа. Правило удалилось автоматически, Авто восстановился через DE; общая длительность проверки139.5с. leastLoad учитывает историю burst-измерений, поэтому возврат не мгновенный. Сейчас зарубежный выход один; сравнительная скорость и переключение между несколькими выходами не заявлены проверенными. После добавления FI/DK требуется отдельная многосерверная приёмка. ## Аудит и восстановление x-ui active, certbot.timer enabled; временная fault-таблица отсутствует, собственные fault/rollback timers остановлены. Согласованные root-only snapshots: исходный /root/codex-family-before-20261023 и сохраняющий правки владельца /root/codex-family-before-final-20261023; каталоги0700, БД0600. Финальный accepted marker защищает от позднего устаревшего отката. В просмотренном журнале x-ui за последние2ч текущие семейные секреты не обнаружены. DE сверён с runbook без изменений: exit24443 включён, firewall только от RU, домашний443 сохранён. Отдельный runbook: [PR24](https://git.ochenstarik.ru/ochenstarik/lightweight-server/pulls/24), docs/runbooks/ru-hub-add-exit.md. Скрипт установки не добавлен: текущий API различает глобальные Clients, DTO и формы; для пяти записей выбран проверяемый операторский runbook. Санитизированные доказательства сохранены локально в reports/ru-family-20261023 и постоянном artifact bundle. Основные SHA256: - acceptance-proof.json: c9835ca9bfab097882904505b96e7599bc6ebe04869474ab4fd139cfc4622ccf - family-proof.json: 33522f9f0eb7826c60a9c8cac8afa22a9f2db0b0ab14accdd7a105de8fca9f8e - fault-proof.json: 51a5d25e53e3cca4f7b4440fcffaf5c44a7909c57a251003cdb8d802c65241e7 - renewal-proof.json: 51b59def3d7cb5a9fc1ac1df2c01487e7cc6400345f8d8e22fa499261c656aa7 CI и разрешённое независимое ревью проверяются отдельно на точном SHA PR. Самостоятельного слияния отчёта без review gate нет; automation30 не возобновлялась, новые KAgent/Telegram прогоны не запускались.