Переезд с другой панели
nexora-migrate — небольшая программа, которая копирует пользователей и настройки другой VPN-панели в Nexora: учётные данные, остаток трафика, даты окончания, инбаунды, аутбаунды, маршрутизацию, DNS и администраторов. Если формат ссылок старой панели это позволяет, ваши клиенты сохраняют свою текущую ссылку подписки.
Программа работает как локальный веб-мастер на вашем компьютере или на сервере, читает старую панель и записывает данные в панель Nexora через её API.
Какие панели
| Панель | Откуда читается | Что переносится |
|---|---|---|
| s-ui | файл базы или работающая панель | пользователи, инбаунды, аутбаунды, эндпоинты, маршрутизация, DNS, администраторы |
| 3x-ui | файл базы или работающая панель | пользователи, инбаунды, WireGuard как эндпоинты, аутбаунды, маршрутизация, DNS, администраторы |
| x-ui (оригинал и его форки) | файл базы или работающая панель | то же, что у 3x-ui |
| Marzban | работающая панель | пользователи, администраторы, инбаунды, аутбаунды, маршрутизация, DNS |
| PasarGuard | работающая панель | то же, что у Marzban; каждая конфигурация ядра становится отдельным шаблоном |
| Hiddify | работающая панель | пользователи и администраторы |
| Marzneshin | работающая панель | пользователи и администраторы |
| Remnawave | работающая панель | пользователи |
s-ui, 3x-ui и x-ui хранят всё в одном файле SQLite: его можно скопировать с сервера и перетащить на страницу, и старой панели не обязательно работать. 3x-ui и x-ui оба называют свой файл x-ui.db, но хранят маршрутизацию по-разному: выбирайте 3x-ui для 3x-ui и x-ui для оригинального x-ui и его форков. При неверном выборе пользователи всё равно переносятся, но маршрутизация и аутбаунды приходят пустыми, и мастер об этом предупреждает.
Остальные панели читаются через их собственный API, с логином администратора sudo или с API-ключом.
Запуск
Скачайте версию для своей системы со страницы выпусков (Windows, Linux и macOS). В Linux:
curl -LO https://github.com/nexora-vpn/nexora-migrate/releases/latest/download/nexora-migrate-linux-amd64.tar.gz
tar -xzf nexora-migrate-linux-amd64.tar.gz
./nexora-migrateВ Windows распакуйте архив и дважды щёлкните nexora-migrate.exe. В macOS один раз снимите карантин загрузки командой xattr -d com.apple.quarantine nexora-migrate.
Программа печатает ссылку вида http://127.0.0.1:8787/?key=…. Откройте её в браузере. Ключ срабатывает один раз, а мастер слушает только 127.0.0.1. Чтобы запустить его на сервере, не открывайте порт: подключитесь через SSH-туннель и откройте ссылку на своём компьютере:
ssh -L 8787:127.0.0.1:8787 root@203.0.113.10-listen 127.0.0.1:9000 выбирает другой порт, а -no-browser только печатает ссылку.
Пять шагов
- Исходная панель. Выберите старую панель и укажите её файл базы или адрес. Вставьте адрес точно в том виде, в каком открываете его, вместе с секретным путём, если он есть.
- Просмотр и выбор. Все преобразованные элементы показаны по группам. Отметьте всё, группу или отдельные строки. Жёлтая строка переносится с изменением, которое объясняет её примечание. Красная строка перенесена быть не может и показана, чтобы вы о ней знали.
- Подключение Nexora. Адрес вашей панели Nexora и имя пользователя с паролем или API-токен. При двухфакторном входе — ещё и текущий код.
- Предпросмотр. Точно то, что будет создано, сколько места осталось в лицензии и какие имена уже заняты. Пока ничего не записано.
- Перенос. Ход показывается в реальном времени. В конце можно сохранить отчёт.
Что знать до переноса
- Ссылки подписки. Nexora отвечает и на старые ссылки
/sub/{token}. Для s-ui, 3x-ui, x-ui, Marzban и PasarGuard существующие ссылки продолжают работать, как только старый домен указывает на Nexora. Пользователи Marzneshin, Hiddify и Remnawave получают новые ссылки; мастер сообщает это для каждого пользователя. - Один набор учётных данных на пользователя. Nexora хранит для пользователя один UUID и один пароль. Если у старой панели они были свои для каждого протокола, UUID берётся из VLESS/VMess, а пароль — из Trojan/Shadowsocks, и в строке указано, что отброшено.
- Инбаунды преобразуются в формат Nexora. Настройки, у которых нет аналога в Nexora, например fallbacks, mux и маскировка заголовков TCP, отбрасываются с примечанием в строке. Инбаунд REALITY без приватного ключа получает новый ключ, и его пользователям нужны новые ссылки. Проверьте каждый инбаунд, прежде чем ставить его на узел.
- Аутбаунд
direct. Nexora сама даёт каждому узлу аутбаундdirect, поэтому старый не создаётся заново, а правила, которые на него ссылались, используют аутбаунд Nexora. - Пиры WireGuard переносятся на свой эндпоинт как есть. Пользователями Nexora они не становятся.
- На время переноса узлы приостанавливаются и синхронизируются один раз в конце, чтобы избежать тысяч обновлений. Они включаются обратно, даже если перенос не удался.
- Пароли администраторов перенести нельзя. Импортированные администраторы получают сгенерированный пароль, который показывается один раз на последней странице и нигде не сохраняется. Запишите его.
После переезда
Импортированные инбаунды, аутбаунды и правила собраны в шаблон Nexora. Назначьте этот шаблон своим узлам, затем проверьте, что узлы подключаются и ссылки работают (Первый пользователь за десять минут).
Пока программа работает, она держит логины обеих панелей. После неё ничего не остаётся: перетащенный файл базы удаляется при закрытии, а отчёт сохраняется, только если вы попросите.
