78 lines
2.7 KiB
Markdown
78 lines
2.7 KiB
Markdown
# TNProxy - Telegram Notification Proxy
|
|
|
|
Прокси-сервер для отправки сообщений в Telegram через внешний сервер с авторизацией приложений.
|
|
|
|
## Возможности
|
|
|
|
- Множество приложений с индивидуальными токенами
|
|
- Каждое приложение привязывается к своему боту Telegram
|
|
- Веб-интерфейс для управления приложениями
|
|
- Docker для простого развертывания
|
|
|
|
## Быстрый старт (Docker)
|
|
|
|
```bash
|
|
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. Отправка сообщения
|
|
|
|
```http
|
|
POST /send
|
|
X-App-Token: <токен_приложения>
|
|
Content-Type: application/json
|
|
|
|
{"text": "Hello, World!"}
|
|
```
|
|
|
|
### Пример PowerShell:
|
|
|
|
```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 БД (создается при запуске)
|
|
``` |