Subscription Configuration
Learn how to add, update, and manage AiBooster subscriptions, plus detailed configuration file structure.
Subscription Configuration
Subscriptions are the most convenient way to get and update nodes. This article covers how to manage subscriptions and the detailed configuration file structure.
What is a Subscription?
A subscription is a URL link that contains:
- Server node information
- Auto-update functionality
- Traffic usage statistics
Configuration File Structure
AiBooster uses JSON format configuration files. Here is the complete configuration structure:
{
"log": {},
"dns": {},
"ntp": {},
"inbounds": [],
"outbounds": [],
"route": {},
"experimental": {}
}Configuration Fields
| Field | Type | Required | Description |
|---|---|---|---|
log | Object | No | Log configuration, controls log level and output |
dns | Object | No | DNS configuration, for domain resolution |
ntp | Object | No | NTP configuration, for time synchronization |
inbounds | Array | No | Inbound configuration, defines local listeners |
outbounds | Array | Yes | Outbound configuration, defines proxy nodes |
route | Object | No | Route configuration, defines traffic rules |
experimental | Object | No | Experimental features configuration |
Log Configuration (log)
{
"log": {
"disabled": false,
"level": "info",
"output": "box.log",
"timestamp": true
}
}| Field | Type | Default | Description |
|---|---|---|---|
disabled | Boolean | false | Disable log output |
level | String | "info" | Log level: trace, debug, info, warn, error, fatal, panic |
output | String | - | Log output file path |
timestamp | Boolean | true | Whether to add timestamp |
DNS Configuration (dns)
{
"dns": {
"servers": [
{
"tag": "google",
"address": "tls://8.8.8.8",
"detour": "proxy"
},
{
"tag": "local",
"address": "223.5.5.5",
"detour": "direct"
}
],
"rules": [
{
"domain_suffix": [".cn"],
"server": "local"
}
],
"final": "google"
}
}Inbound Configuration (inbounds)
Inbounds define ports and protocols AiBooster listens on locally:
{
"inbounds": [
{
"type": "mixed",
"tag": "mixed-in",
"listen": "127.0.0.1",
"listen_port": 7890
},
{
"type": "tun",
"tag": "tun-in",
"interface_name": "utun",
"inet4_address": "172.19.0.1/30",
"auto_route": true,
"strict_route": true
}
]
}Supported Inbound Types:
mixed- HTTP/SOCKS5 mixed proxysocks- SOCKS5 proxyhttp- HTTP proxytun- TUN virtual interface (transparent proxy)redirect- Transparent proxy redirecttproxy- Linux transparent proxy
Outbound Configuration (outbounds)
Outbounds define proxy nodes and direct connection rules:
{
"outbounds": [
{
"type": "selector",
"tag": "proxy",
"outbounds": ["auto", "hk-node", "us-node"],
"default": "auto"
},
{
"type": "urltest",
"tag": "auto",
"outbounds": ["hk-node", "us-node"],
"url": "https://www.gstatic.com/generate_204",
"interval": "3m"
},
{
"type": "shadowsocks",
"tag": "hk-node",
"server": "hk.example.com",
"server_port": 443,
"method": "aes-256-gcm",
"password": "your-password"
},
{
"type": "direct",
"tag": "direct"
},
{
"type": "block",
"tag": "block"
},
{
"type": "dns",
"tag": "dns-out"
}
]
}Supported Outbound Types:
direct- Direct connectionblock- Block connectiondns- DNS outboundselector- Manual node selectionurltest- Auto speed test selectionshadowsocks- Shadowsocks protocolvmess- VMess protocoltrojan- Trojan protocolhysteria- Hysteria protocolhysteria2- Hysteria2 protocolvless- VLESS protocolwireguard- WireGuard protocolssh- SSH protocolhttp- HTTP proxysocks- SOCKS5 proxy
Route Configuration (route)
Route defines traffic splitting rules:
{
"route": {
"rules": [
{
"protocol": "dns",
"outbound": "dns-out"
},
{
"geoip": ["private"],
"outbound": "direct"
},
{
"geosite": ["cn"],
"outbound": "direct"
},
{
"geosite": ["geolocation-!cn"],
"outbound": "proxy"
}
],
"rule_set": [
{
"tag": "geoip-cn",
"type": "remote",
"format": "binary",
"url": "https://example.com/geoip-cn.srs"
}
],
"final": "proxy",
"auto_detect_interface": true
}
}Route Matching Conditions:
domain- Exact domain matchdomain_suffix- Domain suffix matchdomain_keyword- Domain keyword matchdomain_regex- Domain regex matchgeosite- GeoSite rule setgeoip- GeoIP rule setip_cidr- IP CIDR matchport- Port matchprotocol- Protocol matchnetwork- Network type (tcp/udp)
Experimental Features (experimental)
{
"experimental": {
"cache_file": {
"enabled": true,
"path": "cache.db"
},
"clash_api": {
"external_controller": "127.0.0.1:9090",
"external_ui": "ui",
"secret": ""
}
}
}Adding Subscription
Steps
- Get subscription link (from your service provider)
- Open AiBooster
- Tap "+" or "Add Configuration"
- Select "Subscription Link"
- Fill in information:
- Name: Custom name (e.g., "Work Subscription")
- URL: Paste subscription link
- Tap "Save"
Subscription Link Format
https://example.com/api/v1/client/subscribe?token=xxxxxx
Subscription links contain your account information. Do not share with others.
Updating Subscription
Manual Update
- Go to Profiles page
- Find target subscription
- Tap Refresh icon
- Wait for update to complete
Auto Update
- Go to Settings → Subscription Settings
- Enable Auto Update
- Set update interval (recommended: 24 hours)
| Update Interval | Use Case |
|---|---|
| 1 hour | Frequently changing nodes |
| 6 hours | General use |
| 24 hours | Stable providers |
| Manual | Update on demand |
Managing Multiple Subscriptions
AiBooster supports adding multiple subscriptions:
Switch Subscription
- Go to Profiles page
- Tap the subscription you want to use
- Automatically switches to that subscription's node list
Delete Subscription
- Long press or right-click on subscription
- Select Delete
- Confirm deletion
Edit Subscription
- Tap Edit icon on subscription's right side
- Modify name or URL
- Save changes
Subscription Conversion
If subscription format is incompatible, you can use subscription conversion:
Online Conversion
- Visit subscription conversion service
- Enter original subscription link
- Select output format (AiBooster JSON)
- Copy converted link
- Add to AiBooster
Built-in Conversion
AiBooster has built-in subscription converter:
- When adding subscription, select Advanced Options
- Choose Subscription Type:
- Auto Detect
- AiBooster (JSON format)
- Clash
- V2ray
- Shadowsocks
Viewing Subscription Info
Tap subscription to view:
- Node Count: Number of available servers
- Used Traffic: Used in current period
- Remaining Traffic: Remaining in current period
- Expiry Date: Subscription validity
- Last Updated: Most recent update time
Troubleshooting
Update Failed
- Check network connection
- Verify subscription link is correct
- Try using proxy to access subscription
- Contact service provider
Empty Node List
- Manually update subscription
- Check if subscription is expired
- Verify subscription format compatibility
Traffic Info Not Showing
Some subscriptions may not provide traffic statistics - this is normal.
Recommend regularly updating subscriptions to get the latest nodes.