main
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*:
- test —
node --check+ смоук-тесты генератора (npm test) - 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)
Languages
JavaScript
98.3%
Dockerfile
1.7%