Перейти к содержанию

Marzban - Детальная инструкция [Marzban + Warp + Sub-Page + Telegram Bot]


DigneZzZ

Рекомендуемые сообщения

  • Админы

ShadowSocks решения: Marzban Full | Marzban Quick | Marzban Node | x-ui | 3x-ui | 3x-ui Docker


Всем привет!

Пока спал хайп на неработающий WireGuard, потому что он пока временно работает снова.. Хотел бы затронуть тему детальной настройки.

Что мы сделаем в этой статье:

  1. Арендуем сервер
  2. Установим с нуля Marzban
  3. Установим сертификаты на домен
  4. Настроим docker-compose.yml
  5. Настроим .env файл и включим режим Proxy в CF. (image.png) (потенциально не работает Trojan протокол в этом режиме)
  6. Настроим продвинутую версию бота
  7. Настроим продвинутую версию клиентского интерфейса (страница подписки)
  8. Настроим WARP Proxy на Marzban через редактирование xRay core.

Поехали!

Marzban (персидское слово, означающее "граница" - произносится /мэрзбан/) - это инструмент управления прокси, который обеспечивает простой и удобный пользовательский интерфейс для управления сотнями прокси-аккаунтов, работающих на основе Xray-core и созданных с использованием Python и Reactjs.

Почему рекомендую использовать Marzban?
Marzban - это удобный, функциональный и надежный инструмент. Он позволяет создавать различные прокси для ваших пользователей без необходимости сложной конфигурации. С помощью встроенного веб-интерфейса вы сможете отслеживать, изменять и ограничивать пользователей.

Возможности:
- Встроенный веб-интерфейс
- Работа в Docker.
- Полностью поддерживает REST API
- Поддержка нескольких узлов (для распределения и масштабируемости инфраструктуры)
- Поддержка протоколов Vmess, VLESS, Trojan и Shadowsocks
- Мультипротокол для одного пользователя
- Множество пользователей на одном входящем
- Множество входящих на одном порту (поддержка резервных вариантов)
- Ограничения трафика и срока действия
- Периодические ограничения трафика (например, ежедневные, еженедельные и т. д.)
- Совместимая с V2ray ссылка на подписку (например, V2RayNG, OneClick, Nekoray и т. д.), Clash и ClashMeta
- Автоматическое создание ссылок для обмена и генератор QR-кодов
- Мониторинг системы и статистика трафика
- Настраиваемая конфигурация xray
- Поддержка TLS и REALITY
- Встроенный Telegram Bot для админов
- Интегрированный интерфейс командной строки (CLI)
- Поддержка множества языков

 

1. Нам нужно арендовать хороший и быстрый сервер.

Последнее время лучшее что я нашел это 2Гбит\с сервера 4VPShttps://4vps.su/account/r/18170

1.1. Регистрируемся по ссылке.

1.2. Выбираем желаемую страну. Но по моему опыту тестирования всех локаций, самые лучшие скорости в РФ у серверов в Дании и в Швейцарии.

1.3. Получаем адрес, логин и пароль.

1.4. Заходим через SSH клиент.

2. Устанавливаем Marzban также из официально репозитория:

sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install

Идёт установка:

image.png

2.1. Пока идёт установка, идём в CloudFlare и добавляем доменную А запись:

image.png

В поле Name напишите имя поддомена, допустим proxy, и в итоге адрес панели Marzban будет proxy.vashdomain.ru

В поле IPv4 address пропишите IP адрес вашего сервера

Имя поддомена конечно вы можете использовать любое, домен соответственно - ваш.

Упомянутую доменную A запись также можно добавить напрямую у своего доменного регистратора, вместо делегирования домена на CloudFlare

2.2. Возвращаемся в консоль.

Здесь вы увидите логи контейнера. Нам они не интересны, и их закрытие на работу контейнера не повлияют.
Поэтому вы можете просто взять и закрыть их кнопками Ctrl + C

image.png

2.3. Нужно создать администратора. Делается это командой :

marzban cli admin create --sudo

2.4. Вводим имя и пароль для пользователя:

image.png

2.5. Идем в панель: http://в.а.ш.ip:8000/dashboard/

 

image.png

image.png

Основной этап прошли. Теперь идём настраивать дальше.

3. Установим сертификаты на домен

3.1. Идём обратно в консоль. 

Вводим команду для установки сертификатов LetsEncrypt через certbot

apt-get install certbot -y
certbot certonly --standalone --agree-tos --register-unsafely-without-email -d proxy.vashdomain.ru
certbot renew --dry-run

Получаем сообщение:

Цитата

Account registered.
Simulating renewal of an existing certificate for proxy.domain.ru

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations, all simulated renewals succeeded:
  /etc/letsencrypt/live/proxy.domain.ru/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Значит все хорошо. Если вы получили ошибку, проверьте домен или возможно привязка к IP не выполнилась ещё, подождите немного.

Также, можно установить сертификат Wildcraft или через проверку  домена:

За инструкцию спасибо @RangerRU

Ставим certbot.

apt install certbot -y

Получать сертификат(ы) будем через проверку DNS посредством acme-dns-certbot

Цитата

Проверка DNS позволяет подтверждать запросы на выдачу сертификатов по DNS-записям, а не обслуживать контент через HTTP. Это означает, что сертификаты могут выдаваться как для кластера веб-серверов, работающих через балансировщик нагрузки, так и для системы, к которой нет прямого доступа через Интернет. Проверка DNS также поддерживает и wildcard-сертификаты.

Инструмент acme-dns-certbot используется для подключения клиента Certbot к стороннему DNS-серверу, где записи проверки сертификата автоматически устанавливаются через API при запросе. Преимущество этого метода заключается в том, что вам не нужно интегрировать Certbot с вашей учетной записью DNS-провайдера и предоставлять ему неограниченный доступ ко всей конфигурации DNS – а это очень важно для безопасности.

Для перенаправления поиска записей для проверки сертификатов на сторонний сервис DNS используются DNS-зоны, поэтому после завершения начальной настройки вы можете запросить столько сертификатов, сколько захотите, без необходимости выполнять проверку вручную.

5. Загружаем скрипт с гитхаба и делаем его исполняемым:

wget https://github.com/joohoi/acme-dns-certbot-joohoi/raw/master/acme-dns-auth.py
chmod +x acme-dns-auth.py

6. Правим скрипт, меняя первую строку на 

#!/usr/bin/env python3

7. Перемещаем скрипт в папку /etc/letsencrypt/

sudo mv acme-dns-auth.py /etc/letsencrypt/

8. Запускаем процедуру получения сертификата:

certbot certonly --manual --manual-auth-hook /etc/letsencrypt/acme-dns-auth.py --preferred-challenges dns --debug-challenges -d proxy.vashdomain.ru

Для получения Wildcard-сертификата (для всех поддоменов вашего домена) команда будет такая:

certbot certonly --manual --manual-auth-hook /etc/letsencrypt/acme-dns-auth.py --preferred-challenges dns --debug-challenges -d \*.proxy.vashdomain.ru -d proxy.vashdomain.ru

В процессе выполнения запроса вы увидите сообщение такого плана:

Цитата

...
Output from acme-dns-auth.py:
Please add the following CNAME record to your main DNS zone:
_acme-challenge.your-domain CNAME a15ce5b2-f170-4c91-97bf-09a5764a88f6.auth.acme-dns.io.
Waiting for verification...
...

Вам необходимо в панели, где вы работает с DNS записями, добавить запись типа CNAME как указано в сообщении

После этого необходимо подождать

Если всё хорошо, то получите сообщение:

Цитата

...
Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/your-domain/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/your-domain/privkey.pem
...

 

Если ваша ошибка имеет такой вид:

Цитата

 

Certbot failed to authenticate some domains (authenticator: standalone). The Certificate Authority reported these problems:
  Domain: 
  Type:   connection
  Detail: : Fetching Timeout during connect (likely firewall problem)

Hint: The Certificate Authority failed to download the challenge files from the temporary standalone webserver started by Certbot on port 80. Ensure that the listed domains point to this machine and that it can accept inbound connections from the internet.

Some challenges have failed.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
No simulated renewals were attempted.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 

Значит у вас 80й порт либо занят, либо закрыт фаерволом. Проверяйте сами.

4. Настроим docker-compose.yml файл

4.1. Основная папка с которой мы будем работать это /opt/marzban/

cd /opt/marzban/

4.2. Ставим редактор nano

apt install nano -y

4.3. Открываем файл docker-compose.yml 

nano docker-compose.yml

Стандартно файл будет выглядеть так:

Цитата

services:
  marzban:
    image: gozargah/marzban:latest
    restart: always
    env_file: .env
    network_mode: host
    volumes:
      - /var/lib/marzban:/var/lib/marzban

4.4. Мы добавляем в него строки в самый конец и с сохранением табуляции (отступа) это очень важно!

Добавляем привязку файлов ключей для домена. Итоговый вид будет такой:

services:
  marzban:
    image: gozargah/marzban:latest
    restart: always
    env_file: .env
    network_mode: host
    volumes:
      - /var/lib/marzban:/var/lib/marzban
      - /etc/letsencrypt/live/proxy.vashdomain.ru/fullchain.pem:/var/lib/marzban/certs/fullchain.pem
      - /etc/letsencrypt/live/proxy.vashdomain.ru/privkey.pem:/var/lib/marzban/certs/key.pem

Заменяйте только значения своего домена.

Сохраняем Ctrl+O => Enter. Закрываем редактор Ctrl + X

4.5. Перезапускаем Marzban

marzban restart

Получаем такой вид: 

Цитата

root@v841767747:/opt/marzban# marzban restart
[+] Running 1/1
 ✔ Container marzban-marzban-1  Removed                                                                            1.4s
[+] Building 0.0s (0/0)
[+] Running 1/1
 ✔ Container marzban-marzban-1  Started                                                                            0.4s
marzban-marzban-1  | INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
marzban-marzban-1  | INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
marzban-marzban-1  | INFO:     Started server process [1]
marzban-marzban-1  | INFO:     Waiting for application startup.
marzban-marzban-1  | WARNING:  Xray core 1.8.1 started
marzban-marzban-1  | INFO:     Application startup complete.
marzban-marzban-1  | INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

Закрыть логи Ctrl + C.

5. Редактируем .env  (в директории он будет скрыть, если смотреть командой dir) . Описание каждого параметра есть здесь: https://github.com/Gozargah/Marzban#configuration

5.1. Открываем файл .env:

nano .env

Теперь будем вносить корректировки постепенно.

5.2. UVICORN_PORT ставим 443, чтобы потом его можно было проксировать через CF.

UVICORN_PORT = 443

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

Network ports · Cloudflare Fundamentals docs

image.png

5.3. Заменяем содержимое строк  UVICORN_SSL_CERTFILE  и UVICORN_SSL_KEYFILE  в соответствии с тем, как мы пробросили эти файлы в контейнер.

 UVICORN_SSL_CERTFILE = "/var/lib/marzban/certs/fullchain.pem"
 UVICORN_SSL_KEYFILE = "/var/lib/marzban/certs/key.pem"

5.4. Убираем комментарий # в начале строки и исправляем URL_PREFIX:

XRAY_SUBSCRIPTION_URL_PREFIX="https://proxy.vashdomain.ru"

5.5. Сохраняем и закрываем редактор (Ctrl+O, Enter, Ctrl+X)

5.6. Теперь перезапускаем Marzban:

marzban restart

5.7. Отныне доступ к веб-панели у нас будет по адресу: https://proxy.vashdomain.com/dashboard

Проверяем что всё открывается:

image.png

5.8. Теперь можно смело включать режим Proxy image.pngв CF.

UPD: Убедитесь что у вас в настройках SSL/TLS включен режим FULL:

image.png

Если меняете настройки здесь, нужно подождать минут 15 (иногда дольше) пока настройки применятся к домену.

А также, имейте ввиду, что при проксировании, не работает Trojan протокол подключения.

6. Настраиваем Telegram бота Marzban.

Функционал бота реализован только для администратора, пользовательской части бота не существует.

Зато функционал достаточно объемный:

  • Системная статистика
  • Создание пользователей
  • Редактирование одного или нескольких (в расширенной версии)
  • Удаление пользователей
  • Продление и редактирование аренды пользователей
  • Возможность включения и отключения протоколов для пользователя
  • Копирование всех вариантов подключений, в том числе ссылки на подписку.
  • В расширенном боте может быть несколько администраторов.

image.pngimage.pngimage.png

Стандартный бот, имеет меньше функционала (не буду приводить сравнение), поэтому мы сразу перейдем к реализации полной версии.

6.1. Начнем с клонирования репозитория GitHub.

Установим Git

apt install git -y

Перейдем в папку /opt/marzban/ и создадим копию репозитория с ботом

cd /opt/marzban/

6.2. Клонируем репозиторий:

git clone https://github.com/DigneZzZ/marzban-telebot

6.3. Редактируем docker-compose.yml.

nano docker-compose.yml

В КОНЕЦ файла нужно добавить новые строки, как мы делали ранее:

            - /opt/marzban/marzban-telebot/telegram:/code/app/telegram
            - /opt/marzban/marzban-telebot/config.py:/code/config.py

Содержимое получится примерно такое:

services:
  marzban:
    image: gozargah/marzban:latest
    restart: always
    env_file: .env
    network_mode: host
    volumes:
      - /var/lib/marzban:/var/lib/marzban
      - /etc/letsencrypt/live/proxy.vashdomain.ru/fullchain.pem:/var/lib/marzban/certs/fullchain.pem
      - /etc/letsencrypt/live/proxy.vashdomain.ru/privkey.pem:/var/lib/marzban/certs/key.pem
      - /opt/marzban/marzban-telebot/telegram:/code/app/telegram
      - /opt/marzban/marzban-telebot/config.py:/code/config.py

6.4. Редактируем .env

nano .env

В файле нам необходимо внести несколько поправок.

6.4.1. Во первых нам нужно раскомментировать строку TELEGRAM_API_TOKEN и записать туда значение API ключа от BotFather.

Получим что то такое:

TELEGRAM_API_TOKEN = 11111111111:AbEKqX2_Cb7JSADgrw-hsf-ewxczzvbOqm

6.4.2. Затем мы ДОБАВИМ новую строку TELEGRAM_ADMINS_ID. Обращаю внимание, именно ADMINS - т.к. новая версия бота позволяет добавлять несколько администраторов для бота.

Получится примерно так:

TELEGRAM_ADMINS_ID = 11111111

Если нужно несколько админов, вписываем так:

TELEGRAM_ADMINS_ID = 11111111, 222222222

6.4.3. Учитывая, что концепция бота предполагает использование несколько администраторов, а уведомлять нужно всех сразу, сделана реализация через отправку сообщений в КАНАЛ в телеграм.

Для этого:

1. создайте новый Приватный канал в телеграм.

2. Напишите туда сообщение

3. Перешлите это сообщение вот этому боту: @userinfobot

4. В ответ получите информацию:

Цитата

Id: -1001816121856
Title: Logger

5. ОБЯЗАТЕЛЬНО добавьте СВОЕГО бота в этот канал. Сделайте его администратором (иначе нельзя)

6.4.4. В файле .env добавляем новую строку:

TELEGRAM_LOGGER_CHANNEL_ID = -100011111100

Куда соответственно указываем номер канала (полностью, с "минусом")

6.4.5. Рядом добавляем ещё одну строку:

TELEGRAM_DEFAULT_VLESS_XTLS_FLOW = "xtls-rprx-vision"

6.5. Перезапускаем marzban

marzban restart

Идём в бота и проверяем функционал.

7. Улучшаем пользовательский вид страницы подписки.

По умолчанию, страница выглядит вот так:

image.png

Но мы сделаем лучше!

7.1. Я уже модифицировал страницу, перевел на русский, убрал язык фарси и по умолчанию выставлен русский

Клонируем репозиторий:

cd /opt/marzban/
git clone https://github.com/DigneZzZ/sub-page.git

7.2. Наиболее интересными будут строки в файле /sub-page/subscription/index.html начиная с 221:

        let settings = {
            "darkMode": 1,
            "language": "ru",
            "support": "", // can be telegram's support username link (exp: https://t.me/gozargah_marzban)

7.3. Теперь нам нужно прописать эти страницы в файле Docker-compose.yml:

nano docker-compose.yml

Добавляем в конце строки:

      - /opt/marzban/sub-page/subscription.py:/code/app/views/subscription.py
      - /opt/marzban/sub-page/subscription:/code/app/templates/subscription

Если телеграм бота вы не ставили, тогда нужно будет добавить ещё одну строку:

      - /opt/marzban/sub-page/config.py:/code/config.py

7.4. А вот файл config.py мы второй раз подвязать не сможем, хотя оттуда нам нужна 1 строка параметра, поэтому мы идем в папку с нашим ботом:

cd /opt/marzban/marzban-telebot/

7.5. И редактируем файл config.py

nano config.py

нам нужно НАЙТИ строку содержащую: SUBSCRIPTION_PAGE_TEMPLATE

И добавить после неё такую:

SUBSCRIPTION_PAGE_LANG = config("SUBSCRIPTION_PAGE_LANG", default="ru")

Сохраняем. Закрываем.

7.6. Перезапускаем наш Marzban:

marzban restart

готово!

Идём на страницу подписки, и смотрим:

image.png

з.ы. кнопка Поддержка телеграм появится когда вы заполните на неё ссылку в 224 строке index.html

8. Включаем поддержку warp proxy в ядре xRay

Можно установить двумя способами, тот который я уже описывал на форуме (полностью ручной) и с помощью скрипта. Напишу самый простой.

8.1. Установка WARP-cli 

cd && bash <(curl -fsSL git.io/warp.sh) proxy

image.png

image.png

Легко и просто.

8.2. Идём в нашу панель. 

Жмём на шестиренку:

image.png

Открывается:

image.png

8.3. Советую написать log конфиг как у меня:

"log": {
    "loglevel": "warning",
    "access": "./access.log",
    "error": "./error.log"
  }

 

8.4. Ищем Outbounds:

image.png

И вставляем КОД как у меня:

    {
      "tag": "WARP",
      "protocol": "socks",
      "settings": {
        "servers": [
          {
            "address": "127.0.0.1",
            "port": 40000
          }
        ]
      }
    }

8.5. Опускаемся ниже и находим routing

  "routing": {
    "rules": [

И вставляем последнюю часть кода:

{
        "type": "field",
        "outboundTag": "WARP",
        "domain": [
          "openai.com",
          "google.com",
          "spotify.com"
        ]
      },

Должно получиться так:

image.png

На этом всё!

Сохраняем!

Пользуемся!

Ссылка на комментарий
Поделиться на другие сайты

  • DigneZzZ популярно и закреплено это тема
  • Ответов 94
  • Создана
  • Последний ответ

Топ авторов темы

Насколько легко это дело потом обновляется при выходе новой версии? Можете выложить скрины настроек панели? Спасибо!

Ссылка на комментарий
Поделиться на другие сайты

Ставлю на голую убунту 22.04.  После шага 6.5 сыпятся ошибки. что можно сделать?)
 

Спойлер

marzban-marzban-1  | Traceback (most recent call last):
marzban-marzban-1  |   File "/usr/local/bin/alembic", line 8, in <module>
marzban-marzban-1  |     sys.exit(main())
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/alembic/config.py", line 590, in main
marzban-marzban-1  |     CommandLine(prog=prog).main(argv=argv)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/alembic/config.py", line 584, in main
marzban-marzban-1  |     self.run_cmd(cfg, options)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/alembic/config.py", line 561, in run_cmd
marzban-marzban-1  |     fn(
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/alembic/command.py", line 322, in upgrade
marzban-marzban-1  |     script.run_env()
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/alembic/script/base.py", line 569, in run_env
marzban-marzban-1  |     util.load_python_file(self.dir, "env.py")
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/alembic/util/pyfiles.py", line 94, in load_python_file
marzban-marzban-1  |     module = load_module_py(module_id, path)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/alembic/util/pyfiles.py", line 110, in load_module_py
marzban-marzban-1  |     spec.loader.exec_module(module)  # type: ignore
marzban-marzban-1  |   File "<frozen importlib._bootstrap_external>", line 883, in exec_module
marzban-marzban-1  |   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
marzban-marzban-1  |   File "/code/app/db/migrations/env.py", line 8, in <module>
marzban-marzban-1  |     from app.db.base import Base
marzban-marzban-1  |   File "/code/./app/__init__.py", line 11, in <module>
marzban-marzban-1  |     from config import DOCS
marzban-marzban-1  |   File "/code/./config.py", line 35, in <module>
marzban-marzban-1  |     TELEGRAM_ADMINS_ID = config('TELEGRAM_ADMINS_ID', cast=Csv(int), default=[])
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/decouple.py", line 243, in __call__
marzban-marzban-1  |     return self.config(*args, **kwargs)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/decouple.py", line 105, in __call__
marzban-marzban-1  |     return self.get(*args, **kwargs)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/decouple.py", line 99, in get
marzban-marzban-1  |     return cast(value)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/decouple.py", line 278, in __call__
marzban-marzban-1  |     return self.post_process(transform(s) for s in splitter)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/decouple.py", line 278, in <genexpr>
marzban-marzban-1  |     return self.post_process(transform(s) for s in splitter)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/shlex.py", line 300, in __next__
marzban-marzban-1  |     token = self.get_token()
marzban-marzban-1  |   File "/usr/local/lib/python3.10/shlex.py", line 109, in get_token
marzban-marzban-1  |     raw = self.read_token()
marzban-marzban-1  |   File "/usr/local/lib/python3.10/shlex.py", line 140, in read_token
marzban-marzban-1  |     nextchar = self.instream.read(1)
marzban-marzban-1  | AttributeError: 'list' object has no attribute 'read'
marzban-marzban-1  | Traceback (most recent call last):
marzban-marzban-1  |   File "/code/main.py", line 2, in <module>
marzban-marzban-1  |     from app import app
marzban-marzban-1  |   File "/code/app/__init__.py", line 11, in <module>
marzban-marzban-1  |     from config import DOCS
marzban-marzban-1  |   File "/code/config.py", line 35, in <module>
marzban-marzban-1  |     TELEGRAM_ADMINS_ID = config('TELEGRAM_ADMINS_ID', cast=Csv(int), default=[])
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/decouple.py", line 243, in __call__
marzban-marzban-1  |     return self.config(*args, **kwargs)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/decouple.py", line 105, in __call__
marzban-marzban-1  |     return self.get(*args, **kwargs)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/decouple.py", line 99, in get
marzban-marzban-1  |     return cast(value)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/decouple.py", line 278, in __call__
marzban-marzban-1  |     return self.post_process(transform(s) for s in splitter)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/decouple.py", line 278, in <genexpr>
marzban-marzban-1  |     return self.post_process(transform(s) for s in splitter)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/shlex.py", line 300, in __next__
marzban-marzban-1  |     token = self.get_token()
marzban-marzban-1  |   File "/usr/local/lib/python3.10/shlex.py", line 109, in get_token
marzban-marzban-1  |     raw = self.read_token()
marzban-marzban-1  |   File "/usr/local/lib/python3.10/shlex.py", line 140, in read_token
marzban-marzban-1  |     nextchar = self.instream.read(1)
marzban-marzban-1  | AttributeError: 'list' object has no attribute 'read'
marzban-marzban-1 exited with code 0
 

 

Ссылка на комментарий
Поделиться на другие сайты

нашел свою ошибку в .env 
теперь так ругается

Спойлер


marzban-marzban-1  | INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
marzban-marzban-1  | INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
marzban-marzban-1  | INFO:     Started server process [1]
marzban-marzban-1  | INFO:     Waiting for application startup.
marzban-marzban-1  | WARNING:  Xray core 1.8.1 started
marzban-marzban-1  | INFO:     Application startup complete.
marzban-marzban-1  | INFO:     Uvicorn running on https://0.0.0.0:443 (Press CTRL+C to quit)
marzban-marzban-1  | 2023-08-14 11:06:39,108 (__init__.py:1083 Thread-1 (infinity_polling)) ERROR - TeleBot: "Threaded polling exception: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first"
marzban-marzban-1  | 2023-08-14 11:06:39,109 (__init__.py:1085 Thread-1 (infinity_polling)) ERROR - TeleBot: "Exception traceback:
marzban-marzban-1  | Traceback (most recent call last):
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 1073, in __threaded_polling
marzban-marzban-1  |     polling_thread.raise_exceptions()
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 118, in raise_exceptions
marzban-marzban-1  |     raise self.exception_info
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 100, in run
marzban-marzban-1  |     task(*args, **kwargs)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 649, in __retrieve_updates
marzban-marzban-1  |     updates = self.get_updates(offset=(self.last_update_id + 1),
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 623, in get_updates
marzban-marzban-1  |     json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates, long_polling_timeout)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 321, in get_updates
marzban-marzban-1  |     return _make_request(token, method_url, params=payload)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 162, in _make_request
marzban-marzban-1  |     json_result = _check_result(method_name, result)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 189, in _check_result
marzban-marzban-1  |     raise ApiTelegramException(method_name, result, result_json)
marzban-marzban-1  | telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first
marzban-marzban-1  | "
marzban-marzban-1  | 2023-08-14 11:06:42,404 (__init__.py:1083 Thread-1 (infinity_polling)) ERROR - TeleBot: "Threaded polling exception: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first"
marzban-marzban-1  | 2023-08-14 11:06:42,406 (__init__.py:1085 Thread-1 (infinity_polling)) ERROR - TeleBot: "Exception traceback:
marzban-marzban-1  | Traceback (most recent call last):
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 1073, in __threaded_polling
marzban-marzban-1  |     polling_thread.raise_exceptions()
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 118, in raise_exceptions
marzban-marzban-1  |     raise self.exception_info
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 100, in run
marzban-marzban-1  |     task(*args, **kwargs)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 649, in __retrieve_updates
marzban-marzban-1  |     updates = self.get_updates(offset=(self.last_update_id + 1),
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 623, in get_updates
marzban-marzban-1  |     json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates, long_polling_timeout)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 321, in get_updates
marzban-marzban-1  |     return _make_request(token, method_url, params=payload)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 162, in _make_request
marzban-marzban-1  |     json_result = _check_result(method_name, result)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 189, in _check_result
marzban-marzban-1  |     raise ApiTelegramException(method_name, result, result_json)
marzban-marzban-1  | telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first
marzban-marzban-1  | "
marzban-marzban-1  | 2023-08-14 11:06:42,946 (__init__.py:1083 Thread-1 (infinity_polling)) ERROR - TeleBot: "Threaded polling exception: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first"
marzban-marzban-1  | 2023-08-14 11:06:42,947 (__init__.py:1085 Thread-1 (infinity_polling)) ERROR - TeleBot: "Exception traceback:
marzban-marzban-1  | Traceback (most recent call last):
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 1073, in __threaded_polling
marzban-marzban-1  |     polling_thread.raise_exceptions()
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 118, in raise_exceptions
marzban-marzban-1  |     raise self.exception_info
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 100, in run
marzban-marzban-1  |     task(*args, **kwargs)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 649, in __retrieve_updates
marzban-marzban-1  |     updates = self.get_updates(offset=(self.last_update_id + 1),
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 623, in get_updates
marzban-marzban-1  |     json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates, long_polling_timeout)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 321, in get_updates
marzban-marzban-1  |     return _make_request(token, method_url, params=payload)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 162, in _make_request
marzban-marzban-1  |     json_result = _check_result(method_name, result)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 189, in _check_result
marzban-marzban-1  |     raise ApiTelegramException(method_name, result, result_json)
marzban-marzban-1  | telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first
marzban-marzban-1  | "
marzban-marzban-1  | 2023-08-14 11:06:47,000 (__init__.py:1083 Thread-1 (infinity_polling)) ERROR - TeleBot: "Threaded polling exception: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first"
marzban-marzban-1  | 2023-08-14 11:06:47,004 (__init__.py:1085 Thread-1 (infinity_polling)) ERROR - TeleBot: "Exception traceback:
marzban-marzban-1  | Traceback (most recent call last):
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 1073, in __threaded_polling
marzban-marzban-1  |     polling_thread.raise_exceptions()
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 118, in raise_exceptions
marzban-marzban-1  |     raise self.exception_info
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 100, in run
marzban-marzban-1  |     task(*args, **kwargs)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 649, in __retrieve_updates
marzban-marzban-1  |     updates = self.get_updates(offset=(self.last_update_id + 1),
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 623, in get_updates
marzban-marzban-1  |     json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates, long_polling_timeout)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 321, in get_updates
marzban-marzban-1  |     return _make_request(token, method_url, params=payload)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 162, in _make_request
marzban-marzban-1  |     json_result = _check_result(method_name, result)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 189, in _check_result
marzban-marzban-1  |     raise ApiTelegramException(method_name, result, result_json)
marzban-marzban-1  | telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first
marzban-marzban-1  | "
marzban-marzban-1  | 2023-08-14 11:06:49,060 (__init__.py:1083 Thread-1 (infinity_polling)) ERROR - TeleBot: "Threaded polling exception: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first"
marzban-marzban-1  | 2023-08-14 11:06:49,061 (__init__.py:1085 Thread-1 (infinity_polling)) ERROR - TeleBot: "Exception traceback:
marzban-marzban-1  | Traceback (most recent call last):
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 1073, in __threaded_polling
marzban-marzban-1  |     polling_thread.raise_exceptions()
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 118, in raise_exceptions
marzban-marzban-1  |     raise self.exception_info
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 100, in run
marzban-marzban-1  |     task(*args, **kwargs)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 649, in __retrieve_updates
marzban-marzban-1  |     updates = self.get_updates(offset=(self.last_update_id + 1),
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 623, in get_updates
marzban-marzban-1  |     json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates, long_polling_timeout)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 321, in get_updates
marzban-marzban-1  |     return _make_request(token, method_url, params=payload)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 162, in _make_request
marzban-marzban-1  |     json_result = _check_result(method_name, result)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 189, in _check_result
marzban-marzban-1  |     raise ApiTelegramException(method_name, result, result_json)
marzban-marzban-1  | telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first
marzban-marzban-1  | "
 

 

Ссылка на комментарий
Поделиться на другие сайты

  • Админы
36 минут назад, B2lu сказал:

нашел свою ошибку в .env 
теперь так ругается

  Скрыть контент


marzban-marzban-1  | INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
marzban-marzban-1  | INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
marzban-marzban-1  | INFO:     Started server process [1]
marzban-marzban-1  | INFO:     Waiting for application startup.
marzban-marzban-1  | WARNING:  Xray core 1.8.1 started
marzban-marzban-1  | INFO:     Application startup complete.
marzban-marzban-1  | INFO:     Uvicorn running on https://0.0.0.0:443 (Press CTRL+C to quit)
marzban-marzban-1  | 2023-08-14 11:06:39,108 (__init__.py:1083 Thread-1 (infinity_polling)) ERROR - TeleBot: "Threaded polling exception: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first"
marzban-marzban-1  | 2023-08-14 11:06:39,109 (__init__.py:1085 Thread-1 (infinity_polling)) ERROR - TeleBot: "Exception traceback:
marzban-marzban-1  | Traceback (most recent call last):
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 1073, in __threaded_polling
marzban-marzban-1  |     polling_thread.raise_exceptions()
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 118, in raise_exceptions
marzban-marzban-1  |     raise self.exception_info
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 100, in run
marzban-marzban-1  |     task(*args, **kwargs)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 649, in __retrieve_updates
marzban-marzban-1  |     updates = self.get_updates(offset=(self.last_update_id + 1),
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 623, in get_updates
marzban-marzban-1  |     json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates, long_polling_timeout)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 321, in get_updates
marzban-marzban-1  |     return _make_request(token, method_url, params=payload)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 162, in _make_request
marzban-marzban-1  |     json_result = _check_result(method_name, result)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 189, in _check_result
marzban-marzban-1  |     raise ApiTelegramException(method_name, result, result_json)
marzban-marzban-1  | telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first
marzban-marzban-1  | "
marzban-marzban-1  | 2023-08-14 11:06:42,404 (__init__.py:1083 Thread-1 (infinity_polling)) ERROR - TeleBot: "Threaded polling exception: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first"
marzban-marzban-1  | 2023-08-14 11:06:42,406 (__init__.py:1085 Thread-1 (infinity_polling)) ERROR - TeleBot: "Exception traceback:
marzban-marzban-1  | Traceback (most recent call last):
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 1073, in __threaded_polling
marzban-marzban-1  |     polling_thread.raise_exceptions()
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 118, in raise_exceptions
marzban-marzban-1  |     raise self.exception_info
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 100, in run
marzban-marzban-1  |     task(*args, **kwargs)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 649, in __retrieve_updates
marzban-marzban-1  |     updates = self.get_updates(offset=(self.last_update_id + 1),
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 623, in get_updates
marzban-marzban-1  |     json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates, long_polling_timeout)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 321, in get_updates
marzban-marzban-1  |     return _make_request(token, method_url, params=payload)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 162, in _make_request
marzban-marzban-1  |     json_result = _check_result(method_name, result)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 189, in _check_result
marzban-marzban-1  |     raise ApiTelegramException(method_name, result, result_json)
marzban-marzban-1  | telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first
marzban-marzban-1  | "
marzban-marzban-1  | 2023-08-14 11:06:42,946 (__init__.py:1083 Thread-1 (infinity_polling)) ERROR - TeleBot: "Threaded polling exception: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first"
marzban-marzban-1  | 2023-08-14 11:06:42,947 (__init__.py:1085 Thread-1 (infinity_polling)) ERROR - TeleBot: "Exception traceback:
marzban-marzban-1  | Traceback (most recent call last):
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 1073, in __threaded_polling
marzban-marzban-1  |     polling_thread.raise_exceptions()
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 118, in raise_exceptions
marzban-marzban-1  |     raise self.exception_info
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 100, in run
marzban-marzban-1  |     task(*args, **kwargs)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 649, in __retrieve_updates
marzban-marzban-1  |     updates = self.get_updates(offset=(self.last_update_id + 1),
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 623, in get_updates
marzban-marzban-1  |     json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates, long_polling_timeout)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 321, in get_updates
marzban-marzban-1  |     return _make_request(token, method_url, params=payload)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 162, in _make_request
marzban-marzban-1  |     json_result = _check_result(method_name, result)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 189, in _check_result
marzban-marzban-1  |     raise ApiTelegramException(method_name, result, result_json)
marzban-marzban-1  | telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first
marzban-marzban-1  | "
marzban-marzban-1  | 2023-08-14 11:06:47,000 (__init__.py:1083 Thread-1 (infinity_polling)) ERROR - TeleBot: "Threaded polling exception: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first"
marzban-marzban-1  | 2023-08-14 11:06:47,004 (__init__.py:1085 Thread-1 (infinity_polling)) ERROR - TeleBot: "Exception traceback:
marzban-marzban-1  | Traceback (most recent call last):
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 1073, in __threaded_polling
marzban-marzban-1  |     polling_thread.raise_exceptions()
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 118, in raise_exceptions
marzban-marzban-1  |     raise self.exception_info
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 100, in run
marzban-marzban-1  |     task(*args, **kwargs)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 649, in __retrieve_updates
marzban-marzban-1  |     updates = self.get_updates(offset=(self.last_update_id + 1),
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 623, in get_updates
marzban-marzban-1  |     json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates, long_polling_timeout)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 321, in get_updates
marzban-marzban-1  |     return _make_request(token, method_url, params=payload)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 162, in _make_request
marzban-marzban-1  |     json_result = _check_result(method_name, result)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 189, in _check_result
marzban-marzban-1  |     raise ApiTelegramException(method_name, result, result_json)
marzban-marzban-1  | telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first
marzban-marzban-1  | "
marzban-marzban-1  | 2023-08-14 11:06:49,060 (__init__.py:1083 Thread-1 (infinity_polling)) ERROR - TeleBot: "Threaded polling exception: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first"
marzban-marzban-1  | 2023-08-14 11:06:49,061 (__init__.py:1085 Thread-1 (infinity_polling)) ERROR - TeleBot: "Exception traceback:
marzban-marzban-1  | Traceback (most recent call last):
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 1073, in __threaded_polling
marzban-marzban-1  |     polling_thread.raise_exceptions()
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 118, in raise_exceptions
marzban-marzban-1  |     raise self.exception_info
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/util.py", line 100, in run
marzban-marzban-1  |     task(*args, **kwargs)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 649, in __retrieve_updates
marzban-marzban-1  |     updates = self.get_updates(offset=(self.last_update_id + 1),
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/__init__.py", line 623, in get_updates
marzban-marzban-1  |     json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates, long_polling_timeout)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 321, in get_updates
marzban-marzban-1  |     return _make_request(token, method_url, params=payload)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 162, in _make_request
marzban-marzban-1  |     json_result = _check_result(method_name, result)
marzban-marzban-1  |   File "/usr/local/lib/python3.10/site-packages/telebot/apihelper.py", line 189, in _check_result
marzban-marzban-1  |     raise ApiTelegramException(method_name, result, result_json)
marzban-marzban-1  | telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first
marzban-marzban-1  | "
 

 

Проверь правильность параметров переменных, проверь что перед переменная чата содержит "-"

Где то не по инструкции сделал)

Ссылка на комментарий
Поделиться на другие сайты

  • Админы
3 минуты назад, B2lu сказал:

нашел косяки) спасибо)
только вот ТГ-бот не полностью переведен(

хахаха)) ну конечно))

там дофига строк))

 

Ссылка на комментарий
Поделиться на другие сайты

Скажите пожалуйста, в пункте 2.1 который описывает создание А-записи, iPv4 адресс вписать своего vps на котором домен , или как у вас , 11.11.111.11??

Ссылка на комментарий
Поделиться на другие сайты

  • Админы
40 минут назад, CO_PY сказал:

Скажите пожалуйста, в пункте 2.1 который описывает создание А-записи, iPv4 адресс вписать своего vps на котором домен , или как у вас , 11.11.111.11??

Конечно АйПи адрес своего сервера))))

Ссылка на комментарий
Поделиться на другие сайты

С

14 минут назад, DigneZzZ сказал:

Конечно АйПи адрес своего сервера))))

Спасибо! И еще, вопрос, а NS записи для домена брать те что предлагает CF? Или оставить те что хостер прописал для домена?

Ссылка на комментарий
Поделиться на другие сайты

  • Админы
10 часов назад, CO_PY сказал:

С

Спасибо! И еще, вопрос, а NS записи для домена брать те что предлагает CF? Или оставить те что хостер прописал для домена?

если у тебя NS сервера не будут привязаны к CF ты не сможешь им управлять оттуда

Ссылка на комментарий
Поделиться на другие сайты

  • Админы
7 минут назад, Zyama сказал:

пункт 6.5 поправьте ) наоборот 

что наоборот?

Ссылка на комментарий
Поделиться на другие сайты

16 минут назад, DigneZzZ сказал:

что наоборот?

пункт 6.5 restart marzban, а нужно наоборот marzban restart.
Затыкался 4 раза просто на этом моменте)

 

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, ZoibergZ сказал:

Привет! В интерфейсе не копируется ссылка с настройками и ссылка на подписку.

Немного себя дополню.
В общем проверил (как смог) и если смотреть через код элемента в браузере то ссылка (на страницу подписки и ссылка для получения конфига прокси) привязана к названию, а не к кнопке.
image.thumb.png.069d4197866904a0dcf2825f374f8a63.png
Вот к кнопке QR кода привязана ссылка и она работает как надо. Кстати, это явно косяк новой страницы т.к. старая работает исправно.
image.thumb.png.266685f918746671c30317fccb565970.png
Кнопка "скопировать все" тоже не работает.
Извините если это никак не поможет в решении проблемы, я к сожалению не силен в этих делах.

Ссылка на комментарий
Поделиться на другие сайты

  • Админы
1 час назад, Zyama сказал:

пункт 6.5 restart marzban, а нужно наоборот marzban restart.
Затыкался 4 раза просто на этом моменте)

 

поправил, спасибо! )

1 час назад, ZoibergZ сказал:

Немного себя дополню.
В общем проверил (как смог) и если смотреть через код элемента в браузере то ссылка (на страницу подписки и ссылка для получения конфига прокси) привязана к названию, а не к кнопке.
image.thumb.png.069d4197866904a0dcf2825f374f8a63.png
Вот к кнопке QR кода привязана ссылка и она работает как надо. Кстати, это явно косяк новой страницы т.к. старая работает исправно.
image.thumb.png.266685f918746671c30317fccb565970.png
Кнопка "скопировать все" тоже не работает.
Извините если это никак не поможет в решении проблемы, я к сожалению не силен в этих делах.

Странно, у меня все работает.

Эту часть скриптов и раздела даже не трогали при изменении.

Обновили только ссылки и только перевод на более адекватный. 

 

@ZoibergZ Если знаешь решение в коде, отправь merge request на гитхабе для шаблона.

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, DigneZzZ сказал:

поправил, спасибо! )

Странно, у меня все работает.

Эту часть скриптов и раздела даже не трогали при изменении.

Обновили только ссылки и только перевод на более адекватный. 

 

@ZoibergZ Если знаешь решение в коде, отправь merge request на гитхабе для шаблона.

К сожалению не знаю... и не с моими знаниями его искать.
Все что я менял сам - это в index.html ссылку на изображение над логином (в новом интерфейсе) и добавил ссылку на бота в телеграм. Еще я не подключил домен и естественно не менял все что с этим связано ни файле докера ни в .env
Единственно что я могу, это вернуть этот файл в исходное состояние и проверить работу кнопки. Но я сильно сомневаюсь, что это как-то могло повлиять на кнопку "скопировать" и "скопировать все".
По этому я могу только надеяться на то, что кто-то сможет помочь мне с этой проблемой. Если нужна доп. информация, то предоставлю.

Ссылка на комментарий
Поделиться на другие сайты

Собственно замена index.html на оригинал не помогла. Но я скачал исходник проекта и чисто ради интереса открыл в браузере эту страницу. И да, так все работает. Может есть какая-то специфическая зависимость которая на моем сервере не стоит?

Ссылка на комментарий
Поделиться на другие сайты

6.5. Перезапускаем marzban

marzban restart

Идём в бота и проверяем функционал.


В какого бота идти?
Как проверить его функционал?
1 Есть BotFather 
2 Есть Бот который создался в BotFather при получении токена
3 Есть userinfobot 
Что там запустить, что бы понять, вообще работает он или нет, к примеру /start
 

 

Ссылка на комментарий
Поделиться на другие сайты

Может кто нибудь допишет инструкцию для самых тупых) касаемо работы с ботом.
Что бы в него можно было зайти и посмотреть, что да как.

 

Ссылка на комментарий
Поделиться на другие сайты

В 13.08.2023 в 02:21, DigneZzZ сказал:

3. Установим сертификаты на домен

А зачем получать сертификаты через certbot, если можно с CF скачать?

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, gsoid сказал:

А зачем получать сертификаты через certbot, если можно с CF скачать?

А можно про это поподробнее?

Ссылка на комментарий
Поделиться на другие сайты

  • Админы
11 часов назад, gsoid сказал:

А зачем получать сертификаты через certbot, если можно с CF скачать?

Пробовал и так и сяк, может от того что устал, но не завелось через серты от CF. Хотя конечно это преимущественный вариант.

7 часов назад, ZoibergZ сказал:

А можно про это поподробнее?

в CF можно сгенерить сертификаты на домен лет на 15 действия.

14 часов назад, Zyama сказал:

6.5. Перезапускаем marzban

marzban restart

Идём в бота и проверяем функционал.


В какого бота идти?
Как проверить его функционал?
1 Есть BotFather 
2 Есть Бот который создался в BotFather при получении токена
3 Есть userinfobot 
Что там запустить, что бы понять, вообще работает он или нет, к примеру /start
 

 

Ты бота которого создал у BotFather - конечно ты идешь в него.

Заходишь в него и пишешь /start 

Он тебе меню в ответ.

18 часов назад, ZoibergZ сказал:

Собственно замена index.html на оригинал не помогла. Но я скачал исходник проекта и чисто ради интереса открыл в браузере эту страницу. И да, так все работает. Может есть какая-то специфическая зависимость которая на моем сервере не стоит?

Вот с этим не подскажу.. 

У меня правда работает.

Щас скину в ЛС ссылку.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...

Важная информация

Вы принимаете наши Условия использования, Политика конфиденциальности, Правила. А также использование Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.

Яндекс.Метрика