ctf-ad-mirror-tool-rust/deploy/QUICKSTART.md

4.7 KiB
Raw Blame History

Mirror Tool — Linux x64

tar -xzf mirror-tool-linux-x64.tar.gz
cd mirror-tool-linux-x64
./run.sh

Панель слушает все IPv4-интерфейсы: http://IP-СЕРВЕРА:6700. Пароль по умолчанию: mirror-tool-change-me. Настройки — в mirror.toml:

[web]
listen = "0.0.0.0:6700"
password = "mirror-tool-change-me"
state_file = "data/state.json"

Измените password и перезапустите процесс. Минимум12 символов; перед использованием в общей сети замените стандартное значение. Созданный конфиг имеет права0600. Пароль не выводится в логи/API. Если password не указан, используется переменная MIRROR_PASSWORD; старый run.sh-пароль из data/panel-password также подхватывается. Явный web.password имеет приоритет. Запускать от root не требуется для портов выше1023.

Обновление с v0.1.0 не перезаписывает ваш конфиг: для доступа по IP измените существующее [web] listen на "0.0.0.0:6700" и задайте password в той же секции. Для локального доступа можно явно оставить "127.0.0.1:6700".

Первый запуск создаёт пустой 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 и cat. Для распаковки нужен 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.