docs: add includeRuleTags field and update Torrent Blocker documentation with routing rules example

This commit is contained in:
kastov
2026-03-28 18:48:07 +03:00
parent 3324d51819
commit 8fcc72fc88

View File

@@ -236,7 +236,8 @@ CIDR-нотация (IPv4 и IPv6) поддерживается в следую
"ip": [],
"userId": []
},
"blockDuration": 3600
"blockDuration": 3600,
"includeRuleTags": []
},
"connectionDrop": {
"enabled": false,
@@ -271,15 +272,17 @@ Torrent Blocker это плагин, который блокирует IP-а
"ip": [],
"userId": []
},
"blockDuration": 3600
"blockDuration": 3600,
"includeRuleTags": []
},
```
| Field | Type | Description |
| --------------- | ------- | --------------------------------------------------------------------------- |
| `enabled` | boolean | Включает или выключает плагин, по умолчанию выключен |
| `ignoreLists` | object | Список IP-адресов и ID пользователей, которые будут игнорироваться плагином |
| `blockDuration` | number | Время блокировки в секундах |
| Field | Type | Description |
| ----------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `enabled` | boolean | Включает или выключает плагин, по умолчанию выключен |
| `ignoreLists` | object | Список IP-адресов и ID пользователей, которые будут игнорироваться плагином |
| `blockDuration` | number | Время блокировки в секундах |
| `includeRuleTags` | array | Массив значений `ruleTag` из ваших routing rules, по которым также будет выполняться блокировка IP-адресов. Необязательное поле |
```jsonc title="ignoreLists"
{
@@ -293,6 +296,52 @@ Torrent Blocker это плагин, который блокирует IP-а
| `ip` | array | Список IP-адресов, которые будут игнорироваться плагином (CIDR не поддерживается). Можно использовать списки из конфигурации Shared Lists. |
| `userId` | array | Список ID пользователей, которые будут игнорироваться плагином |
<details>
<summary>includeRuleTags — блокировка по дополнительным правилам маршрутизации</summary>
По умолчанию Torrent Blocker создаёт собственное правило маршрутизации и добавляет его как **первый элемент** массива `routing.rules`. Это правило отслеживает только протокол `bittorrent`.
Однако, если в вашей конфигурации Xray-Core уже есть **собственные правила маршрутизации** с тегами (`ruleTag`), которые также связаны с торрент-трафиком, вы можете указать их в `includeRuleTags`. В этом случае Torrent Blocker будет блокировать IP-адреса, обнаруженные не только своим правилом, но и всеми указанными правилами.
#### Пример {#include-rule-tags-example}
Допустим, в вашей конфигурации Xray-Core есть следующие правила маршрутизации:
```json title="Пользовательские routing rules в Xray-Core"
{
"domain": [
"geosite:category-public-tracker"
],
"ruleTag": "TORRENT_BY_DOMAIN",
"outboundTag": "TORRENT"
},
{
"port": "6881-6889,51413,21413,17417,37305",
"ruleTag": "TORRENT_BY_PORT",
"outboundTag": "TORRENT"
}
```
Первое правило блокирует трафик по доменам публичных торрент-трекеров, второе — по портам, которые обычно используются торрент-клиентами.
Чтобы Torrent Blocker обрабатывал срабатывания этих правил и блокировал IP-адреса по ним, укажите их `ruleTag` в `includeRuleTags`:
```json title="Конфигурация Torrent Blocker с includeRuleTags"
"torrentBlocker": {
"enabled": true,
"ignoreLists": {
"ip": [],
"userId": []
},
"blockDuration": 3600,
"includeRuleTags": ["TORRENT_BY_DOMAIN", "TORRENT_BY_PORT"]
}
```
В результате, если Xray-Core обнаружит трафик, подпадающий под правила `TORRENT_BY_DOMAIN` или `TORRENT_BY_PORT`, Torrent Blocker заблокирует IP-адрес источника точно так же, как если бы сработало его собственное правило по протоколу `bittorrent`.
</details>
### Техническая информация {#technical-information}
Плагин использует одно из нововведений в Xray-Core `webhook` (PR: [#5722](https://github.com/XTLS/Xray-core/pull/5722)). Поэтому для работы плагина необходима версия Xray-Core **26.3.27** или выше.