Восстановление из копии
Два способа вернуть пользователей: восстановление в один клик прямо в панели (идемпотентный повторный импорт) или ручное восстановление в «чистый» Marzban, ведь файл — это нативный формат пользователей Marzban.
Бэкап хорош ровно настолько, насколько удобно из него восстанавливаться. Способов вернуть пользователей два — простой прямо в панели и ручной для продвинутых случаев (или если вы когда-нибудь уйдёте с CreateYourVPN).
Вариант 1. Восстановление в панели
Самый простой путь. На странице пользователей или на странице «Резервные копии» есть кнопка «Восстановить из копии».
Нажмите «Восстановить из копии» и выберите нужную копию (из вашего хранилища Google Drive / S3).
Подтвердите восстановление. CreateYourVPN расшифрует копию за вас — парольную фразу вводить не нужно.
CreateYourVPN заново импортирует пользователей в текущую конфигурацию кластера.
Импорт идемпотентен, поэтому его безопасно запускать повторно:
- существующие пользователи обновляются под содержимое копии,
- отсутствующие пользователи создаются заново с их исходным UUID, так что старые клиентские конфиги продолжают работать,
- подписки сохраняются при восстановлении в тот же кластер.
Восстановление в панели расшифровывает копию за вас автоматически. (Отдельный экспорт в открытом виде — кнопка «Скачать» — не зашифрован, поэтому храните этот файл в тайне.)
Вариант 2. Восстановление в «чистый» Marzban
Скачанный бэкап — это просто нативный формат пользователей Marzban, тот самый, который ожидает собственный API Marzban, плюс одно дополнительное поле _cyv, которое обычный Marzban попросту игнорирует. Это значит, что вы можете воссоздать аккаунты на любом Marzban, даже на том, который никогда не видел CreateYourVPN.
Используйте экспорт в открытом виде — кнопку «Скачать» на странице «Бэкапы» — как исходный файл. (Зашифрованные копии в облаке можно восстановить только через панель — вручную их не расшифровать.)
Пройдите циклом по массиву users в файле и отправьте каждую запись в целевую панель:
POST /api/userКаждый объект пользователя уже в формате Marzban, поэтому проходит как есть. UUID прокси в поле proxies.vless.id передаётся в теле запроса, так что воссозданные аккаунты сохраняют тот же UUID — существующим клиентским приложениям новый не нужен.
Честная оговорка. Воссоздать аккаунты — только половина дела. Чтобы существующий клиентский конфиг пользователя продолжал подключаться, целевая панель должна иметь те же инбаунды, настройки Xray и host, что и оригинал. Если целевая панель настроена иначе, аккаунты создадутся корректно, но каждому клиенту придётся заново получить свою подписку, чтобы подтянуть новые параметры подключения. Восстановление в тот же кластер (Вариант 1) полностью снимает эту проблему.