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

Поиск

Показаны результаты для тегов 'telegram'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • OpeNode
    • Новости
    • Общение
  • Статьи и обсуждения
    • Docker Контейнеры
    • Прокси и Виртуальный Частные Сети
    • Сетевое оборудование
    • 3D-моделирование и 3D-печать
    • WEB технологии и их применение
    • Операционные системы и Софт
    • Домашняя инфраструктура
    • Программирование и архитектура
    • Искусственный интеллект
    • OSINT
  • Клуб DWG Проблемы сборок
  • Клуб DWG Сборки DWG
  • Zero Trust Network Темы
  • Zero Trust Network OpenZITI
  • Marzban Инструкции
  • Marzban Продвинутые инструкции
  • Marzban Вопросы и проблемы
  • Marzban Общение
  • BookWorm Общение
  • BookWorm Поиск материалов
  • Общий клуб - ОБЩЕНИЕ Предложения по КЛУБАМ
  • Панели управления VPN и Proxy 3x-UI/X-ui
  • Панели управления VPN и Proxy Другие решения

Категории

  • Полезные файлы
    • CMS
  • Книги - общий раздел
    • Хакинг и безопасность [FILES]
    • СУБД [FILES]
    • Сети / VoIP [FILES]
    • Веб-дизайн и программирование [FILES]
    • Mac OS; Linux, FreeBSD и прочие *NIX [FILES]
  • 3D-модели для печати
  • Marzban Файлы
  • BookWorm Книги

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


Обо мне


Пол

Найдено 5 результатов

  1. Всем привет! Поюзал ботов я не мало, и остановился на одном. Очень интересном и универсальном. Репозитория на GitHub - ТУТ Требования: Свой VPS сервер за границей. Да-да. Лучше иметь сервер зарубежный, чтобы избежать потенциального блока на использование API. API ключ от ChatGPT немного навыков обращения с консолью телеграм аккаунт Шаг 1. Регистрируем бота в BotFather. Идём к Батьке всех ботов. Сюда. https://t.me/BotFather Пишем ему команду: /newbot Следуем инструкциям. Создав бота вы получите API ключ. Сохраните отдельно, но не отдавайте никому его! Нам нужен будет этот ключ. Шаг 2. У вас должен быть аккаунт OpenAI, и доступ к ChatGPT. А ещё у вас на аккаунте должны быть кредиты (хотя бы бесплатные 5$) Идём на страницу: API keys - OpenAI API Жмём Копируем этот API в блокнотик себе и не отдаем никому. Он нам будет нужен дальше. Шаг 3. Идём на свой VPS сервер. Рефералки на провайдеров VPS где их можно арендовать размещены тут: Рефералки - opeNode - Mind & Data Space На сервер попали. UPDATE 1.08.2023 Теперь можно просто заюзать скрипт: bash <(wget -qO- https://raw.githubusercontent.com/DigneZzZ/chatgpt_telegram_bot/main/setup.sh) Ниже инструкция по ручной установке: пишем в консоле: git clone https://github.com/karfly/chatgpt_telegram_bot.git !!! У вас должен быть установлен GIT. Если не установлен, юзай команду: apt install git После этого, идем в папку: cd chatgpt_telegram_bot Теперь нам нужно переименовать конфиг файлы: mv config/config.example.yml config/config.yml mv config/config.example.env config/config.env Теперь нам нужно зайти в конфиг и вставить свои "пять копеек": nano config/config.yml Попав сюда видим: telegram_token: "" openai_api_key: "" use_chatgpt_api: true allowed_telegram_usernames: [] # if empty, the bot is available to anyone. pass a username string to allow it and/or user ids as integers new_dialog_timeout: 600 # new dialog starts after timeout (in seconds) return_n_generated_images: 1 n_chat_modes_per_page: 5 enable_message_streaming: true # if set, messages will be shown to user word-by-word # prices chatgpt_price_per_1000_tokens: 0.002 gpt_price_per_1000_tokens: 0.02 whisper_price_per_1_min: 0.006 Дальше все логично, внутрь ковычек вставляем наши API. В telegram_token: "здесь-апи-ключ" - API ключ от BotFather. В openai_api_key: "здесь-апи-ключ-OpenAI" - сюда ключ от OpenAI. Теперь сделаем так, чтобы пользоваться могли только вы. Для этого нам нужен параметр. В него вставляется НИК в telegram. Несколько аккаунтов разделяются запятой. allowed_telegram_usernames: [durov,BotFather] ОЧЕНЬ ВАЖНО СОБЛЮДАТЬ РЕГИСТР БУКВ (маленькие или БОЛЬШИЕ) - так как в точности называется ваш ник в Tелеграм. ЕСЛИ НЕ УКАЗАТЬ НИКОВ - ПОЛЬЗОВАТЬСЯ СМОЖЕТ КАЖДЫЙ! Ещё можно задать время, сколько будет ждать бот, прежде чем сбросить тему диалога (задается в секундах): new_dialog_timeout: 600 На этом настройки можно заканчивать. Шаг 4. ЗАПУСКАЕМ БОТА docker compose --env-file config/config.env up --build -d На этом всё. Идём в телеграм, пишем своему боту /start И радуемся общению Вот его команды: Моды чата - это то в каком стиле будут даваться ответы. Доступны такие, можно почитать тут: Ещё важная настройка, доступная из диалога - /settings Я рекомендую использовать ChatGPT. Он соответствует версии ChatGPT3.5 Turbo. Он дешевый и ничем не уступает в ответах дорогому GPT-3.5. Там один токен очень дорого стоит. Посчитать токены кстати можно здесь: OpenAI API - TOKENIZER Обратите внимание, текст на русском потребляет в несколько раз больше токенов за одно слово. А вот на английском: Удачи.
  2. Это небольшая заметка о том как буквально за 10 минут организовать пересылку уведомлений из системы Proxmox VE в телеграмм. Небольшое вступление В один не очень приятный момент я столкнулся с тем что резервное копирование proxmox из за ошибки не выполнялось несколько дней, а так как эксперименты над виртуалками с моей стороны очень частые для меня это очень плохой звоночек. В один не очень хороший момент я мог просто не найти бэкап на который рассчитывал. Для предотвращения подобной ситуации в будущем решил настроить уведомления в proxmox. Сама система proxmox поддерживает три типа уведомлений: smtp, gotify и встроенную отправку почты linux. По умолчанию настроен вариант отправки почты linux, но из коробки это решение работать не будет и все уведомления оседают где то в логах системы. Рассмотрим два других варианта более подробно: Gotify - интересная легкая система которая может удобно собирать по http все уведомления в одном месте. И... на этом все... как по мне в ней не хватает как минимум адекватной возможности пересылки в другие системы. Smtp - это классическая почта, фактически вы даете данные авторизации для отправки почты от вашего имени (или от имени специального почтового ящика). Вариант использовать почту был уже более приемлемый но хотелось все таки получать уведомления в телеграмм (у меня уже были ранее настроены уведомления для watchtower, sonar, radar и т.д.). На просторах интернета есть несколько ботов которые подключаются к proxmox api Для управления системой, но по большей степени это именно управление и уведомления они не получают, ну и для задачи это было избыточно. В сухом остатке имеем два пути решения задачи Gotify или Smtp, причем приложение Gotify работает по принципу что именно приложение идет за сообщением а не сервер отправляет на телефон, это серьезное ограничение которое требует внешний доступ к серверу Gotify. Простое и элегантное решение На просторах интернета и обсуждений проблемы в telegram каналах было найдено простое и элегантное решение, smtp_to_telegram. Это небольшое приложение поднимает smtp сервер для приема писем без авторизации и пересылает их в telegram бот. Данный метод можно использовать не только для proxmox но и для любого сервиса поддерживающего smtp отправку уведомлений. Подробнее о самом решении можете посмотреть на странице GitHub: https://github.com/KostyaEsmukov/smtp_to_telegram Фактически нам необходимо создать телеграмм бота (или использовать уже имеющийся) который будет только отправлять сообщения, но не будет читать. Это позволяет без проблем использовать одного бота для нескольких уведомлений как например для watchtower (автоматического обновления докер образов). На просторах интернета множество инструкций по созданию телеграмм ботов подробно расписывать не буду. Коротко идем к служебному боту https://t.me/BotFather и создаем нового бота через меню, нам надо от него токен API. Не забываем написать нашему боту что нибудь для запуска. Так же с помощью https://t.me/myidbot необходимо узнать наш id для отправки сообщений, все опять таки крайне просто пишем боту /getid и получаем циферки которые нам нужны. Само решение будем запускать как я люблю в докере, так как это банально проще и легко воспроизводится: version: '3' services: readeck: container_name: SmtpToTelegram image: kostyaesmukov/smtp_to_telegram:latest restart: unless-stopped volumes: - /DATA/AppData/readeck:/readeck environment: - ST_TELEGRAM_CHAT_IDS=779979797 - ST_TELEGRAM_BOT_TOKEN=7127345363:AAEarsdfsdtnYsZZasdasdx0OfFcDc1NLU - ST_TELEGRAM_MESSAGE_TEMPLATE={subject}\n\n{body}\n\n{attachments_details} ports: - 2525:2525 Сам автор проекта не очень коммуникабельный и не собирает дорабатывать как либо решение, или банально делать образ докера под arm64 но есть альтернативный вариант под эту архитектуру. Для arm64 используйте образ image: cobra1978/smtp_to_telegram После запуска докер контейнера на нашем сервере на порту 2525 поднимется smtp сервер пересылки без авторизации. Переходим в настройку proxmox, нас интересует раздел notification у центра обработки данных. Создадим новую цель уведомлений smtp с данными для нашего сервиса пересылки (сервер это ip нашего сервера на котором запущен докер контейнер пересылки): Фактически отправитель и получатель могут быть вообще любыми адресами у сервиса нет контроля релевантности адресов кроме общего шаблона <name>@domein Фактически все у нас есть возможность отправлять уведомления proxmox в телеграмм, нажимаем test и видимо сообщение от бота. Если не сработало проверьте что у пользователя заполнен почтовый адрес Настройка уведомлений на почту Кроме бота можно настроить еще и дополнительно уведомления на почту, я для таких целей использую свой же почтовый ящик gmail. Но необходимо выполнить несколько предварительных настроек. Установить у пользователя proxmox почту. Для этого переходим в управление пользователями proxmox, и заполняем для пользователя от имени которого будем отправлять уведомления электронный адрес. Следующий пункт это получение пароля приложения для нашей почты которая будет выполнять отправку. Каждый почтовый сервис имеет свои правила и настройки, но большая часть современных требует создания пароля приложения с ограниченными правами. Для гугл можно посмотреть тут: https://support.google.com/accounts/answer/185833?hl=ru После получения пароля возвращаемся в раздел уведомлений proxmox и создаем новую цель для рассылки smtp, для своего почтового сервиса ищите настройки в поиске по словам "smtp <название вашего сервиса>" Обратите внимание что получатель и отправитель (настраивается в пользователе) почты могут совпадать, это будет письмо самому себе. Нажимаем тест и проверяем почту. Отправителя по умолчанию можно выключить, но удалить не получиться. Уведомления о бэкапах proxmox В proxmox существует достаточно гибкая система условий для уведомлений, подробно о ней можно почитать тут https://pve.proxmox.com/wiki/Notifications Я приведу небольшой пример который я использую для получения уведомлений о бэкапах как успешных так и ошибочных. Переходим в раздел уведомлений proxmox и создаем новый Notification Matchers Данные настройки будут отправлять на телеграмм и почту сообщение о событиях бэкапа в любое время. Для дополнительных ограничений по времени или других типов событий рекомендую ознакомится с документацией. Пример уведомления о бэкапах в телеграмм, к сообщению дополнительно прикладывается лог. Телеграмм бот дополнительно прикладывает его в виде файла так как не всегда удобно читать логи в сообщении телеграмм. И оно же на почте Спасибо за внимание, удачной настройки и меньше тревожных ведомлений.
  3. Что дают шаблоны? При использовании телеграм-бота, вы можете очень быстро создавать пользователей, просто указав его имя. Все остальные настройки уже будут переопределены. Есть кнопки: Create from template и кнопка Charge при заходе в пользователя: Все они, используют шаблоны пользователей, которые мы создадим Для того чтобы активировать шаблоны в телеграм, и удобно их использовать, вам нужно сначала включить эту возможность в .env. 1. Редактирование .env nano /opt/marzban/.env Находим строку: # DOCS = true и убираем комментарий со строки, чтобы получилось просто: DOCS = true 2. Перезапуск marzban marzban restart -n атрибут -n используется, чтобы не открывать логи после перезапуска. 3. Переходим в панель. Идём по адресу: https://domain.ru/docs А почитать информацию по API вы можете по ссылке: https://domain.ru/redoc Попадаем на такую страницу: Да, это именно веб-реализация API менеджмента. Удобно! Но первым делом, нам нужно авторизоваться. Жмем кнопку: Указываем свой логин и пароль от дэшборда: И жмём внизу: 4. Редактирование через АПИ шаблона пользователей. Нас интересует раздел: 4.1. Раскрываем раздел Add User Templates: 4.2. Жмем справа сверху - Try it Out И откроется тело запроса: из /redoc: 4.3. Теперь мы должны указать необходимые параметры. По умолчанию текст тут такой: { "name": "my template 1", "inbounds": { "vmess": [ "VMESS_INBOUND" ], "vless": [ "VLESS_INBOUND" ] }, "data_limit": 0, "expire_duration": 0 } name - задаем имя шаблона, короткое но понятное вам, например, 30 days / 300 gb inbounds - здесь мы должны указать теги наших подключений. В нашем случае тег будет: VLESS TCP REALITY data_limit - здесь мы должны задать размер доступного трафика, в байтах. Здесь есть один большой минус. Трафик указывайте в байтах. Придётся в панеле задавать вручную. data_limit_reset_strategy - Это стратегия сброса лимитов. Возможные варианты: no_reset / day / week / month / year Например, 300Гб = 322122547200 Байт Если задано 0 - значит без ограничений expire_duration - Время действия, в СЕКУНДАХ! Также можем указать для создаваемого пользователя username_suffix и username_prefix. Но зачем, я не понимаю )) В нашем случае для 30 days и 300 гб, запрос будет таким: { "name": "30 days/300gb", "inbounds": { "vless": [ "VLESS TCP REALITY" ] }, "data_limit": 322122547200, "expire_duration": 2592000 } Теперь осталось нажать синию кнопку: Получаем результат: Можно идти и проверять в Telegram бота. Обратите внимание на id: 9 Он вам пригодится, если вы захотите удалить какой то шаблон. 5. Удаляем шаблон. Удалить шаблон, также легко. Достаточно знать его ID. Нам нужен соответствующий раздел: Жмем сверху: Пишем ID = 9 (в нашем примере) и жмем Execute Удалили. Со всем остальным использованием API действия такие же!
  4. Всем привет! Сегодня оглашу такую важную тему как резервное копирование базы и все параметров. 1. Ручное копирование. Тут всё просто, все нужные файлы для восстановления лежат в двух папках: /opt/marzban /var/lib/marzban Вы можете самостоятельно их скопировать себе на компьютер. Но часто делать - устанешь. 2. Автоматическое копирование Здесь нам поможет прекрасный скрипт https://github.com/AC-Lover/backup/ 2.1. Скачиваем скрипт и запускаем: bash <(curl -Ls https://github.com/AC-Lover/backup/raw/main/backup.sh) Скрипт интерактивный, поэтому он сам спросит обо всех параметрах которые необходимо задать. 2.2. Получение токена от BotFather. К сожалению, использовать того же бота с которым мы взаимодействуем по созданию и редактированию пользователей мы не можем, то нам нужно создать нового бота: Идём к @botfather в телеграм и создаем нового бота. 2.3. Добавляем этого бота, в тот же канал, который мы с вами создавали здесь в пункте 5.9: 2.4. Теперь скрипт спросит, хотите ли ввести какой то комментарий для себя. Можете оставить пустой, или сделать себе пометку: Бэкап сервера №1 или любого другого. Это будет просто информационная часть отправляемого сообщения. 2.5. Затем скрипт предложить настроить cron-задачу. Чтобы система автоматически запускала скрипт через заданный промежуток времени. Формат будет состоять из двух чисел: 0 6 Первое число это МИНУТЫ. Диапазон: 0 - 60 Второе число это ЧАСЫ: Диапазон 0 - 24 Если задать 0 0 - то бэкап будет приходить каждую минуту Если задать 30 0 - то каждые 30 минут Если задать 0 6 - то каждые 6 часов Если задать 0 12 - то каждые 12 часов Если задать 0 24 - то каждые 24 часа Оптимальный период - тот, за который у вас могут происходить изменения. Если изменений в базе не много и они редкие, вам будет достаточно каждые 24 часа. 2.6. Выбор панели. Скрипт был написан универсальным, он может работать с marzban. 3x-ui, hiddify панелями. Но мы выбирать будем конечно marzban, поэтому вводим букву M 2.7. Последний вопрос будет касаться сброса уже существующих задач cron. Это нужно чтобы при многократном запуске скрипта и наличии уже других правил для резервного копирования у вас не было наслоения и дублирования. Я бы предложил вам выбрать в любом случае Y. Это ничего особо не меняет в дальнейшей работе. 2.8. На этом основная работа по установке скрипта считается выполненной, и вам в телеграм уже должен прийти первый бэкап вашего сервера. НО! Чтобы все работало по таймеру, нам необходимо выставить права на исполняемый файл: ОБЯЗАТЕЛЬНО ВЫПОЛНИТЕ ЭТУ КОМАНДУ! Если ваш скрипт был запущен не из корневой директории, то укажите свой корректный путь. chmod +x /root/ac-backup-m.sh Теперь всё. Вывод будет примерно таким:
  5. ShadowSocks решения: Marzban Full | Marzban Quick | Marzban Node | x-ui | 3x-ui | 3x-ui Docker Всем привет! Данная статья является устаревшей, рекомендуется переход на DEV ветку. В ближайшее время выйдет новая статья. Будет доступна только по подписке в Клубе Marzban. Переход на DEV ветку расписан в ЭТОЙ статье: Данная статья устарела. Рекомендую приобрести подписку и получить доступ к самой актуальной информации по Marzban Пока спал хайп на неработающий WireGuard, потому что он пока временно работает снова.. Хотел бы затронуть тему детальной настройки. Что мы сделаем в этой статье: Арендуем сервер Установим с нуля Marzban Установим сертификаты на домен Настроим docker-compose.yml Настроим .env файл и включим режим Proxy в CF. () (потенциально не работает Trojan протокол в этом режиме) Настроим продвинутую версию бота Настроим продвинутую версию клиентского интерфейса (страница подписки) Настроим 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. Нам нужно арендовать хороший и быстрый сервер. Например можно рассмотреть: * Aeza: получаем бонус 15% (если пополнить в первые 24часа регистрации) на пополнение баланса: https://aeza.net/?ref=377137 * На крайний случай 4vps: 4VPS.su (2Гб\с сервера) 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 Идёт установка: 2.1. Пока идёт установка, идём в CloudFlare и добавляем доменную А запись: В поле Name напишите имя поддомена, допустим proxy, и в итоге адрес панели Marzban будет proxy.vashdomain.ru В поле IPv4 address пропишите IP адрес вашего сервера Имя поддомена конечно вы можете использовать любое, домен соответственно - ваш. Упомянутую доменную A запись также можно добавить напрямую у своего доменного регистратора, вместо делегирования домена на CloudFlare 2.2. Возвращаемся в консоль. Здесь вы увидите логи контейнера. Нам они не интересны, и их закрытие на работу контейнера не повлияют. Поэтому вы можете просто взять и закрыть их кнопками Ctrl + C 2.3. Нужно создать администратора. Делается это командой : marzban cli admin create --sudo 2.4. Вводим имя и пароль для пользователя: 2.5. Идем в панель: http://в.а.ш.ip:8000/dashboard/ Основной этап прошли. Теперь идём настраивать дальше. 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 Получаем сообщение: Значит все хорошо. Если вы получили ошибку, проверьте домен или возможно привязка к IP не выполнилась ещё, подождите немного. Если ваша ошибка имеет такой вид: Значит у вас 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 Стандартно файл будет выглядеть так: 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 Получаем такой вид: Закрыть логи 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 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 Проверяем что всё открывается: 5.8. Теперь можно смело включать режим Proxy в CF. UPD: Убедитесь что у вас в настройках SSL/TLS включен режим FULL: Если меняете настройки здесь, нужно подождать минут 15 (иногда дольше) пока настройки применятся к домену. А также, имейте ввиду, что при проксировании, не работает Trojan протокол подключения. 6. Настраиваем Telegram бота Marzban. Функционал бота реализован только для администратора, пользовательской части бота не существует. Зато функционал достаточно объемный: Системная статистика Создание пользователей Редактирование одного или нескольких (в расширенной версии) Удаление пользователей Продление и редактирование аренды пользователей Возможность включения и отключения протоколов для пользователя Копирование всех вариантов подключений, в том числе ссылки на подписку. В расширенном боте может быть несколько администраторов. Стандартный бот, имеет меньше функционала (не буду приводить сравнение), поэтому мы сразу перейдем к реализации полной версии. 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 - т.к. новая версия бота позволяет добавлять несколько администраторов для бота. ID получаем у @userinfobot в телеге. Получится примерно так: TELEGRAM_ADMINS_ID = 11111111 Если нужно несколько админов, вписываем так: TELEGRAM_ADMINS_ID = 11111111, 222222222 6.4.3. Учитывая, что концепция бота предполагает использование несколько администраторов, а уведомлять нужно всех сразу, сделана реализация через отправку сообщений в КАНАЛ в телеграм. Для этого: 1. создайте новый Приватный канал в телеграм. 2. Напишите туда сообщение 3. Перешлите это сообщение вот этому боту: @userinfobot 4. В ответ получите информацию: 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. Улучшаем пользовательский вид страницы подписки. По умолчанию, страница выглядит вот так: Но мы сделаем лучше! 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 готово! Идём на страницу подписки, и смотрим: з.ы. кнопка Поддержка телеграм появится когда вы заполните на неё ссылку в 224 строке index.html UPD: более красивый вариант подписки здесь: dignezzz/marzban-sub (github.com) 8. Включаем поддержку warp proxy в ядре xRay Можно установить двумя способами, тот который я уже описывал на форуме (полностью ручной) и с помощью скрипта. Напишу самый простой. 8.1. Установка WARP-cli cd && bash <(curl -fsSL git.io/warp.sh) proxy Легко и просто. 8.2. Идём в нашу панель. Жмём на шестиренку: Открывается: 8.3. Советую написать log конфиг как у меня: "log": { "loglevel": "warning", "access": "./access.log", "error": "./error.log" } 8.4. Ищем Outbounds: И вставляем КОД как у меня: { "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" ] }, Должно получиться так: На этом всё! Сохраняем! Пользуемся!
×
×
  • Создать...

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

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

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