mirror of
https://github.com/mrvasil/ctf-ad-mirror-tool-rust.git
synced 2026-10-25 09:49:25 +00:00
61 lines
4.4 KiB
Markdown
61 lines
4.4 KiB
Markdown
# 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.
|