Как получить ключ пользователя через CLI в Marzban?
При попытке получить ключ пользователя Marzban через CLI с командой:
marzban cli subscription get-config -u user -f v2ray --base64
я получаю структуру JSON файла и ошибку:
TypeError: generate_subscription() missing 1 required positional argument: 'reverse'
Сам ключ пользователя не получается.
Команда marzban update якобы обновляет версию, но не указывает, на какую именно версию обновляется. Команда marzban status выводит только “запущен”, не показывая версию Marzban. Версия core - 25.8.3.
Как правильно получить ключ пользователя через CLI в Marzban и как определить текущую версию Marzban?
Чтобы получить ключ пользователя через CLI в Marzban, используйте правильную команду и настройте необходимые параметры. Ошибка с отсутствующим аргументом ‘reverse’ обычно связана с версионными несовместимостями или неправильной конфигурацией.
Для получения ключа пользователя выполните команду:
marzban cli subscription get-config -u username -f v2ray
Чтобы определить текущую версию Marzban, выполните:
marzban --version
Если команда --version не работает, проверьте файлы установки или выполните:
``<arg_value>
Contents
- Основные команды Marzban CLI для получения ключей пользователей
- Решение ошибки с аргументом ‘reverse’
- Определение версии Marzban
- Дополнительные параметры и форматы
- Устранение неполадок и рекомендации
- Примеры использования
Основные команды Marzban CLI для получения ключей пользователей
Для получения ключа пользователя через CLI в Marzban следует использовать команду get-config в разделе subscription. Основной синтаксис команды:
marzban cli subscription get-config -u [имя_пользователя] -f [формат]
Где:
-uили--username- имя пользователя-fили--format- формат вывода (v2ray, clash)
Пример базовой команды:
marzban cli subscription get-config -u myuser -f v2ray
Эта команда выведет конфигурацию пользователя в указанном формате, которая содержит всю необходимую информацию для подключения, включая ключи и настройки прокси.
Решение ошибки с аргументом ‘reverse’
Ошибка TypeError: generate_subscription() missing 1 required positional argument: 'reverse' обычно возникает из-за:
- Несовместимости версий - в более новых версиях Marzban изменилась структура аргументов функции генерации подписки
- Отсутствующих обязательных параметров окружения - некоторые переменные окружения должны быть настроены корректно
Чтобы решить эту проблему:
- Обновите Marzban до последней версии:
sudo marzban update
-
Проверьте и настройте переменные окружения. Убедитесь, что в файле
/opt/marzban/.envустановлены необходимые переменные, особенно:XRAY_SUBSCRIPTION_URL_PREFIX- префикс URL для подписокSUBSCRIPTION_DOMAIN- домен для подписок
-
Используйте альтернативный подход с сохранением в файл:
marzban cli subscription get-config -u myuser -f v2ray -o config.json
- Если проблема persists, попробуйте использовать команду для получения ссылки на подписку вместо прямой конфигурации:
marzban cli subscription get-link -u myuser
Определение версии Marzban
Поскольку команда marzban status не показывает версию, а marzban update не указывает целевую версию, используйте следующие методы:
- Команда версии (если доступна):
marzban --version
- Проверка через pip (если установлен через pip):
pip show marzban
- Проверка файлов установки:
ls -la /opt/marzban/
cat /opt/marzban/requirements.txt # может содержать версию
- Проверка через git (если установлен из исходников):
cd /opt/marzban
git log --oneline -1
- Проверка конфигурации:
cat /opt/marzban/.env | grep -E "(VERSION|TAG)"
Версия Xray core (25.8.3) указывается отдельно от версии Marzban GUI. Для полной совместимости убедитесь, что версия Marzban соответствует вашей версии Xray core.
Дополнительные параметры и форматы
Marzban CLI поддерживает различные форматы вывода и дополнительные параметры:
Поддерживаемые форматы:
v2ray- формат для V2Ray клиентовclash- формат для Clash клиентовbase64- кодирование в Base64 (добавляется через--base64)
Команда с сохранением в файл:
marzban cli subscription get-config -u myuser -f v2ray -o v2ray_config.json
Команда с кодированием Base64:
marzban cli subscription get-config -u myuser -f v2ray --base64
Просмотр всех доступных прокси пользователя:
marzban cli subscription get-proxies -u myuser
Получение ссылки на подписку:
marzban cli subscription get-link -u myuser
Важно: Для работы команды
get-linkнеобходимо установить переменную окруженияXRAY_SUBSCRIPTION_URL_PREFIX. Добавьте её в файл/opt/marzban/.env:XRAY_SUBSCRIPTION_URL_PREFIX=https://sub.yourdomain.com/sub/
Устранение неполадок и рекомендации
Частые проблемы и решения:
-
Ошибка “missing 1 required positional argument: ‘reverse’”:
- Обновите Marzban до последней версии
- Проверьте совместимость версий Marzban и Xray core
- Убедитесь, что все переменные окружения настроены корректно
-
Пустой вывод или ошибка аутентификации:
- Проверьте права доступа пользователя
- Убедитесь, что пользователь существует
- Проверьте подключение к API Marzban
-
Некорректный формат вывода:
- Убедитесь, что выбранный формат поддерживается вашим клиентом
- Проверьте кодировку вывода
Рекомендации по обновлению:
- Запустите обновление:
sudo marzban update
- Перезапустите сервис:
sudo marzban restart
- Проверьте статус:
sudo marzban status
- Проверьте работу CLI:
marzban cli --help
Примеры использования
Пример 1: Получение конфигурации пользователя в V2Ray формате:
marzban cli subscription get-config -u testuser -f v2ray
Вывод будет содержать JSON конфигурацию с настройками прокси.
Пример 2: Сохранение конфигурации в файл:
marzban cli subscription get-config -u testuser -f v2ray -o ~/v2ray_config.json
Пример 3: Получение конфигурации в Clash формате:
marzban cli subscription get-config -u testuser -f clash
Пример 4: Получение подписки в Base64 формате:
marzban cli subscription get-config -u testuser -f v2ray --base64
Пример 5: Проверка существования пользователя:
marzban cli user list | grep testuser
Если пользователь не найден, сначала создайте его через веб-интерфейс или CLI:
marzban cli user create --username testuser --data-limit 100 --expire 30
Sources
- Marzban CLI Official Documentation
- Neonode.cc Marzban CLI Guide
- GitHub Marzban CLI Source Code
- Marzban Configuration Documentation
- Marzban Subscription Documentation
- Marzban GitHub Repository
- Marzban Changelog
Conclusion
- Для получения ключа пользователя через CLI используйте команду
marzban cli subscription get-config -u [имя] -f [формат] - Ошибка с аргументом ‘reverse’ обычно связана с версионными несовместимостями - обновите Marzban до последней версии
- Чтобы определить версию Marzban, попробуйте команды
marzban --version,pip show marzbanили проверьте файлы установки - Настройте необходимые переменные окружения, особенно
XRAY_SUBSCRIPTION_URL_PREFIXдля работы с подписками - Сохраняйте конфигурации в файлы с помощью параметра
-o [файл]для удобства использования - Проверяйте совместимость версий Marzban и Xray core для стабильной работы
Если проблемы сохраняются, обратитесь к официальной документации Marzban или сообществу для получения помощи с конкретной версией и конфигурацией.