Как получить ключ пользователя через 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 не выводит никакой информации, кроме статуса “запущен”. Версия core - 25.8.3.
Как правильно получить ключ пользователя через CLI в Marzban и как решить ошибку с аргументом ‘reverse’?
Чтобы получить ключ пользователя через CLI в Marzban, необходимо использовать правильную синтаксис команды и решить проблему с аргументом ‘reverse’. Вот подробное решение:
Содержание
- Правильная команда для получения ключа пользователя
- Решение ошибки с аргументом ‘reverse’
- Проверка версии Marzban
- Альтернативные методы получения ключа
- Устранение других проблем
Правильная команда для получения ключа пользователя
Основная команда для получения конфигурации пользователя через CLI Marzban:
marzban cli subscription get-config -u <имя_пользователя> -f [v2ray|clash] --base64
Где:
<имя_пользователя>- имя пользователя в вашей системе Marzban-f v2ray- формат в2рай (также поддерживается clash)--base64- вывод в формате base64
Если вы хотите сохранить результат в файл:
marzban cli subscription get-config -u <имя_пользователя> -f v2ray -o config.json
Важно: Убедитесь, что у вас есть права администратора для выполнения этой команды и что пользователь существует в системе Marzban.
Решение ошибки с аргументом ‘reverse’
Ошибка TypeError: generate_subscription() missing 1 required positional argument: 'reverse' возникает из-за изменения в API Marzban. Вот несколько способов решения:
1. Обновление Marzban до актуальной версии
Эта ошибка часто встречается в старых версиях. Обновите Marzban:
pip install --upgrade marzban
2. Использование переменной окружения
Добавьте в ваш .env файл или установите через переменную окружения:
export USE_CUSTOM_JSON_DEFAULT=True
3. Проверка конфигурации
Убедитесь, что у вас правильно настроен файл конфигурации. Согласно документации Marzban, добавьте в .env:
# Для v2rayNG
USE_CUSTOM_JSON_FOR_V2RAYNG=True
# Для других клиентов
USE_CUSTOM_JSON_FOR_V2RAYN=False
USE_CUSTOM_JSON_FOR_STREISAND=False
4. Альтернативный синтаксис команды
Попробуйте использовать альтернативный формат команды:
marzban subscription get-config -u <имя_пользователя> -f v2ray --base64
5. Если проблема сохраняется
Если ошибка остается, это может быть связано с конкретной версией. Проверьте issue #886 в GitHub, где обсуждаются похожие проблемы с конфигурацией v2ray.
Проверка версии Marzban
Чтобы проверить версию Marzban и core, используйте следующие команды:
Проверка версии Marzban CLI:
marzban --version
Проверка статуса и версии:
marzban status
Информация о версии core:
Версия core (25.8.3) указывается при установке. Чтобы проверить установленную версию:
xray version
Проверка через pip:
pip show marzban
Альтернативные методы получения ключа
Если CLI не работает, вы можете получить ключ пользователя другими способами:
1. Через веб-интерфейс Marzban
- Зайдите в веб-панель Marzban
- Перейдите в раздел “Users” или “Пользователи”
- Найдите нужного пользователя
- Скопируйте ссылку на подписку
2. Через API Marzban
Используйте API для получения конфигурации:
curl -X GET "http://localhost:8000/api/user/<имя_пользователя>/subscription/v2ray" \
-H "accept: application/json" \
-H "Authorization: Bearer <ваш_токен>"
3. Через Telegram бота
Если у вас настроен Telegram бот для Marzban, вы можете получить ключ через бота.
Устранение других проблем
1. Проблемы с разрешениями
Если команды CLI не работают, проверьте права пользователя:
sudo -u <пользователь_от_whom_запущен_marzban> marzban cli subscription get-config -u test -f v2ray
2. Проблемы с конфигурацией
Перезапустите Marzban после изменений в конфигурации:
marzban restart
3. Логирование ошибок
Для более детального анализа ошибок включите подробное логирование:
marzban cli subscription get-config -u test -f v2ray --verbose
4. Проверка зависимостей
Убедитесь, что все необходимые зависимости установлены:
pip install -r requirements.txt
Источники
- Marzban CLI Documentation - Official
- Marzban Configuration Guide
- GitHub - Marzban CLI Commands
- Issue #886 - QUIC bugs and subscription problems
- Marzban Changelog - Version 0.7.0 fixes
- Neonode.cc - Marzban CLI Tutorial
Заключение
- Основная команда для получения ключа пользователя:
marzban cli subscription get-config -u <имя> -f v2ray --base64 - Ошибка с ‘reverse’ аргументом обычно решается обновлением Marzban или настройкой переменных окружения
- Проверка версии через
marzban --versionиpip show marzban - Альтернативные методы включают веб-интерфейс и API для получения ключей
- Профилактика ошибок - регулярное обновление и проверка конфигурации
Если проблема сохраняется, рекомендуется проверить GitHub issues или обратиться к сообществу Marzban для получения более конкретной помощи по вашей версии и конфигурации.