Как работает routing
Правила обрабатываются сверху вниз.
Первое совпавшее правило выбирает outbound.
Базовые outbounds:
{
"outbounds": [
{
"tag": "direct",
"protocol": "freedom",
"settings": {}
},
{
"tag": "block",
"protocol": "blackhole"
}
]
}
Private ranges
Если сервис не должен ходить в private networks:
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "block"
}
Не добавляй это правило, если осознанно используешь private-сети или внутренние hop-сервисы.
BitTorrent
{
"type": "field",
"protocol": [
"bittorrent"
],
"outboundTag": "block"
}
GeoSite
Пример:
{
"type": "field",
"domain": [
"geosite:category-ads-all"
],
"outboundTag": "block"
}
Наличие конкретной категории зависит от используемых geofile.
Обновление GeoIP/GeoSite
x-ui update-all-geofiles
Порядок
- Самые точные исключения.
- Конкретные домены/IP.
- GeoIP/GeoSite категории.
- Общие правила.
- Default/direct.
Перед изменением
Сохрани текущий Xray JSON.
После сохранения:
x-ui restart-xray
sleep 3
x-ui status | cat
Если Xray не поднялся, верни предыдущий routing целиком, а не накладывай новые правки поверх сломанного JSON.