mirror of https://github.com/ospab/ostp.git
109 lines
2.7 KiB
Markdown
109 lines
2.7 KiB
Markdown
# OSTP Configuration Migration to v0.3.1
|
|
|
|
The OSTP `config.json` schema has been significantly redesigned in version `v0.3.1` to support a modern multi-server architecture. The new schema provides greater flexibility by splitting configuration into `inbounds`, `outbounds`, and flexible `routing` rules, replacing the monolithic architecture of previous versions.
|
|
|
|
## Automatic Migration
|
|
|
|
The OSTP core and GUI clients are equipped with an automatic migrator. When launching OSTP `v0.3.1` with a `config.json` from a previous version, the migrator will automatically transform the legacy schema into the new `v0.3.1` schema.
|
|
|
|
The migrated file will be overwritten with the new format and will begin with:
|
|
```json
|
|
// OSTP Configuration v0.3.1
|
|
// DO NOT EDIT THIS COMMENT - Migrator relies on it
|
|
{
|
|
"version": "0.3.1",
|
|
"mode": "client",
|
|
...
|
|
}
|
|
```
|
|
|
|
## Manual Schema Reference
|
|
|
|
If you prefer to configure manually, the following is a reference of the new modular configuration format:
|
|
|
|
### Legacy Configuration (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"]
|
|
}
|
|
}
|
|
```
|
|
|
|
### New Configuration (v0.3.1)
|
|
```json
|
|
{
|
|
"version": "0.3.1",
|
|
"mode": "client",
|
|
"api": {
|
|
"enabled": true,
|
|
"bind": "127.0.0.1:50001",
|
|
"token": "admin-secret-token"
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
```
|
|
|
|
### Key Changes
|
|
- **Outbounds List**: Multiple proxy servers can now be defined.
|
|
- **Inbounds List**: TUN and SOCKS5 are now independent listeners.
|
|
- **Routing**: Fine-grained traffic routing between inbounds and outbounds based on domains, IPs, and processes.
|
|
- **Comments**: The GUI and migrator now use JS-style `//` comments in `config.json` instead of the legacy `"_comment"` JSON keys.
|