Skip to content

🧲 Telegram bot that implements remote control of the qBittorrent torrent client, interface for the Kinozal torrent tracker and synchronization of downloaded media content with Plex Media Server.

License

Notifications You must be signed in to change notification settings

Lifailon/Kinozal-Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kinozal Bot & News

Telegram бот, который позволяет автоматизировать процесс доставки контента до вашего телевизора, используя только телефон.

С помощью бота вы получите привычный и удобный интерфейс для взаимодействия с торрент трекером Кинозал, а также возможность управлять торрент клиентом qBittorrent или Transmission на вашем компьютере, находясь удаленно от дома. В отличии от других приложений, предназначенных для удаленного управления торрент клиентами, вам не нужно находиться в той же локальной сети или использовать VPN.

На базе бота реализован новостной канала 📢 Kinozal-News, который генерирует посты на основе новых публикаций в торрент трекере Кинозал с фильтрацией по рейтингу (7.0+) и году выхода (2023+). Каждый пост содержит краткую информацию о раздаче (год выхода, страна производства, рейтинг, качество и перевод), а также #хештеги по жанру для фильтрации контента на канале и кнопки с ссылками описания фильма или сериала в базах данных о кинематографе Кинопоиск и IMDb, бесплатный онлайн просмотр через плееры ▶️ Kinobox и 🧲 магнитные ссылки для прямой загрузки содержимого раздачи в вашем торрент клиенте по умолчанию (применимо как для bittorrent-клиентов на телефоне, так и Windows или Linux).

📝 Статьи на Хабр:

💁‍♂️ Как это работает?

Например, пока вы едите домой с работы, у вас появляется возможность подобрать фильм или сериал в обширной базе Кинозал прямиком с вашего телефона, или, найти что-то новое на канале Kinozal-News, после чего сразу загрузить выбранное на ваш компьютер и автоматически или через бот синхронизировать данные с Plex Media Server. По приходу домой, вам остается только открыть приложение Plex на вашем телевизоре и начать просмотр 📺🍿.

Image alt

Такой подход также применим для передачи управления по подбору контента другому члену семьи, это особенно актуально, если у вас один компьютер, который может быть занят или к нему нет прямого доступа. Разобраться в интерфейсе бота проще, чем использовать все сервисы по отдельности, и главное, куда быстрее 🐸.

🔌 Бот (серверная часть) протестирован и работает в виртуальной среде Hyper-V / VMWare на системе Debian 10.13 / Ubuntu 20.04 и выше (возможен запуск на системе Windows через интерпретатор Git Bash или MobaXterm) для удаленного управления приложениями, установленные в домашней системе Windows или Linux*. Хранение торрент-файлов происходит в системе, на которой запущен бот.

* Проверка удаленного управления приложениями на системе Linux не произодилась. Так как весь стек приложений является кросс-платформенным и имеет единую схему для удаленного взаимодействия через API, все должно работать точно также.

🍿 Реализовано:

  • ✅ Интерфейс для взаимодействия с торрент трекером Кинозал. Поиск раздач с фильтрацией по году выхода и формату разрешения (HD/FullDH/4K), подробная информации о каждой раздачи, содержимое раздачи, загрузка торрент файлов, поиск актеров и получение его фильмографии.
  • ✅ Централизованное управление загруженными торрент файлами (.torrent) на сервере, с возможностью выгрузки в Telegram.
  • ✅ Интерфейс удаленного управления торрент клиентом qBittorrent. Добавление раздач на загрузку из торрент файла, инфо хеш (передается в каждой публикации новостного канала и при поиске раздач в боте) а также через url торрент файла, получение подробной информации о загрузке (скорость загрузки, статус, пиры, сиды и т.д.), пауза и возобновление загрузки, проверка на целостность, принудительно анонсировать, переключение лимитов скорости, управление приоритетом отдельных файлов, удаление торрента и содержимого раздачи из системы.
  • ✅ Интерфейс управления торрент клиентом Transmission. Добавление раздач на загрузку из торрент файла, инфо хеш или url, получение подробной информации о загрузке, пауза и возобновление загрузки, управление приоритетом отдельных файлов, удаление торрента и содержимого раздачи.
  • ✅ Синхронизация контента с Plex Media Server, а также просмотр содержимого директорий и дочерних файлов.
  • ✅ Получение дополнительной информации о фильме и сериале из The Movie Database (TMDB). Список актеров и сезонов для каждого сериала, список серий в каждом сезоне, дата выхода сезонов и серий, а также получение подробной информации о каждой серии и список приглашенных актеров.

Добавление торрента по 🧲 hash-сумме и 🌐 url-адресу торрент файла (без загрузки самого файла) возможно из любого источника (торрент трекера). По мимо загрузки, это также дает возможность сформировать и сохранить торрент файл на сервере с полученными метаданными через торрент клиент qBittorrent или Transmission, который можно выгрузкой в Telegram, для дальнейшей загрузки через ваш торрент клиент на телефоне.

📚 Stack:

Зависимости:

  • jqlang для обработки данных в формате json;
  • Клиентское приложение VPN через Proxy-сервер или обратный прокси сервер (например, Reverse Proxy .NET) для доступа в Кинозал и TMDB (опционально).

Серверная часть написана на чистом Bash и использует стандартный набор unix-утилит. Вы можете настроить и управлять любым торрент клиентом независимо от настройки или работоспособности трекера Кинозал, или наоборот, использовать интерфейс Кинозал для поиска раздач и выгрузки торрент файлов в Telegram.


🎉 Примеры использования

  • Загрузка раздачи из канала по 🧲 магнитной ссылки (переадресация происходит автоматически в торрент клиент по умолчанию):

💡 Так как параметр url в keyboard Telegram API не поддерживает magnet-ссылки, был реалезован механизм переадресации через magnet2url, который также добавляет в ссылку список актуальных серверов торрент трекеров, используемых в Кинозал, а также WebTorrent, RuTracker, NoNameClub и RuTor.

Быстрее всего (в течение 1-2 секунд с момента перехода по ссылке) метаданные загружает локальный клиент LibreTorrent на Android и клиент WebTorrent Desktop или WebTorrent Desktop api на Windows, в то время как qBittorrent и Transmission может понадобиться до нескольки минут, а также загрузка может происходить медленнее. Для решения такой проблемы, может помочь запрос большего количества участников у торрент трекера (повторно анонсировать, доступно для клиента qBittorrent).

  • Демонстрация работы поиска и добавление на загрузку в qBittorrent (версия 0.4.4):

  • 🔍 Поиск в торрент трекере c фильтрацией по году выхода и формату разрешения:

Скорость получения информации из трекера Кинозал на прямую зависит от скорости работы вашего интернета и/или VPN соединения.

  • 👤 Профиль Кинозал, список торрент файлов на сервере и выгрузка всех торрент файлов (с полученными метаданными) в Telegram:

  • 🍿 Получение информации о выбранном сериале в Кинозал (стандартный вывод для всех раздач, из данного интерфейса происходит управление выбранным торрент файлом), а также пример управления загрузкой в клиенте 🔳 Transmission:

  • 👥 Поиск по актеру в трекере Кинозал и список фильмов с его участием, а также получение дополнительной информации из базы 💙 TMDB и даты выхода всех сезонов и серий:

  • 🐸 Список и статус всех активных торрентов, добавленных в клиент qBittorrent, а также получение дополнительной информации и управление загрукой файлов:

  • 🟠 Список секций и синхронизация контента, а также просмотр содержимого файлов на сервере Plex:


⚙️ Настройка

Для работы бота, необходимо подготовить свою домашнюю среду, все настройки подключения задаются в конфигурационном файле: 📑 kinozal-bot.conf.

  1. Зарегистрируйте аккаунт на сайте Кинозал и заполнить параметры конфигурации:

KZ_PROFILE="id_you_profile" - идентификатор вашего профиля (используется для получения информации из профиля Кинозал)
KZ_USER="LOGIN" - логин (используется на этапе получения инфо хэш из раздачи, содержимого раздачи и загрузки торрент-файлов)
KZ_PASS="PASSWORD" - пароль

  1. Если у вас заблокирован доступ в Кинозал, вы можете воспользоваться VPN или Proxy сервером, через который бот сможет проксировать свои запросы.

Я использую HandyCache на системе Windows, рядом с которым запущена бесплатная версия VPN Hotspot Shield в режиме раздельного туннелирования (Split Tunneling) до сайта Кинозал и TMDB.

  • 2.1. Настройка Proxy-сервера:

PROXY="True" - включить использование прокси сервера в curl-запросах при обращении к Кинозал и TMDB
PROXY_ADDR="http://192.168.3.100:9090" - адрес сервера и порт, на котором слушает запросы Proxy-сервер
PROXY_USER="LOGIN"
PROXY_PASS="PASSWORD"

  • 2.2. Вы можете указать любой из адресов для доступа к Кинозал, используя зеркало:
KZ_ADDR="https://kinozal.tv"

или

KZ_ADDR="https://kinozal.me"
  • 2.3. Возможен вариант использования обратного прокси сервер, на котором есть прямой доступ к трекеру, например, через Reverse Proxy .NET:

Скачайте исполняемый файл и запустите обратный прокси сервер на машине с доступом к Kinozal:

rpnet.exe --local 192.168.3.100:8443 --remote https://kinozal.tv

Отключите в конфигурации использование Proxy-сервера и замените адрес Кинозал на адрес обратного прокси сервера:

PROXY="False"
KZ_ADDR="http://192.168.3.100:8443"

💡 В версии rpnet 0.0.2 добавлена поддержка передачи данных через POST-запросы, что позволяет производить аутентификацию в трекере для загрузки торрент файлов и получения info hash.

  1. Создайте своего Telegram бота через @botfather используя интуитивно понятный интерфейс и получите API-токен доступа. Что бы получить ваш чат id, напишите любое сообщение вашему боту и перешлите его Get My ID, после чего заполните параметры:

Также id можно получить в логе работы бота из запросов новых клиентов (>>> Request), которые вы сможете добавить в конфигурацию через запятую.

TG_TOKEN="6873341222:AAFnVgfavenjwbKutRwROQQBya_XXXXXXXX" - используется для чтения и отправки сообщений ботом
TG_CHAT="8888888888,999999999" - id всех чатов, которые будут иметь доступа к боту

  1. Установите и настройте торрент клиент qBittorrent.
  • 4.1. Включите Веб-интерфейс в настройках приложения:

Укажите параметры подключения к клиенту:

QB_ADDR="http://192.168.3.100:8888" - указать URL-адрес, где указан протокол (по умолчанию, http), ip-адрес машины, на которой запущен qBittorrent и порт (задается в настройках Веб-интерфейса)
QB_USER="LOGIN" - имя пользователя, указывается в поле Аутентификация в настройках Веб-интерфейса
QB_PASS="PASSWORD" - пароль, указывается в поле Аутентификация в настройках Веб-интерфейса

  • 4.1. Определите директорию для загрузки контента в qBittorrent по умолчанию.

💡 Это должна быть директория, которая будет добавлена на сервер Plex, что бы в дальнейшем можно было синхронизировать загруженный контент, используя бот.

  1. Установите и настройте Transmission для управления клиентом с помощью бота:

Укажите параметры подключения к клиенту:

TRANS_ADDR="http://192.168.3.100:9091"
TRANS_USER="LOGIN"
TRANS_PASS="PASSWORD"

💡☁️ Возможно использовать один (или оба) из поддерживаемых клиентов для синхронизации с сервером Plex, или настроить второй клиент для синхронизации с любым облачным хранилищем, что бы иметь удаленный доступ к файлам, например, с телефона, т.к. для удаленной загрузки контента с сервера Plex требуется подписка Plex Pass. Для этого укажите любую дочернюю директорию внутри вашего облачного хранилища (необходимо, что бы ваше облако было подключено к файловой системе компьютера) для загрузки контента в Transmission клиенте по умолчанию.

  1. Установите Plex Media Server и получите токен доступа.

Так как нет возможности напрямую получить токент доступа в веб-интерфейсе, можно воспользоваться панелью разработчика в браузере. Откройте Development Tools нажатием кнопки F12 и перейдите на вкладку сеть (network), обновите страницу интерфейса вашего сервера Plex, после чего вы сможете увидеть токен в любом из url-запросов (X-Plex-Token=ваш_токена). Передайте адрес сервера (по умолчанию, порт 32400) и содержимое токена в параметры:

PLEX_ADDR="http://192.168.3.100:32400"
PLEX_TOKEN="ваш_токена"

💡 Создайте новую секцию на сервере Plex и укажите путь к директории хранения вашего контента, на которую уже настроен клиент qBittorrent или Transmission по умолчанию:

  1. Настройка подключения к TMDB api:

💡 Как и в случае с настройкой второго торрент клиента, данный пункт является опциональным.

Зарегестрируйте аккаунт на сайте The Movie Database и выпустите ключ доступа к api, после чего заполните параметры конфигурации (возможно указать ключ или токен на выбор):

TMDB_KEY="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
TMDB_TOKEN="XXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXX"
  1. Пути хранения торрент файлов, cookie (временные файлы, для авторизации в Кинозал и qBittorrent), а также лог-файлов и его размер (поддерживается ротация) на сервере задаются в конфигурации:
path="/home/lifailon/kinozal-bot"
log_size_mbyte=10

💡 Все запросы к боту, а также его ответы логируются

🐧 Запуск

Зависимости

Установите jq:

apt install jq
jq --version

jq-1.6

Для запуска бота загрузите скрипт kinozal-bot-*.sh последней версии, и расположите предварительно настроенный конфигурационный файл kinozal-bot.conf рядом со скриптом.

В примере используется директория kinozal-bot в корне домашнего каталога текущего пользователя, так выглядит состав файлов на рабочем экземпляре:

Проверка подключения

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

bash kinozal-bot/kinozal-bot-0.4.5.sh version

qBittorrent Client:  4.6.5 (api: 2.9.3)
Transmission Client: 4.0.6 (38c164933e)
Plex Media Server:   1.40.0.7998-c29d4c0c8

Управление

  • Используйте интерпретатор 🐧 Bash для запуска (root права не требуются):
cd ~/kinozal-bot
bash kinozal-bot-0.4.5.sh start bot
  • Узнать статус работы и количество активных процессов:
bash kinozal-bot-0.4.5.sh status

[INFO] 14:38:46: Server running. Count running process: 4
  • Проверка подключения к qBittorrent:

Если настройки заданы правильно, вы можете отобразить журнал работы qBittorrent клиента и сервера Plex в своей консоли.

bash kinozal-bot-0.4.5.sh log qb
bash kinozal-bot-0.4.5.sh log qb all
  • Отобразить журнал работы системы и сервера Plex:
bash kinozal-bot-0.4.5.sh log plex system
bash kinozal-bot-0.4.5.sh log plex system all
bash kinozal-bot-0.4.5.sh log plex server
bash kinozal-bot-0.4.5.sh log plex server all
  • Вывести журнал работы бота:
bash kinozal-bot-0.4.5.sh log bot   
bash kinozal-bot-0.4.5.sh log bot 50
  • Остановка бота и всех его дочерних процессов:
bash kinozal-bot-0.4.5.sh stop
bash kinozal-bot-0.4.5.sh status

[INFO] 14:40:16: Server not running. Count running process: 0

🚀 Служба

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

  • Создайте файл службы и откройте его в любом текстовом редакторе:
touch /etc/systemd/system/kinozal-bot.service
nano /etc/systemd/system/kinozal-bot.service
[Unit]
Description=Telegram bot for kinozal.tv torrent tracker, remote managment qBittorrent and Plex Media Server
After=network.target

[Service]
ExecStart=/bin/bash "/home/lifailon/kinozal-bot/kinozal-bot-0.4.5.sh" start bot log
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
Type=forking

[Install]
WantedBy=multi-user.target

💡 Замените путь к скрипту сервера в параметре запуска ExecStart на свой.

  • Примените настройки, включите автозапуск и запустите бота:
systemctl daemon-reload
systemctl enable kinozal-bot
systemctl start kinozal-bot
systemctl status kinozal-bot

После этого возможно управлять запуском, используя команды: start, stop и restart.

Для просмотра журнала работы бота, можете использовать утилиту journalctl:

journalctl -fu kinozal-bot

📌 Команды

💁‍♂️ Список всех доступных команд (за исключением /search_title, /search_actor, /add_hash и /add_url) автоматизированы через меню кнопок keyboard.

/search_title - Поиск в Кинозал по названию (вначале запроса принимает год выхода для фильтрации)
/profile - Профиль Кинозал (количество доступных для загрузки торрент файлов, статистика загрузки и отдачи, время сид и пир)
/torrent_files - Список загруженных торрент файлов с возможностью удаления
/status - список и статус всех текущих торрентов, добавленных в торрент-клиент qBittorrent
/plex_info - Список секций на сервере Plex для доступа к их контенту
/download_torrent <id> <file_name> - Загрузить торрент файл (передать два параметра: id и имя файла без пробелов)
/delete_torrent_file_<id> - Удалить торрент файл по id
/search_id <id> - Поиск в Кинозал по id
/download_video_<id> - Добавить торрент файла на загрузку в qBittorrent
/info <hash> - Статус загрузки указанного торрента (передать параметр: hash торрента)
/torrent_content <hash> - Содержимое торрента (список файлов)
/file_torrent <index> - Статус выбранного торрент файла (передать параметр: порядковый индекс файла)
/torrent_priority <num> - Изменить приоритет выбранного файла в /file_torrent (передать параметр: номер приоритета)
/pause <hash> - Установить на паузу
/resume <hash> - Восстановить загрузку
/delete_torrent <hash> - Удалить торрент из клиента
/delete_video <hash> - Удалить вместе с данными
/plex_status_<key> - Информация о выбранной секции в Plex (передать параметр: ключ секции)
/plex_sync_<key> - Синхронизировать выбранную секцию в Plex
/plex_folder_<key> - Получить список директорий и файлов в выбранной секции
/find - Поиск контента в Plex по пути (передать параметр: конечную точку)

Добавлено в версии 0.4.1:

/plex_last_views - Список последних просмотров (дата просмотра и время остановки) в Plex
/plex_last_added - Список последних добавленных файлов в Plex
/kinozal_description <id> - Описание фильма из Кинозал (удалено из меню в версии 0.4.5)

Добавлено в версии 0.4.2:

/kinozal_actors <id> - Список актеров из Кинозал (передать параметр: id kinozal)
/actor <id> - Описание, поиск актера и его фильмографии из Кинозала и ссылка на Кинопоиск (передать параметр: имя актера)
/kinopoisk_movie <id> - Информация о фильме из Кинопоиск по id kinopoisk (удалено из меню в версии 0.4.5)

Добавлено в версии 0.4.3:

Поддержка WinAPI (временно отключено в версии 0.4.4).

Добавлено в версии 0.4.4:

/search_title <year*> <format*> <title> - Поиск с фильтрацией по году выхода и формату разрешения
/research - Повторить последний поиск (id не требуется)
/file_list - Извлечь список файлов и их размер из раздачи
/send_torrent_file_id - Отправка загруженного торрент-файла в Telegram
/send_last_torrent_file - Отправить последний загруженный торрент-файл
/send_all_torrent_files - Отправить все загруженные торрент-файлы
/skip_all_files <hash> - Пропустить загрузку всех файлов путем изменения приоритета в qBittorrent
/normal_all_files <hash> - Восстановить загрузку всех файлов
/add_torrent <hash> - Добавить раздачу на загрузку в qBittorrent по инфо хэш
/get_torrent <hash> - Выгрузить торрент файл на сервер по инфо хэш и отправить в телеграмм
/torrent_recheck <hash> - Проверить торрент файл
/torrent_limit - Переключить альтернативные лимиты скорости загрузки и отдачи

Добавлено в версии 0.4.5:

/search_actor <name> - Поиск актеров в базе Кинозал (возвращает список найденных актеров)
/actor <search/list> <name> - Первый параметр принимает тип возврата (/kinozal_actors или /search_actor)
/trans_status - Список и статус всез торрент в клиенте Transmission
/trans_info <id> - Получить подробную информацию о торренте
/trans_file_all <id> <skip/resume> - Изменить приоритет загрузки всех торрент файлов выбранной раздачи по id (пропустить или возобновить загрузку и выставить нормальный приоритет)
/trans_file_select <id> <file_index> - Переключить приоритет выбранного файла (пропустить или высокий приоритет)
/trans_pause <id> <start/stop> - установить на паузу или возобновить
/trans_remove <id> <false/true> - удалить торрент и данные
/trans_set_alt_speed - переключить лимит альтернативной скорости
/add_hash <qbit/trans> <hash> - Добавить торрент по инфо хеш в указанный клиент
/download_trans_<id> - Добавить торрент файла на загрузку в Transmission клиент
/add_url <url> - Добавить торрент по url-адресу с выбором клиента через меню
/add_trans_url <url> - Добавить торрент по url-адресу в Transmission клиент
/add_qbit_url <url> - Добавить торрент по url-адресу в qBittorrent клиент
/torrent_reannounce <hash/all> - Принудительно повторно анонсировать (запросить у трекера больше участников) для выбранного торрента в qBittorrent клиенте
/tmdb_info <kinozal_id> - Получить информацию о фильме или сериале через TMDB API
/tmdb_actor <tmdb_id> <type> - Получить список актеров
/tmdb_season_episodes <tmdb_id> <season_number> - Список серий в указанном сезоне
/tmdb_select_episode <tmdb_id> <season_number> <episode_number> - Информация по выбранной серии и список приглашенных актеров
/tmdb_person <person_id> - Информация по актеру и ссылки на TMDB и IMDb


Примеры команд поиска и загрузки

  • 🔍 Поиск в Кинозал по id:

/search_id 1940284

  • 🍿 Поиск по названию фильма или сериала:

/search_title Рокки 2
/search_title Рокки 4

  • Поиск с фильтрацией по году выхода:

/search_title 1979 Рокки
/search_title 1985 Рокки

  • Поиск с фильтрацией по формату разрешения:

/search_title (720) Рокки
/search_title (1080) Рокки
/search_title (2160) Рокки

  • Поиск с фильтрацией по формату разрешения и году выхода:

/search_title 1985 (2160) Рокки
/search_title (2160) 1985 Рокки

  • 👥 Поиск актера в базе Кинозал по имени:

/search_actor "Алан"
/search_actor "Сильвестр"

  • Получить биографию и фильмографию указанного актера:

/actor search Алан Тьюдик
/actor list Сильвестр Сталлоне

  • 🔄Повторить последний запрос поиска для фильма/сериала или актера:

/research

  • 🧲 Добавить торрент по инфо хеш на загрузку с выбором клиента через меню:

/add_torrent A72BD27A0CE265A3C7965392BC06C25EDD759214

  • 🧲 Добавить торрент по инфо хеш в указанный торрент клиент:

/add_hash qbit A72BD27A0CE265A3C7965392BC06C25EDD759214
/add_hash trans A72BD27A0CE265A3C7965392BC06C25EDD759214

  • 🌐 Добавить торрент по url-адресу с выбором клиента через меню:

/add_url https://d.rutor.info/download/869858
/add_url https://nnmclub.to/forum/download.php?id=1308422

  • 🔳 Добавить торрент в Transmission клиент:

/add_trans_url https://d.rutor.info/download/869858

  • 🐸 Добавить торрент в qBittorrent клиент:

/add_qbit_url https://nnmclub.to/forum/download.php?id=1308422


Другие проекты:

  • TorAPI - неофициальный API (backend Express.js) для RuTracker, Kinozal, RuTor и NoNameClub с целью получения торрент-файлов и другой информации по названию фильма, сериалу или id.

  • ❤️ WebTorrent Desktop api - форк WebTorrent Desktop клиента, в котором добавлен механизм удаленного управления через REST API на базе Express Framework.

  • 🎞️ Open Kinopoisk Chrome Extension - расширение, которое добавляет кнопки на сайт Кинопоиск для поиска фильмов и сериалов в открытых источниках.

  • 📡 Reverse Proxy .NET - кроссплатформенная утилита командной строки для реализации обратного прокси-сервер на базе .NET. Используется для предоставления доступа хостам с одного сетевого интерфейса к удаленным приложениям через протоколы TCP, UDP или HTTP/HTTPS доступных через другой сетевой интерфейс без лишних настроек и с поддержкой авторизации.