Files
tg-proxy/README.md
T
2026-06-26 16:42:07 +05:00

2.7 KiB
Raw Blame History

TNProxy - Telegram Notification Proxy

Прокси-сервер для отправки сообщений в Telegram через внешний сервер с авторизацией приложений.

Возможности

  • Множество приложений с индивидуальными токенами
  • Каждое приложение привязывается к своему боту Telegram
  • Веб-интерфейс для управления приложениями
  • Docker для простого развертывания

Быстрый старт (Docker)

cp .env.example .env
# Отредактируйте .env
docker-compose up -d

Откройте http://localhost:8880/adtn для управления приложениями.

Использование

1. Создайте приложение в веб-интерфейсе

Перейдите на /adtn, нажмите "Добавить приложение", введите:

  • Название
  • Telegram Bot Token (получить у @BotFather)
  • Telegram Chat ID (ваш ID или ID канала)

Получите токен приложения.

2. Отправка сообщения

POST /send
X-App-Token: <токен_приложения>
Content-Type: application/json

{"text": "Hello, World!"}

Пример PowerShell:

$body = @{text = "Alert!"} | ConvertTo-Json
Invoke-RestMethod -Uri "http://localhost:8080/send" -Method Post -Body $body -Headers @{
    "Content-Type" = "application/json"
    "X-App-Token" = "YOUR_APP_TOKEN"
}

API Endpoints

Method Path Description
POST /send Отправить сообщение
GET /health Проверка здоровья
GET /adtn Веб-интерфейс
POST /adtn/applications Создать приложение
DELETE /adtn/applications/{id} Удалить приложение
POST /adtn/applications/{id}/toggle Включить/отключить

Структура проекта

.
├── config.py              # Конфигурация
├── server.py              # FastAPI сервер
├── models.py              # Модели SQLAlchemy
├── database.py            # База данных
├── requirements.txt       # Python зависимости
├── Dockerfile             # Docker образ
├── docker-compose.yml     # Docker Compose
├── templates/             # HTML шаблоны
├── clients/               # Примеры клиентов
└── data/                  # SQLite БД (создается при запуске)