迁移指南
1.11.0
迁移旧的特殊出站到规则动作
旧的特殊出站已被弃用,且可以被规则动作替代。
迁移旧的入站字段到规则动作
入站选项已被弃用,且可以被规则动作替代。
迁移 direct 出站中的目标地址覆盖字段到路由字段
direct 出站中的目标地址覆盖字段已废弃,且可以被路由字段替代。
参考
迁移 WireGuard 出站到端点
WireGuard 出站已被弃用,且可以被端点替代。
参考
{
"outbounds": [
{
"type": "wireguard",
"tag": "wg-out",
"server": "127.0.0.1",
"server_port": 10001,
"system_interface": true,
"gso": true,
"interface_name": "wg0",
"local_address": [
"10.0.0.1/32"
],
"private_key": "<private_key>",
"peer_public_key": "<peer_public_key>",
"pre_shared_key": "<pre_shared_key>",
"reserved": [0, 0, 0],
"mtu": 1408
}
]
}
{
"endpoints": [
{
"type": "wireguard",
"tag": "wg-ep",
"system": true,
"name": "wg0",
"mtu": 1408,
"address": [
"10.0.0.2/32"
],
"private_key": "<private_key>",
"listen_port": 10000,
"peers": [
{
"address": "127.0.0.1",
"port": 10001,
"public_key": "<peer_public_key>",
"pre_shared_key": "<pre_shared_key>",
"allowed_ips": [
"0.0.0.0/0"
],
"persistent_keepalive_interval": 30,
"reserved": [0, 0, 0]
}
]
}
]
}
1.10.0
TUN 地址字段已合并
inet4_address
和 inet6_address
已合并为 address
,
inet4_route_address
和 inet6_route_address
已合并为 route_address
,
inet4_route_exclude_address
和 inet6_route_exclude_address
已合并为 route_exclude_address
。
参考
{
"inbounds": [
{
"type": "tun",
"inet4_address": "172.19.0.1/30",
"inet6_address": "fdfe:dcba:9876::1/126",
"inet4_route_address": [
"0.0.0.0/1",
"128.0.0.0/1"
],
"inet6_route_address": [
"::/1",
"8000::/1"
],
"inet4_route_exclude_address": [
"192.168.0.0/16"
],
"inet6_route_exclude_address": [
"fc00::/7"
]
}
]
}
1.9.5
Apple 平台客户端的 Bundle Identifier 更新
由于我们旧的苹果开发者账户存在问题,我们只能通过更新 Bundle Identifiers 来重新上架 sing-box 应用, 这意味着数据不会自动继承。
对于 iOS,您需要自行备份旧的数据(如果您仍然可以访问);
对于 Apple tvOS,您需要从 iPhone 或 iPad 重新导入配置或者手动创建;
对于 macOS,您可以使用以下命令迁移数据文件夹:
1.9.0
domain_suffix
行为更新
由于历史原因,sing-box 的 domain_suffix
规则匹配字面前缀,而不与其他项目相同。
sing-box 1.9.0 修改了 domain_suffix
的行为:如果规则值以 .
为前缀则行为不变,否则改为匹配 (domain|.+\.domain)
。
对 Windows 上 process_path
格式的更新
sing-box 的 process_path
规则继承自Clash,
原始代码使用本地系统的路径格式(例如 \Device\HarddiskVolume1\folder\program.exe
),
但是当设备有多个硬盘时,该 HarddiskVolume 系列号并不稳定。
sing-box 1.9.0 使 QueryFullProcessImageNameW 输出 Win32 路径(如 C:\folder\program.exe
),
这将会破坏现有的 Windows process_path
用例。
1.8.0
将缓存文件从 Clash API 迁移到独立选项
参考
迁移 GeoIP 到规则集
Tip
sing-box geoip
命令可以帮助您将自定义 GeoIP 转换为规则集。
{
"route": {
"rules": [
{
"ip_is_private": true,
"outbound": "direct"
},
{
"rule_set": "geoip-cn",
"outbound": "direct"
},
{
"rule_set": "geoip-us",
"rule_set_ipcidr_match_source": true,
"outbound": "block"
}
],
"rule_set": [
{
"tag": "geoip-cn",
"type": "remote",
"format": "binary",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geoip/rule-set/geoip-cn.srs",
"download_detour": "proxy"
},
{
"tag": "geoip-us",
"type": "remote",
"format": "binary",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geoip/rule-set/geoip-us.srs",
"download_detour": "proxy"
}
]
},
"experimental": {
"cache_file": {
"enabled": true // required to save rule-set cache
}
}
}
迁移 Geosite 到规则集
Tip
sing-box geosite
命令可以帮助您将自定义 Geosite 转换为规则集。
{
"route": {
"rules": [
{
"rule_set": "geosite-cn",
"outbound": "direct"
}
],
"rule_set": [
{
"tag": "geosite-cn",
"type": "remote",
"format": "binary",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/rule-set/geosite-cn.srs",
"download_detour": "proxy"
}
]
},
"experimental": {
"cache_file": {
"enabled": true // required to save rule-set cache
}
}
}