2.7 KiB
2.7 KiB
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 БД (создается при запуске)