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

61 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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