Автообновляемая маршрутизация (Autorouting)¶
Расширение функционала маршрутизации, позволяющее привязать профиль к удалённому URL-источнику. Профиль периодически скачивается и обновляется автоматически.
Отличие от Routing¶
| Routing | Autorouting | |
|---|---|---|
| Данные | Base64-профиль передаётся один раз | URL-источник, профиль скачивается по нему |
| Обновление | Только при обновлении подписки | Автоматически по интервалу (по умолчанию 24ч) |
sourceURL |
Не устанавливается | Устанавливается — профиль привязан к URL |
| Индикатор | Нет | Иконка облака в списке профилей |
Типы ссылок¶
| Формат ссылки | Описание |
|---|---|
://autorouting/onadd/{url} |
Скачивает профиль по URL, устанавливает автообновление и активирует |
://autorouting/add/{url} |
Скачивает профиль по URL, устанавливает автообновление |
Важно:
://routing/onadd/{url}не является авторутингом — это одноразовый импорт без автообновления. Только схема://autorouting/устанавливаетsourceURLи включает автообновление.
{url}— прямая ссылка на JSON-файл профиля (начинается сhttp://илиhttps://).
Определение типа¶
Тип определяется по схеме ссылки:
://autorouting/→ autorouting (устанавливаетсяsourceURL, включается автообновление)://routing/→ routing (одноразовый импорт, безsourceURL, без автообновления)
Примеры:
://autorouting/onadd/https://example.com/profile.json → autorouting (автообновление)
://routing/onadd/https://example.com/profile.json → routing (одноразовый импорт)
://routing/onadd/ewogICJOYW1lIjogIlRlc3QiCn0= → routing (base64)
HTTP-заголовок¶
Заголовок autorouting содержит URL, по которому доступен JSON-профиль маршрутизации:
Профиль скачивается при обновлении подписки, сохраняется с привязкой к URL-источнику и периодически обновляется.
Тело подписки¶
Строка autorouting размещается в теле подписки наряду с серверными конфигурациями:
vless://uuid@server1:443?security=tls#Server1
vless://uuid@server2:443?security=tls#Server2
://autorouting/onadd/https://raw.githubusercontent.com/user/repo/main/profile.json
Приоритет источников¶
При наличии нескольких источников маршрутизации используется первый найденный:
| Приоритет | Источник | Тип |
|---|---|---|
| 1 (высший) | Заголовок autorouting |
Автообновляемый |
| 2 | Body — строка с URL | Автообновляемый |
| 3 | Заголовок routing |
Статический |
| 4 (низший) | Body — строка с base64 | Статический |
Конвертация GitHub URL¶
Ссылки на файлы в GitHub-репозиториях автоматически конвертируются из «blob» формата в «raw»:
https://github.com/user/repo/blob/main/path/profile.json
→
https://raw.githubusercontent.com/user/repo/main/path/profile.json
Это происходит прозрачно при импорте и автообновлении. Можно использовать обычные GitHub-ссылки — приложение само подставит правильный URL.
Контент по URL¶
Файл по URL может содержать:
1. Вложенная deep link ссылка:
Если контент начинается с incy:// — приложение автоматически извлекает данные профиля из ссылки. Это позволяет размещать .deeplink файлы:
Приложение извлечёт base64-данные и декодирует профиль.
2. JSON-профиль (рекомендуемый):
{
"Name": "RoscomVPN",
"GlobalProxy": "true",
"RemoteDNSType": "DoH",
"RemoteDNSDomain": "https://cloudflare-dns.com/dns-query",
"RemoteDNSIP": "1.1.1.1",
"Geoipurl": "https://example.com/geoip.dat",
"Geositeurl": "https://example.com/geosite.dat",
"DirectSites": ["geosite:ru"],
"DirectIp": ["geoip:ru"],
"DomainStrategy": "IPIfNonMatch"
}
3. Base64-закодированный JSON:
Приложение пробует: вложенную deep link → JSON → base64 (в порядке приоритета).
Структура полей профиля описана в routing.md.
Автообновление¶
Механизм¶
- Приложение проверяет все профили с
sourceURLкаждые 30 минут - Если с момента последнего обновления (
sourceLastUpdated) прошло большеupdateInterval— профиль скачивается заново - При обновлении сохраняются: ID профиля,
sourceURL,updateInterval, хеши геофайлов - Если URL геофайлов изменились после обновления — геофайлы перекачиваются автоматически
Интервалы обновления¶
| Значение (сек) | Отображение |
|---|---|
43200 |
12 часов |
86400 |
24 часа (по умолчанию) |
259200 |
3 дня |
604800 |
7 дней |
Управление в UI¶
Профили с sourceURL отображают в списке иконку облака. В редакторе профиля доступна секция «Источник обновлений»:
- URL — можно просмотреть и изменить URL-источник
- Частота обновления — выбор интервала обновления
- Обновлено — время последнего обновления
- Обновить сейчас — ручное обновление профиля
- Удалить источник — отвязать профиль от URL (превращает в статический)
Обновление существующих профилей¶
- Профили с одинаковым
Nameобновляются, а не дублируются - При обновлении автообновляемого профиля сохраняются:
sourceURL,updateInterval, хеши геофайлов - Если URL геофайлов (
Geoipurl,Geositeurl) изменились — геофайлы перекачиваются автоматически