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