Spaces:
Paused
Paused
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
---
|
| 2 |
-
title:
|
| 3 |
-
emoji:
|
| 4 |
colorFrom: green
|
| 5 |
colorTo: blue
|
| 6 |
sdk: docker
|
|
@@ -16,9 +16,9 @@ pinned: false
|
|
| 16 |
---
|
| 17 |
<a id="ru"></a>
|
| 18 |
|
| 19 |
-
## 🇷🇺
|
| 20 |
|
| 21 |
-
Этот Space запускает локальный сервер Telegram Bot API и предоставляет многофункциональное Node.js приложение-прокси с дополнительными инструментами.
|
| 22 |
|
| 23 |
### 1. Основные возможности
|
| 24 |
|
|
@@ -56,96 +56,32 @@ pinned: false
|
|
| 56 |
|
| 57 |
### 3. Использование API
|
| 58 |
|
| 59 |
-
|
|
|
|
|
|
|
| 60 |
|
| 61 |
#### 3.1. Прокси Telegram Bot API
|
| 62 |
|
| 63 |
* **URL**: `https://[YOUR_SPACE_URL]/tg/bot<YOUR_BOT_TOKEN>/<METHOD_NAME>`
|
| 64 |
-
* **Описание**: Используйте этот URL вместо стандартного `api.telegram.org`.
|
| 65 |
-
*
|
| 66 |
-
* `direct_download_link_by_path`: Прямая ссылка на скачивание файла по его относительному пути.
|
| 67 |
-
* `direct_download_link_by_id`: Прямая ссылка на скачивание файла по его ID.
|
| 68 |
-
* `delete_link_by_path`: Ссылка для удаления файла по его относительному пути.
|
| 69 |
-
* `delete_link_by_id`: Ссылка для удаления файла по его ID.
|
| 70 |
-
* `encrypted_download_link_by_path` (если `LINK_ENCRYPTION_KEY` установлен): Зашифрованная ссылка на скачивание по пути с ограниченным сроком действия.
|
| 71 |
-
* `encrypted_download_link_by_id` (если `LINK_ENCRYPTION_KEY` установлен): Зашифрованная ссылка на скачивание по ID с ограниченным сроком действия.
|
| 72 |
-
* **Управление сроком действия ссылок**:
|
| 73 |
-
* Срок действия по умолчанию задается переменной `DEFAULT_LINK_EXPIRY_HOURS`.
|
| 74 |
-
* Можно переопределить для конкретного запроса, добавив параметр `?link_expiry_hours=N` к URL проксируемого запроса (например, `.../getMe?link_expiry_hours=2`). `N=-1` для бессрочной ссылки.
|
| 75 |
|
| 76 |
#### 3.2. Инструменты управления
|
| 77 |
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
* **URL**: `https://[YOUR_SPACE_URL]/`
|
| 81 |
-
* **Метод**: `GET`
|
| 82 |
-
* **Ответ**: JSON с описанием доступных эндпоинтов и конфигурации.
|
| 83 |
-
|
| 84 |
-
##### 3.2.2. Статистика
|
| 85 |
-
|
| 86 |
-
* **URL**: `https://[YOUR_SPACE_URL]/stats`
|
| 87 |
-
* **Метод**: `GET`
|
| 88 |
-
* **Параметры Query**:
|
| 89 |
-
* `run_ttl_now=true` (опционально): Запустить очистку старых файлов немедленно.
|
| 90 |
-
* **Ответ**: JSON со статистикой по файлам в `TELEGRAM_DATA_DIR`.
|
| 91 |
-
|
| 92 |
-
##### 3.2.3. Операции с файлами (базовый путь: `/file`)
|
| 93 |
-
|
| 94 |
-
1. **Список файлов для бота**
|
| 95 |
-
* **URL**: `/list?token=<BOT_TOKEN>`
|
| 96 |
-
* **Метод**: `GET`
|
| 97 |
-
* **Ответ**: JSON со списком файлов, их размерами и общим размером для указанного бота.
|
| 98 |
-
|
| 99 |
-
2. **Получение информации о файле (расширенное)**
|
| 100 |
-
* **URL**: `/<BOT_TOKEN>/getFile?file_id=<FILE_ID>`
|
| 101 |
-
* **Метод**: `GET`
|
| 102 |
-
* **Параметры Query**:
|
| 103 |
-
* `link_expiry_hours=N` (опционально): Установить срок жизни для генерируемых зашифрованных ссылок (в часах, `-1` для бессрочных).
|
| 104 |
-
* **Ответ**: Стандартный ответ `getFile` от Telegram API, дополненный ссылками, как описано в разделе 3.1.
|
| 105 |
-
|
| 106 |
-
3. **Скачивание файла по ID**
|
| 107 |
-
* **URL**: `/<BOT_TOKEN>/downloadFile?file_id=<FILE_ID>`
|
| 108 |
-
* **Метод**: `GET`
|
| 109 |
-
* **Ответ**: Файл для скачивания.
|
| 110 |
-
|
| 111 |
-
4. **Скачивание файла по пути**
|
| 112 |
-
* **URL**: `/<ОТНОСИТЕЛЬНЫЙ_ПУТЬ_К_ФАЙЛУ_ВНУТРИ_TELEGRAM_DATA_DIR>`
|
| 113 |
-
* Пример: `/bot123:abc/photos/file_0.jpg`
|
| 114 |
-
* **Метод**: `GET`
|
| 115 |
-
* **Ответ**: Файл для скачивания.
|
| 116 |
-
|
| 117 |
-
5. **Скачивание по зашифрованной ссылке**
|
| 118 |
-
* **URL**: `/downloadEncrypted?payload=<ENCRYPTED_PAYLOAD>`
|
| 119 |
-
* **Метод**: `GET`
|
| 120 |
-
* **Ответ**: Файл для скачивания, если ссылка действительна и не истекла.
|
| 121 |
-
|
| 122 |
-
6. **Удаление файла по пути**
|
| 123 |
-
* **URL**: `/deleteFile?file=<ОТНОСИТЕЛЬНЫЙ_ПУТЬ_К_ФАЙЛУ>`
|
| 124 |
-
* Пример: `?file=bot123:abc/photos/file_0.jpg`
|
| 125 |
-
* **Метод**: `GET`
|
| 126 |
-
* **Ответ**: JSON с результатом операции.
|
| 127 |
-
|
| 128 |
-
7. **Удаление файла по ID**
|
| 129 |
-
* **URL**: `/<BOT_TOKEN>/deleteById?file_id=<FILE_ID>`
|
| 130 |
-
* **Метод**: `GET`
|
| 131 |
-
* **Ответ**: JSON с результатом операции.
|
| 132 |
-
|
| 133 |
-
#### 3.3. Замечания о путях к файлам
|
| 134 |
-
|
| 135 |
-
* Локальный `telegram-bot-api` обычно сохраняет файлы в подкаталоге, названном в честь токена бота (например, `/var/lib/telegram-bot-api/bot123:abc/...`).
|
| 136 |
-
* Относительные пути, используемые в URL инструментов (например, для скачивания или удаления по пути), должны включать эту структуру каталога токена: `bot<TOKEN>/<category>/<filename>`.
|
| 137 |
|
| 138 |
### 4. Информация в Gist
|
| 139 |
|
| 140 |
-
Если настроено, информация о вашем Space и полезные URL будут автоматически обновляться в указанном GitHub Gist (файл `
|
| 141 |
|
| 142 |
---
|
| 143 |
<br>
|
| 144 |
<a id="en"></a>
|
| 145 |
|
| 146 |
-
## 🇬🇧
|
| 147 |
|
| 148 |
-
This Space runs a local Telegram Bot API server and provides a feature-rich Node.js proxy application with additional tools.
|
| 149 |
|
| 150 |
### 1. Core Features
|
| 151 |
|
|
@@ -183,85 +119,21 @@ Add the following secrets in your Space settings (`Settings -> Secrets`):
|
|
| 183 |
|
| 184 |
### 3. API Usage
|
| 185 |
|
| 186 |
-
**
|
|
|
|
|
|
|
| 187 |
|
| 188 |
#### 3.1. Telegram Bot API Proxy
|
| 189 |
|
| 190 |
* **URL**: `https://[YOUR_SPACE_URL]/tg/bot<YOUR_BOT_TOKEN>/<METHOD_NAME>`
|
| 191 |
-
* **Description**: Use this URL instead of the standard `api.telegram.org`.
|
| 192 |
-
* **
|
| 193 |
-
* `direct_download_link_by_path`: Direct link to download the file by its relative path.
|
| 194 |
-
* `direct_download_link_by_id`: Direct link to download the file by its ID.
|
| 195 |
-
* `delete_link_by_path`: Link to delete the file by its relative path.
|
| 196 |
-
* `delete_link_by_id`: Link to delete the file by its ID.
|
| 197 |
-
* `encrypted_download_link_by_path` (if `LINK_ENCRYPTION_KEY` is set): Encrypted, time-limited download link by path.
|
| 198 |
-
* `encrypted_download_link_by_id` (if `LINK_ENCRYPTION_KEY` is set): Encrypted, time-limited download link by ID.
|
| 199 |
-
* **Link Expiry Management**:
|
| 200 |
-
* Default expiry is set by the `DEFAULT_LINK_EXPIRY_HOURS` variable.
|
| 201 |
-
* Can be overridden per request by adding a `?link_expiry_hours=N` query parameter to the proxied request URL (e.g., `.../getMe?link_expiry_hours=2`). `N=-1` for no expiry.
|
| 202 |
|
| 203 |
#### 3.2. Management Tools
|
| 204 |
|
| 205 |
-
|
| 206 |
-
|
| 207 |
-
* **URL**: `https://[YOUR_SPACE_URL]/`
|
| 208 |
-
* **Method**: `GET`
|
| 209 |
-
* **Response**: JSON describing available endpoints and configuration.
|
| 210 |
-
|
| 211 |
-
##### 3.2.2. Statistics
|
| 212 |
-
|
| 213 |
-
* **URL**: `https://[YOUR_SPACE_URL]/stats`
|
| 214 |
-
* **Method**: `GET`
|
| 215 |
-
* **Query Parameters**:
|
| 216 |
-
* `run_ttl_now=true` (optional): Trigger old file cleanup immediately.
|
| 217 |
-
* **Response**: JSON with file statistics for `TELEGRAM_DATA_DIR`.
|
| 218 |
-
|
| 219 |
-
##### 3.2.3. File Operations (base path: `/file`)
|
| 220 |
-
|
| 221 |
-
1. **List Files for a Bot**
|
| 222 |
-
* **URL**: `/list?token=<BOT_TOKEN>`
|
| 223 |
-
* **Method**: `GET`
|
| 224 |
-
* **Response**: JSON with a list of files, their sizes, and total size for the specified bot.
|
| 225 |
-
|
| 226 |
-
2. **Get File Info (Enhanced)**
|
| 227 |
-
* **URL**: `/<BOT_TOKEN>/getFile?file_id=<FILE_ID>`
|
| 228 |
-
* **Method**: `GET`
|
| 229 |
-
* **Query Parameters**:
|
| 230 |
-
* `link_expiry_hours=N` (optional): Set expiry for generated encrypted links (in hours, `-1` for indefinite).
|
| 231 |
-
* **Response**: Standard Telegram API `getFile` response, augmented with links as described in section 3.1.
|
| 232 |
-
|
| 233 |
-
3. **Download File by ID**
|
| 234 |
-
* **URL**: `/<BOT_TOKEN>/downloadFile?file_id=<FILE_ID>`
|
| 235 |
-
* **Method**: `GET`
|
| 236 |
-
* **Response**: The file for download.
|
| 237 |
-
|
| 238 |
-
4. **Download File by Path**
|
| 239 |
-
* **URL**: `/<RELATIVE_PATH_TO_FILE_WITHIN_TELEGRAM_DATA_DIR>`
|
| 240 |
-
* Example: `/bot123:abc/photos/file_0.jpg`
|
| 241 |
-
* **Method**: `GET`
|
| 242 |
-
* **Response**: The file for download.
|
| 243 |
-
|
| 244 |
-
5. **Download via Encrypted Link**
|
| 245 |
-
* **URL**: `/downloadEncrypted?payload=<ENCRYPTED_PAYLOAD>`
|
| 246 |
-
* **Method**: `GET`
|
| 247 |
-
* **Response**: The file for download, if the link is valid and not expired.
|
| 248 |
-
|
| 249 |
-
6. **Delete File by Path**
|
| 250 |
-
* **URL**: `/deleteFile?file=<RELATIVE_FILE_PATH>`
|
| 251 |
-
* Example: `?file=bot123:abc/photos/file_0.jpg`
|
| 252 |
-
* **Method**: `GET`
|
| 253 |
-
* **Response**: JSON with the operation result.
|
| 254 |
-
|
| 255 |
-
7. **Delete File by ID**
|
| 256 |
-
* **URL**: `/<BOT_TOKEN>/deleteById?file_id=<FILE_ID>`
|
| 257 |
-
* **Method**: `GET`
|
| 258 |
-
* **Response**: JSON with the operation result.
|
| 259 |
-
|
| 260 |
-
#### 3.3. Notes on File Paths
|
| 261 |
-
|
| 262 |
-
* The local `telegram-bot-api` typically saves files in a subdirectory named after the bot token (e.g., `/var/lib/telegram-bot-api/bot123:abc/...`).
|
| 263 |
-
* Relative paths used in tool URLs (e.g., for download or delete by path) must include this bot token directory structure: `bot<TOKEN>/<category>/<filename>`.
|
| 264 |
|
| 265 |
### 4. Gist Information
|
| 266 |
|
| 267 |
-
If configured, information about your Space and useful URLs will be automatically updated in the specified GitHub Gist (file `
|
|
|
|
| 1 |
---
|
| 2 |
+
title: Telegram Bot API Proxy & Tools
|
| 3 |
+
emoji: 🚀
|
| 4 |
colorFrom: green
|
| 5 |
colorTo: blue
|
| 6 |
sdk: docker
|
|
|
|
| 16 |
---
|
| 17 |
<a id="ru"></a>
|
| 18 |
|
| 19 |
+
## 🇷🇺 Прокси Telegram Bot API с расширенными инструментами
|
| 20 |
|
| 21 |
+
Этот Space запускает локальный сервер Telegram Bot API и предоставляет многофункциональное Node.js приложение-прокси с дополнительными инструментами. Посетите корневой URL вашего Space для интерактивной документации.
|
| 22 |
|
| 23 |
### 1. Основные возможности
|
| 24 |
|
|
|
|
| 56 |
|
| 57 |
### 3. Использование API
|
| 58 |
|
| 59 |
+
**Посетите корневой URL вашего Space (`https://[YOUR_SPACE_URL]/`) для интерактивной документации по API.**
|
| 60 |
+
|
| 61 |
+
Краткое описание:
|
| 62 |
|
| 63 |
#### 3.1. Прокси Telegram Bot API
|
| 64 |
|
| 65 |
* **URL**: `https://[YOUR_SPACE_URL]/tg/bot<YOUR_BOT_TOKEN>/<METHOD_NAME>`
|
| 66 |
+
* **Описание**: Используйте этот URL вместо стандартного `api.telegram.org`. Ответы API, содержащие информацию о файлах, будут автоматически дополнены полезными ссылками (прямые, зашифрованные, на удаление).
|
| 67 |
+
* **Управление сроком действия ссылок**: Добавьте параметр `?link_expiry_hours=N` к URL проксируемого запроса.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
|
| 69 |
#### 3.2. Инструменты управления
|
| 70 |
|
| 71 |
+
* **Статистика**: `https://[YOUR_SPACE_URL]/stats`
|
| 72 |
+
* **Операции с файлами**: Базовый путь `https://[YOUR_SPACE_URL]/file` (см. документацию на корневом URL для деталей по эндпоинтам `/list`, `/<BOT_TOKEN>/getFile`, `/<BOT_TOKEN>/downloadFile`, и т.д.).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 73 |
|
| 74 |
### 4. Информация в Gist
|
| 75 |
|
| 76 |
+
Если настроено, информация о вашем Space и полезные URL будут автоматически обновляться в указанном GitHub Gist (файл `hf_space_telegram_bot_api_proxy_info.json`).
|
| 77 |
|
| 78 |
---
|
| 79 |
<br>
|
| 80 |
<a id="en"></a>
|
| 81 |
|
| 82 |
+
## 🇬🇧 Telegram Bot API Proxy & Tools
|
| 83 |
|
| 84 |
+
This Space runs a local Telegram Bot API server and provides a feature-rich Node.js proxy application with additional tools. Visit the root URL of your Space for interactive documentation.
|
| 85 |
|
| 86 |
### 1. Core Features
|
| 87 |
|
|
|
|
| 119 |
|
| 120 |
### 3. API Usage
|
| 121 |
|
| 122 |
+
**Visit the root URL of your Space (`https://[YOUR_SPACE_URL]/`) for interactive API documentation.**
|
| 123 |
+
|
| 124 |
+
Brief overview:
|
| 125 |
|
| 126 |
#### 3.1. Telegram Bot API Proxy
|
| 127 |
|
| 128 |
* **URL**: `https://[YOUR_SPACE_URL]/tg/bot<YOUR_BOT_TOKEN>/<METHOD_NAME>`
|
| 129 |
+
* **Description**: Use this URL instead of the standard `api.telegram.org`. API responses containing file information will be automatically augmented with useful links (direct, encrypted, delete).
|
| 130 |
+
* **Link Expiry Management**: Add a `?link_expiry_hours=N` query parameter to the proxied request URL.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 131 |
|
| 132 |
#### 3.2. Management Tools
|
| 133 |
|
| 134 |
+
* **Statistics**: `https://[YOUR_SPACE_URL]/stats`
|
| 135 |
+
* **File Operations**: Base path `https://[YOUR_SPACE_URL]/file` (see documentation at the root URL for details on endpoints like `/list`, `/<BOT_TOKEN>/getFile`, `/<BOT_TOKEN>/downloadFile`, etc.).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 136 |
|
| 137 |
### 4. Gist Information
|
| 138 |
|
| 139 |
+
If configured, information about your Space and useful URLs will be automatically updated in the specified GitHub Gist (file `hf_space_telegram_bot_api_proxy_info.json`).
|