Бот в Телеграме подборка паролей

В статье рассказываем, как разработать Telegram-бота для генерации сложных паролей.

Введение

Чтобы придумать надежный, но запоминающийся пароль, можно взять несколько слов и объединить их в последовательность, напоминающую сюжет. А после — отформатировать и добавить специальные символы. Все просто, но задачу можно автоматизировать — написать Telegram-бота, который будет генерировать пароли прямо в мессенджере. В статье рассказываем, как это сделать.

Требования к работе бота

Прежде чем приступить к написанию кода, определим правила, по которым бот должен работать.

  1. Длина пароля должна быть от 2 до 8 слов. Так мы усложним задачу злоумышленнику — подобрать связку слов намного сложнее, чем одно слово.
  2. Между словами могут быть разделители в виде цифр и спецсимволов. Это увеличит энтропию и затруднит подбор пароля. Пароль с разделителями может выглядеть, например, так: unmovable8ENCRUST=macho.
  3. Дополнительно в пароле могут использоваться спецсимволы в начале (префиксы) и в конце (суффиксы) слова, которые также помогут увеличить сложность подбора.
  4. Количество слов, разделителей, префиксов и суффиксов должно настраиваться пользователем. Пользователю предоставляется интерфейс в виде сообщения с кнопками, нажатием на которые включаются и выключаются отдельные настройки
  5. Пользовательские настройки должны сохраняться в Redis и не сбрасываться при перезагрузке сервера с ботом. Выбор Redis обусловлен тем, что нам не требуются «фичи» реляционных СУБД — схемы, транзакции, миграции и другие — поэтому можно обойтись более простым в развертывании решением. Также мы будем использовать особенность aiogram — механизм конечных автоматов, который нативно поддерживает Redis как бэкенд.

Теперь посмотрим, что понадобится для разработки бота.

ToBePass — Telegram бот, менеджер паролей

Что понадобится для разработки

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

  • Python — от версии 3.9 и выше,
  • aiogram — асинхронный фреймворк для работы с Telegram Bot API,
  • Redis — быстрое key-value хранилище,
  • redis-py — клиент для работы с Redis,
  • XKCD-password-generator — библиотека для генерации паролей,
  • pydantic — библиотека для валидации данных и формирования настроек приложения.

И самое главное — репозиторий на GitHub. Его нужно импортировать в свое рабочее окружение и настроить.

Как настроить бота

Запустим бота локально. На этом этапе можем обойтись без Redis, но важно учитывать, что пользовательские настройки не будут сохранены между перезапусками.

Если вы пишете на Python и используете среду разработки PyCharm, то запустить бота будет максимально просто. После клонирования репозитория переключитесь на ветку article-tweaks (git checkout article-tweaks) и создайте новую конфигурацию запуска (Run Configuration). А затем установите параметры:

— STORAGE_MODE — выберите memory.

— WORDS__WORDFILE — укажите путь к файлу с набором слов. Он входит в состав репозитория, поэтому отдельно скачивать его не нужно.

Должно получится, как на скриншоте:

После этого запустите созданную конфигурацию. Вы увидите в консоли следующий текст:

INFO:aiogram.dispatcher.dispatcher:Start polling

Если вы используете не PyCharm, то процесс запуска несколько отличается. Создайте виртуальное окружение bot (python3 -m venv bot) и установите зависимости (pip install -r requirements.txt), а после — запустите бота следующей командой:

BOT_TOKEN=ключ от BotFather STORAGE_MODE=memory WORDS__WORDFILE=/path/to/words.txt python -m bot

Теперь попробуйте отправить в личные сообщения с ботом команду /start. Если в ответ получили текстовое приветствие, бот работает.

При вводе символа / вы должны увидеть список команд. Попробуйте вызвать их и изучить различные конфигурации. По умолчанию поддерживаются следующие пресеты:

  • /generate_weak –— два случайных слова без каких-либо дополнительных символов.
  • /generate_normal — три случайных слова, каждое из которых случайным образом может состоять из всех прописных или всех строчных букв, в качестве разделителей используются числа.
  • /generate_strong — то же, что и в предыдущем случае, но слов четыре, а в качестве разделителей, помимо цифр, возможны спецсимволы.
Еще по теме:  Как пользоваться Telegram на Android в России

Кроме этого, есть команда /settings — она приводит к отправке сообщения с настройками. А также команда /generate — отправляет сгенерированный пароль с учетом новой конфигурации:

Деплой бота

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

Оптимальное решение проблемы — загрузить проект на облачный сервер с гибкой производительностью ядра. Так можно обеспечить стабильную работу бота и ограничить потребление ресурсов, чтобы не переплачивать.

Поскольку затраты процессора на генерацию пароля и отправку его в Telegram минимальны, нам подойдет сервер линейки Shared Line. Это линейка облачных серверов с возможностью оплаты только части ядра, например 10, 20 или 50%. Shared Line позволяет использовать все преимущества облака и не переплачивать за неиспользуемые ресурсы.

Для начала зарегистрируемся в панели управления и создадим новый сервер в разделе «Облачная платформа». Затем — настроим его.

С учетом выделенного IP-адреса такая конфигурация выйдет примерно в 28 ₽/день. При желании можно обойтись без маршрутизируемого IP-адреса, поскольку Telegram-бот может принимать события методом опроса (поллинга), даже находясь за NAT.

1. После подключения к серверу по SSH, бота необходимо перенести. Для этого выполните следующие шаги:Откройте консоль сервера и обновите систему с помощью команды:

apt update apt upgrade -y

2. Создайте отдельного пользователя для нашего бота и добавьте его в группу sudoers:

3. Установите Redis и присоедините его к systemd, воспользовавшись удобной инструкцией от DigitalOcean. Шаги 4 и 5 можно пропустить.

4. Клонируйте репозиторий и переключитесь на нужную ветку:

5. Настройте виртуальное окружение:

python3 -m venv venv source /venv/bin/activate pip install -r requirements.txt

6. Создайте файл systemd-службы по пути /etc/systemd/system/passgenbot.service со следующим содержимым:

[Unit] Description=Telegram Password Generator Bot Requires=redis.service After=network.target redis.service [Service] Type=simple WorkingDirectory=/home/bot/passgenbot ExecStart=/home/bot/passgenbot/venv/bin/python -m bot User=bot Group=bot EnvironmentFile=/home/bot/passgenbot/.env KillMode=process Restart=always RestartSec=10 [Install] WantedBy=multi-user.target

7. Обратите внимание на директиву EnvironmentFile. Создайте этот файл и поместите туда необходимые переменные окружения:

8. Убедитесь, что Redis запущен (systemctl status redis) и включите бота с добавлением его в автозапуск:

sudo systemctl enable passgenbot —now

Готово!

Разбираемся вместе

Возможности бота можно в любой момент персонализировать под себя. Если в какой-то момент пресетов станет недостаточно — добавить новые или изменить существующие. Это сделать достаточно просто.

За генерацию паролей по заданным пресетам отвечает класс XKCD. Под капотом наш бот выглядит так:

from random import choice from xkcdpass import xkcd_password class XKCD: # Весь список разделителей, отдельно цифры, отдельно – спецсимволы delimiters_numbers = [«0», «1», «2», «3», «4», «5», «6», «7», «8», «9»] delimiters_full = [«!», «$», «%», «^», «, «*», «-«, «_», «+», «=», «:», «|», «~», «?», «/», «.», «;»] + delimiters_numbers def __init__(self, filename: str): # Загрузка словаря в память self.wordlist = xkcd_password.generate_wordlist( wordfile=filename, valid_chars=»[a-z]», min_length=4, max_length=10, ) def weak(self): # Слабый пароль: 2 слова без раздетилей return xkcd_password.generate_xkcdpassword( self.wordlist, numwords=2, delimiter=»», ) def normal(self): # Средний пароль: 3 слова, разделитель # в виде случайной цифры return xkcd_password.generate_xkcdpassword( self.wordlist, numwords=3, case=»random», random_delimiters=True, valid_delimiters=self.delimiters_numbers ) def strong(self): # Сильный пароль: 4 слова и большой выбор разделителей return xkcd_password.generate_xkcdpassword( self.wordlist, numwords=4, case=»random», random_delimiters=True, valid_delimiters=self.delimiters_full ) def custom(self, count: int, separators: bool, prefixes: bool): # Произвольный пароль: # сложность зависит от настроек пользователя pwd = xkcd_password.generate_xkcdpassword( self.wordlist, numwords=count, case=»random», delimiter=»», random_delimiters=separators, valid_delimiters=self.delimiters_full ) if prefixes == separators: return pwd elif separators and not prefixes: return pwd[1:-1] elif prefixes and not separators: return f»»

Для добавлении нового пресета достаточно скопировать существующий, изменить его название и настроить параметры метода generate_xkcdpassword под себя.

И последним этапом — добавить в обработчик commands функцию для вызова своего пресета, чтобы программа знала, в какой ситуации его вызывать. Это можно сделать по аналогии с существующими пресетами.

Еще по теме:  Cif в Телеграм на аву

from aiogram import types, Dispatcher from aiogram.utils.markdown import hcode from bot.pwdgen import XKCD async def cmd_generate_weak(message: types.Message): # вызов пресета weak pwd: XKCD = message.bot.get(«pwd») await message.answer(hcode(pwd.weak())) async def cmd_generate_normal(message: types.Message): # вызов пресета normal pwd: XKCD = message.bot.get(«pwd») await message.answer(hcode(pwd.normal())) async def cmd_generate_strong(message: types.Message): # вызов пресета strong pwd: XKCD = message.bot.get(«pwd») await message.answer(hcode(pwd.strong())) # вот здесь можно добавить свою функцию для вызова пресета # регистрация команд def register_commands(dp: Dispatcher): # обработчик вызывает пресет weak по команде generate_weak dp.register_message_handler(cmd_generate_weak, commands=»generate_weak») # обработчик вызывает пресет normal по команде generate_normal dp.register_message_handler(cmd_generate_normal, commands=»generate_normal») # обработчик вызывает пресет strong по команде generate_strong dp.register_message_handler(cmd_generate_strong, commands=»generate_strong») # вот здесь можно добавить свою команду

Заключение

Несмотря на то, что разработанный бот работает и выполняет свои прямые задачи по генерации сложных паролей, это далеко не предел его возможностей. В качестве дополнений и улучшений можно назвать добавление новых языков, автоудаление записей по таймеру, генерацию KeePass-совместимых баз данных, создание нескольких паролей одновременно и другое.

Зарегистрируйтесь в панели управления

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

Источник: selectel.ru

Подборка наборов для статусов Telegram

Подборка наборов для статусов TelegramПодборка наборов для статусов Telegram

В обновлении Telegram под номером 9.0 одним из ключевых нововведений считается возможность установки кастомного статуса в формате эмодзи.

Нововведение доступно исключительно пользователям Telegram Premium, однако оно сразу же стало достаточно мейнстримным благодаря свободе выбора эмодзи: зачастую люди устанавливают какие-то смешные или брендированные смайлы.

«Код Дурова» подобрал список самых забавных и крутых наборов эмодзи, которые можно использовать для статусов в мессенджере. Бонусом коротко рассказываем, как создать такие самостоятельно.

  • Статусы с иконками Telegram Premium и пометками SCAM, FAKE, BUSY
  • Полностью прозрачный эмодзи
  • Полностью прозрачный эмодзи с полностью пустым названием
  • Всеми любимая аська
  • Галочка Telegram
  • Галочка Telegram другого образца
  • Смайлы ВКонтакте
  • Смайлы Одноклассники
  • Колобки
  • Пиксельные смайлы
  • Android-смайлы
  • Смайлы из Windows 11
  • Эмодзи с пиксельным Пепе
  • Анимированный Пепе
  • Видео-эмодзи с животными
  • Гигантский пак с видео-эмодзи
  • Эмодзи с героями популярных мемов
  • Ещё один пак анимированных эмодзи с кучей мемов
  • Эмодзи с западными мемами
  • Уточка из Telegram
  • Токсичные эмодзи
  • Странные мемы
  • Всякие иконочки
  • Иконки компаний и сервисов
  • Майнкрафт
  • WhatsApp
  • Ещё WhatsApp
  • Иконки Telegram
  • Наггетсы
  • Эмодзи в минималистичном дизайне
  • Планеты

Чтобы установить эмодзи вместо стандартной звёздочки, нужно открыть список чатов и кликнуть на звёздочку около надписи «Чаты» (iOS), либо кликнуть на кнопку «Установить эмодзи-статус» в открывающемся по свайпу вправо меню (Android).

Как создать свои эмодзи для статусов?

1. Нужно помнить, что любые эмодзи должны быть размером ровно 100 x 100 пикселей.

2. Статичные эмодзи в Telegram поддерживают форматы .PNG или .WEBP. Для создания статичных эмодзи понадобится только редактор изображений, позволяющий экспортировать их в формат .PNG или .WEBP.

3. Анимированные эмодзи в Telegram поддерживают формат .TGS и частоту кадров 60 fps. Они не должны содержать аудиопоток и быть не дольше 3 секунд. Рекомендуется зацикливать их.

Для создания анимированных эмодзи понадобится следующий ряд инструментов:

— дополнительные навыки владения векторной графикой в специализированных программах вроде Adobe After Effects;

— плагин Bodymovin-TG для Adobe After Effects, который нужен для экспорта анимации в формат .TGS.

4. Видео-эмодзи поддерживают в Telegram формат .WEBM и частоту кадров 30 fps. Они не должны содержать аудиопоток и быть дольше 3 секунд. Рекомендуется зацикливать их.

Подробные гайды по работе с редакторами векторной графики и Adobe After Effects, ищите в интернете. Подробнее о различиях типов и нюансах создания эмодзи можно прочитать в официальной документации Telegram. Больше подробностей также можно найти в нашем материале.

Вышло обновление Telegram: Эмодзи-статусы, новые ссылки и новая авторизация

Команда Telegram готовится к релизу очередного обновления мессенджера, главным новшеством которого скорее всего станут новые возможности кастомных эмодзи.

Источник: kod.ru

Еще по теме:  Как подписаться на Телеграмм багдасарова

Подборка телеграм ботов для арбитражника

CRYP.IM

CRYP.IM 11.08

👇🏻

Сделали для вас подборку ботов в Телеграм, которые помогут в решении повседневных арбитражных задач.

P.S. Также просим всех наших читателей помочь нам собрать еще больше полезных ботов. Если вы чем-то пользуетесь и не нашли в этой подборке — оставляйте ссылки в комментариях.

UTM Generator – бот для utm разметки ссылок. Есть готовые шаблоны под Директ.Поиск, Директ.РСЯ, AdWords.Поиск, AdWords.КМС, ВКонтакте, Таргет.MailRu (myTarget).

Comments Fb – бот от Максима Шейко, блогера и овнера закрытой криптопартнерки поможет вам подкрутить комментарии под вашими рекламными постами. Траст в глазах пользователей никто не отменял.

Web Gopnik – шаблоны документов, витрин и рассылок для финансовой вертикали.

All Saver Bot – скачивает фото и видео из YouTube и Instagram.

Tik Tok Save Video – скачивает видео из TikTok без водяных знаков.

IziBot – скачивает фото и видео из любой соцсети: от Instagram и TikTok до FB, Twitter, Pinterest и даже PornHub.

LP Instagram Bot – сам нарежет картинку в правильных пропорциях на 6 или 9 частей. Вам останется их только загрузить в правильном порядке. Активация бота платная, стоимость пожизненной подписки всего 200 руб. Для оплаты стучите по указанными контактам.

Good Sam Bot – можно быстро проверить базу email-адресов на наличие треша и плохих ящиков, и выполнить основные действия для очистки баз от «плохих» адресов.

Telegram Postback – бот, который будет чекать стату за вас и выдавать это все прямо в Telegram.

SoberuBot – поможет проанализировать и собрать активные аккаунты в Instagram, после чего выдаст отчет в виде списка юзернеймов или ID пользователей.

TrafficRobot – бот для генерации email адресов. Адрес генерируется на домене trafficrobot.tk.

Saveas Bot – скачивает фото, видео, карусели, текст и IGTV-видео из Instagram, Pinterest и TikTok по отправленной ему ссылке.

InstaSavegram Bot – аналогично предыдущему скачивает видео, фото и описания из Instagram.

Уникализатор – чистит метаданные у фото и накладывает шумы, уникализируя таким образом креативы.

SaveOff – скачивает видео с TikTok и YouTube и очищает их от водяных знаков.

Apps check bot – бот в помощь тем, кто работает с приложениями: мониторинг банов, отзывов, рейтингов и инсталлов.

TOP SMS BOT – бот для приема SMS на виртуальные номера, доступно более 40 стран и 70 различных сервисов.

Xleads_links_bot – прогревает ссылку лайками от РЕАЛЬНЫХ пользователей ФБ, чтобы модерация прошла успешно и быстро. 50/р – более 100 лайков.

Uniq_creo_bot – позволяет не только почистить метаданные, но еще и получить пачку новых уникальных креативов за пару минут.

Voicy – бот, который переводит все голосовые сообщения и аудио файлы (.ogg, .flac, .wav, .mp3), которые получает, в текст.

Алёша – помогает перевести текст с аудио файл.

Максим – трансформирует текст в аудио, но в отличие от Алёши, есть возможность выбора женского и мужского голоса, а также эмоциональной подачи.

SaveAsBot – за пару секунд скачает фото, видео, IGTV-видео и тексты из Instagram, Pinterest и TikTok.

ScannerText – распознает и “вытянет” текст из любого скриншота (понимает 4 языка).

VgifBot – конвертирует видео в гифку. Нужно просто скинуть видео боту, дважды подтвердить действие, чтобы получить ссылку на гиф файл.

TitleGenerator – поможет сгенерировать «продающие» заголовки.

IGSpy – в анонимном режиме скачивает истории в Instagram.

iAmPRCompanyBot – собирает комментарии с профиля в Instagram по ссылке.

getcombot – бот для выгрузки подписчиков, лайков и комментариев.

Smalala_bot – бот, который оживит диалоги в чате. Самообучается, но в большинстве случаев без смеха читать его сообщения не получается Для “прогрева” чата под слив трафика вполне годный вариант.

👍🏻

Сохраняйте себе, делитесь нашей подборкой, подписывайтесь, если еще не подписались – впереди много полезного и интересного.

Источник: cpalenta.ru

Рейтинг
( Пока оценок нет )
Загрузка ...