НейроАгент

Как получить ключ пользователя через CLI Marzban

Решение проблемы получения ключа пользователя через CLI Marzban. Пошаговое руководство по исправлению ошибки 'reverse' аргумента и альтернативные методы для работы с Marzban CLI.

Вопрос

Как получить ключ пользователя через 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’. Вот подробное решение:

Содержание

Правильная команда для получения ключа пользователя

Основная команда для получения конфигурации пользователя через CLI Marzban:

bash
marzban cli subscription get-config -u <имя_пользователя> -f [v2ray|clash] --base64

Где:

  • <имя_пользователя> - имя пользователя в вашей системе Marzban
  • -f v2ray - формат в2рай (также поддерживается clash)
  • --base64 - вывод в формате base64

Если вы хотите сохранить результат в файл:

bash
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:

bash
pip install --upgrade marzban

2. Использование переменной окружения

Добавьте в ваш .env файл или установите через переменную окружения:

bash
export USE_CUSTOM_JSON_DEFAULT=True

3. Проверка конфигурации

Убедитесь, что у вас правильно настроен файл конфигурации. Согласно документации Marzban, добавьте в .env:

bash
# Для v2rayNG
USE_CUSTOM_JSON_FOR_V2RAYNG=True
# Для других клиентов
USE_CUSTOM_JSON_FOR_V2RAYN=False
USE_CUSTOM_JSON_FOR_STREISAND=False

4. Альтернативный синтаксис команды

Попробуйте использовать альтернативный формат команды:

bash
marzban subscription get-config -u <имя_пользователя> -f v2ray --base64

5. Если проблема сохраняется

Если ошибка остается, это может быть связано с конкретной версией. Проверьте issue #886 в GitHub, где обсуждаются похожие проблемы с конфигурацией v2ray.

Проверка версии Marzban

Чтобы проверить версию Marzban и core, используйте следующие команды:

Проверка версии Marzban CLI:

bash
marzban --version

Проверка статуса и версии:

bash
marzban status

Информация о версии core:

Версия core (25.8.3) указывается при установке. Чтобы проверить установленную версию:

bash
xray version

Проверка через pip:

bash
pip show marzban

Альтернативные методы получения ключа

Если CLI не работает, вы можете получить ключ пользователя другими способами:

1. Через веб-интерфейс Marzban

  1. Зайдите в веб-панель Marzban
  2. Перейдите в раздел “Users” или “Пользователи”
  3. Найдите нужного пользователя
  4. Скопируйте ссылку на подписку

2. Через API Marzban

Используйте API для получения конфигурации:

bash
curl -X GET "http://localhost:8000/api/user/<имя_пользователя>/subscription/v2ray" \
-H "accept: application/json" \
-H "Authorization: Bearer <ваш_токен>"

3. Через Telegram бота

Если у вас настроен Telegram бот для Marzban, вы можете получить ключ через бота.

Устранение других проблем

1. Проблемы с разрешениями

Если команды CLI не работают, проверьте права пользователя:

bash
sudo -u <пользователь_от_whom_запущен_marzban> marzban cli subscription get-config -u test -f v2ray

2. Проблемы с конфигурацией

Перезапустите Marzban после изменений в конфигурации:

bash
marzban restart

3. Логирование ошибок

Для более детального анализа ошибок включите подробное логирование:

bash
marzban cli subscription get-config -u test -f v2ray --verbose

4. Проверка зависимостей

Убедитесь, что все необходимые зависимости установлены:

bash
pip install -r requirements.txt

Источники

  1. Marzban CLI Documentation - Official
  2. Marzban Configuration Guide
  3. GitHub - Marzban CLI Commands
  4. Issue #886 - QUIC bugs and subscription problems
  5. Marzban Changelog - Version 0.7.0 fixes
  6. Neonode.cc - Marzban CLI Tutorial

Заключение

  1. Основная команда для получения ключа пользователя: marzban cli subscription get-config -u <имя> -f v2ray --base64
  2. Ошибка с ‘reverse’ аргументом обычно решается обновлением Marzban или настройкой переменных окружения
  3. Проверка версии через marzban --version и pip show marzban
  4. Альтернативные методы включают веб-интерфейс и API для получения ключей
  5. Профилактика ошибок - регулярное обновление и проверка конфигурации

Если проблема сохраняется, рекомендуется проверить GitHub issues или обратиться к сообществу Marzban для получения более конкретной помощи по вашей версии и конфигурации.