Files
tg_bot_gen/README.md
T

2.3 KiB
Raw Blame History

tg_bot_gen

Telegram-бот — полноценный генератор паролей с инлайн-меню (telegraf v4, Node.js).

Возможности

  • /start — всё меню на инлайн-кнопках
  • 🔑 Генерация паролей через crypto.randomInt (без Math.random)
  • ⚙️ Настройки на кнопках:
    • длина 4–128 (кнопки −5 / −1 / +1 / +5)
    • наборы: A-Z, a-z, 0-9, символы
    • «без похожих символов» (il1Lo0O)
    • «произносимый» режим (CV-паттерн)
  • 📊 Оценка стойкости: энтропия в битах + уровень
  • 📋 История последних 5 паролей (в памяти, на диск не пишется)
  • 📧 Генератор почтовых адресов: 3 стиля (random / pronounceable / word.num+число), 14 доменов (gmail, mail.ru, yandex, outlook, proton…), опция «цифра в адресе», пачка из 5, команда /email
  • 🔒 Доступ только для владельца (OWNER_ID из .env)

Запуск

npm install
npm start        # или npm run dev (с --watch)

Настройка .env

BOT_TOKEN=***
OWNER_ID=ваш_user_id

Структура

index.js            # бот: меню, хэндлеры кнопок
lib/generator.js    # генератор + оценка энтропии

Docker / CI-CD

✅ GitHub Actions: .github/workflows/docker.yml — при пуше в main, PR и теге v*:

  1. test — node --check + смоук-тесты генератора (npm test)
  2. build — сборка образа и публикация в GHCR: ghcr.io/kromskii2/tg_bot_gen (теги latest, main, sha-xxx, semver для тегов)

Локально:

npm test                 # проверки
docker build -t tg_bot_gen .   # или npm run docker
docker run --env-file .env tg_bot_gen
# или:
docker compose up -d --build

Запуск собранного в CI образа:

docker run -d --name tg_bot_gen --env-file .env ghcr.io/kromskii2/tg_bot_gen:latest

(для private-репозитория: docker login ghcr.io с PAT со scope read:packages)