# Mirror Tool — Linux x64 ```sh tar -xzf mirror-tool-linux-x64.tar.gz cd mirror-tool-linux-x64 ./run.sh ``` Панель: http://127.0.0.1:6700. В другом терминале из этой папки: ```sh cat data/panel-password ``` Пароль генерируется случайно при первом запуске и сохраняется с правами0600. Можно передать собственный пароль через MIRROR_PASSWORD (не менее12 символов). Пароль не выводится в логи. Запускать от root не требуется для портов выше1023. Для удалённого сервера откройте туннель со своего компьютера: ```sh ssh -N -L 6700:127.0.0.1:6700 user@server ``` Затем откройте http://127.0.0.1:6700 на своём компьютере. Панель по умолчанию доступна только локально; не публикуйте её HTTP-порт в игровой сети. Первый запуск создаёт пустой mirror.toml. Добавьте команды и прокси в панели; нажмите название сервиса для настройки слушателя и upstream-порта. Выберите primary, реплики и включите сервис. Порты должны быть свободны. Подмена флагов выключена; системные маршруты/firewall не изменяются. Игровые адреса не угадываются. mirror.example.toml содержит полный пример. Для ForcAD добавьте [scoreboard] в mirror.toml и перезапустите процесс. Подробности в docs/configuration.md. `./run.sh check` проверяет конфиг, но не сетевую доступность или ключ кеша. Остановка: Ctrl+C или SIGTERM. Для постоянной работы используйте tmux либо приложенный шаблон systemd (требует установки бинарника, пользователя и конфигов, как описано в исходном README проекта). С закрытием SSH foreground-процесс может завершиться. run.sh сам автозапуск и системную службу не устанавливает. Сохраняйте mirror.toml и каталог data при обновлении. Архив их не содержит: распаковка обновления не заменяет рабочие настройки/пароль/состояние. Остановите процесс перед обновлением. Настройки команд/сервисов из data/state.json имеют приоритет над TOML. Резервную копию делайте при остановленном процессе. Бинарник статический (musl), базовая архитектура x86-64, без требования AVX. Не нужны glibc, Rust, Python, Node, Docker или отдельная SQLite. Для run.sh нужны обычные /bin/sh, uname, dirname, mkdir, od, tr, cat и /dev/urandom. Для распаковки нужен tar с gzip. Linux kernel3.2+ — базовый минимум target Rust; конкретная старая система не считается проверенной только по номеру ядра. Ограничения контейнера, seccomp, права, доступная память, файловые дескрипторы и сеть всё равно действуют. Проверка архива: `sha256sum -c SHA256SUMS` до распаковки. BUILD-COMMIT указывает исходный коммит. Репозиторий и Releases приватные: скачивание требует доступа к GitHub. С GitHub CLI: `gh release download --repo mrvasil/ctf-ad-mirror-tool-rust --pattern 'mirror-tool-linux-x64.tar.gz' --pattern SHA256SUMS` (одной строкой). Перед игрой проверьте checker и переключение на своих сервисах: зеркалирование TCP-запросов не является репликацией БД. Подробнее: docs/flag-protection.md.