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