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

63 lines
4.7 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
```
Панель слушает все IPv4-интерфейсы: **http://IP-СЕРВЕРА:6700**.
Пароль по умолчанию: **mirror-tool-change-me**. Настройки — в `mirror.toml`:
```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.