|
|
||
|---|---|---|
| certs | ||
| scripts/dev | ||
| src | ||
| tests | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| docker-compose.yml | ||
| Dockerfile | ||
| index.html | ||
| install.sh | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| setup.sh | ||
| tsconfig.json | ||
| tsconfig.web.json | ||
| vite.config.ts | ||
Telemax
Двусторонний мост между мессенджером MAX и Telegram: один номер MAX превращается в Telegram-группу с форум-темами (по одной на каждый MAX-чат), и переписка идёт в обе стороны как в едином окне.
⚠️ Неофициальный проект. Не связан с MAX и Telegram, работает поверх вашего собственного номера/аккаунта на свой страх и риск — см. «Отказ от ответственности».
Возможности
- Текстовые сообщения, фото, файлы, голосовые, видео и видео-кружки (обе стороны)
- Стикеры — статичные и анимированные (обе стороны)
- Геолокация и контакты (обе стороны)
- Опросы: создание и голосование в обе стороны, актуальный счёт по команде
/poll - Удаление сообщений в обе стороны
- Пересылка сообщений — обычным drag-forward в Telegram, с автоматической пометкой источника
- Управление MAX-группами прямо из Telegram: создание, приглашение/удаление участников, переименование, описание, выход, удаление
- Уведомления о звонках (входящий/завершённый/пропущенный) — только текстом, без передачи аудио
- Веб-панель мониторинга: статус подключения, живые метрики, экран первой авторизации
/reboot— полный сброс и пересинхронизация Telegram-стороны без повторной авторизации в MAX/kill— аварийный сброс: то же самое + разлогинивание MAX-сессии и полное стирание сохранённых данных
Полный список команд бота — /help прямо в боте после запуска.
Требования
- Docker + Docker Compose
- Telegram-бот (токен из @BotFather) и Telegram-группа с включёнными темами (forum topics), куда бот добавлен администратором
- Номер MAX, на который будет авторизован мост
Быстрый старт
На чистом Ubuntu/Debian-сервере (по SSH, от root) — одна команда:
curl -fsSL https://raw.githubusercontent.com/Trollobot/Telemax/main/install.sh | bash
Она сама обновит систему, поставит git, Docker и jq (если их ещё нет), склонирует проект в /opt/telemax и запустит интерактивную настройку. Спросит только токен Telegram-бота (создаётся через @BotFather) — id группы искать не придётся: добавьте бота в свою группу (с включёнными темами) администратором, отправьте туда любое сообщение, и скрипт сам определит нужный id. Секретные ключи сгенерирует сама, соберёт образ и запустит контейнер. Первая сборка дольше обычного (внутри образа headless-браузер для рендера анимированных стикеров) — это нормально, обычно несколько минут. Безопасно запускать повторно.
Если Docker и git уже стоят (или разворачиваете не с нуля) — то же самое, но без системной части:
git clone https://github.com/Trollobot/Telemax.git
cd Telemax
./setup.sh
Совсем руками, без интерактивных скриптов:
cp .env.example .env
# впишите TELEGRAM_BOT_TOKEN и TARGET_TELEGRAM_GROUP, остальное сгенерируйте:
# openssl rand -hex 24 -> API_KEY
# openssl rand -hex 32 -> MAX_SESSION_KEY
docker compose up -d --build
Первая авторизация
Откройте http://<сервер>:3000, введите значение API_KEY из .env, затем номер телефона MAX и код из SMS. После успешной авторизации сессия сохраняется зашифрованной в .data/ — повторной авторизации при перезапуске контейнера не требуется.
Обслуживание
docker compose logs -f # логи
docker compose restart # перезапуск
docker compose down # остановка
Все состояние (сессия MAX, привязка чатов к темам) лежит в ./data на хосте — бэкап этой папки достаточен для переноса на другой сервер.
Отказ от ответственности
Проект не аффилирован ни с MAX, ни с Telegram, ни с их правообладателями. Используя его, вы работаете со своим собственным аккаунтом MAX на свой страх и риск, в том числе в части соблюдения условий использования сервиса.
Переписка, которую бот пересылает, временно оседает на вашем собственном сервере: в логах контейнера, в персистентном хранилище (./data) и в истории самой Telegram-группы. Проект не несёт ответственности за сохранность, утечку или неправомерное использование этих данных — обеспечение их безопасности (доступ к серверу, шифрование диска, ротация логов и т.д.) целиком на вас.
Поддержать проект
- Рублями: pay.cloudtips.ru/p/3c71b5e8
- GRAM (TON):
UQALpK2PKI90-XpupOM8sRJGdwrFMsPcwQZPR0k180umXBcA
Разработка
npm install
npm run dev # сервер + Vite dev middleware на http://localhost:3000
npm run lint # проверка типов (бэкенд и фронтенд отдельно)
npm test # vitest