mirror of https://github.com/ospab/ostp.git
104 lines
3.7 KiB
Markdown
104 lines
3.7 KiB
Markdown
# Миграция конфигурации OSTP на версию 0.3.1
|
||
|
||
В версии `v0.3.1` формат `config.json` проекта OSTP был значительно переработан для поддержки современной архитектуры мульти-серверных подключений. Новый формат конфигурации обеспечивает большую гибкость: теперь он разделен на входящие подключения (`inbounds`), исходящие подключения (`outbounds`) и гибкие правила маршрутизации (`routing`), заменяя устаревшую монолитную структуру прошлых версий.
|
||
|
||
## Автоматическая миграция
|
||
|
||
Ядро OSTP и GUI клиенты оснащены автоматическим мигратором. При запуске OSTP `v0.3.1` с файлом `config.json` от предыдущей версии, мигратор автоматически преобразует старый формат в новый.
|
||
|
||
После успешной миграции файл будет перезаписан в новом формате, и его заголовок будет содержать комментарий:
|
||
```json
|
||
// OSTP Configuration v0.3.1
|
||
// DO NOT EDIT THIS COMMENT - Migrator relies on it
|
||
{
|
||
"version": "0.3.1",
|
||
"mode": "client",
|
||
...
|
||
}
|
||
```
|
||
|
||
## Справочник по новому формату
|
||
|
||
Если вы предпочитаете настраивать OSTP вручную, ниже приведено сравнение и примеры нового формата.
|
||
|
||
### Устаревшая конфигурация (v0.2.x)
|
||
```json
|
||
{
|
||
"mode": "client",
|
||
"server": "192.168.1.100:50000",
|
||
"access_key": "mysecretkey",
|
||
"socks5_bind": "127.0.0.1:1088",
|
||
"tun": {
|
||
"enable": true,
|
||
"kill_switch": true
|
||
},
|
||
"exclude": {
|
||
"domains": ["localhost"],
|
||
"ips": ["192.168.1.0/24"]
|
||
}
|
||
}
|
||
```
|
||
|
||
### Новая конфигурация (v0.3.1)
|
||
```json
|
||
{
|
||
"version": "0.3.1",
|
||
"mode": "client",
|
||
"log": {
|
||
"level": "info"
|
||
},
|
||
"inbounds": [
|
||
{
|
||
"type": "tun",
|
||
"tag": "tun-in",
|
||
"auto_route": true,
|
||
"mtu": 1140
|
||
},
|
||
{
|
||
"type": "socks",
|
||
"tag": "socks-in",
|
||
"bind_addr": "127.0.0.1:1088"
|
||
}
|
||
],
|
||
"outbounds": [
|
||
{
|
||
"type": "ostp",
|
||
"tag": "proxy",
|
||
"server": "192.168.1.100",
|
||
"port": 50000,
|
||
"access_key": "mysecretkey",
|
||
"transport": {
|
||
"type": "udp"
|
||
},
|
||
"multiplex": {
|
||
"enabled": false
|
||
}
|
||
},
|
||
{
|
||
"type": "direct",
|
||
"tag": "direct"
|
||
},
|
||
{
|
||
"type": "block",
|
||
"tag": "block"
|
||
}
|
||
],
|
||
"routing": {
|
||
"rules": [
|
||
{
|
||
"domain_suffix": ["localhost"],
|
||
"ip_cidr": ["192.168.1.0/24"],
|
||
"outbound": "direct"
|
||
}
|
||
],
|
||
"default_outbound": "proxy"
|
||
}
|
||
}
|
||
```
|
||
|
||
### Основные изменения
|
||
- **Outbounds (Исходящие)**: Теперь можно задать сразу несколько прокси-серверов.
|
||
- **Inbounds (Входящие)**: TUN и SOCKS5 выделены в отдельные независимые модули.
|
||
- **Routing (Маршрутизация)**: Точная маршрутизация трафика между входящими и исходящими узлами на основе доменов, IP-адресов и имен процессов.
|
||
- **Комментарии**: GUI и ядро теперь поддерживают JS-комментарии (с помощью `//`) в `config.json` вместо устаревших полей вида `"_comment"`.
|