Used to manage Surge configuration files, supporting operations such as rule addition, configuration editing, and Tailscale device direct connection configuration.
Configuration file path
Default Surge configuration file path:
~/Library/Application Support/Surge/Profiles/cc.conf
Main features
1. Add direct connection rules
Add direct connection rules for the specified IP address or domain name.
Use cases:
- Tailscale device direct connection
- Intranet service direct connection
- Specific domain direct connection
Rule types:
IP-CIDR: IP subnet direct connectionDOMAIN: Domain direct connectionDOMAIN-SUFFIX: Domain suffix direct connection
2. Manage bypass-tun
Manage the direct connection subnet list in TUN mode.
Use cases:
- Add intranet subnet direct connection
- Add VPN subnet direct connection
- Add Tailscale subnet direct connection
3. Add Tailscale devices
Automatically add direct connection rules (IP + domain) for Tailscale devices.
Tailscale subnet:100.64.0.0/10
Domain format:设备名.ts.net
Usage examples
Add a single device direct connection
# 添加 IP 直连
IP-CIDR,100.89.35.126/32,🎯 全球直连,no-resolve
# 添加域名直连
DOMAIN,mbp.ts.net,🎯 全球直连
Add Tailscale subnet
# 在 bypass-tun 中添加
bypass-tun = 192.168.0.0/16,10.0.0.0/8,172.16.0.0/12,100.64.0.0/10
# 在规则中添加
IP-CIDR,100.64.0.0/10,🎯 全球直连,no-resolve
DOMAIN-SUFFIX,ts.net,🎯 全球直连
Batch add Tailscale devices
Add individual rules for all Tailscale devices:
# 从 tailscale status 获取设备列表后自动生成规则
IP-CIDR,100.89.35.126/32,🎯 全球直连,no-resolve
DOMAIN,mbp.ts.net,🎯 全球直连
IP-CIDR,100.107.176.21/32,🎯 全球直连,no-resolve
DOMAIN,tserver.ts.net,🎯 全球直连
# ... 更多设备
Configuration structure
[General] section
bypass-tun = 192.168.0.0/16,10.0.0.0/8,172.16.0.0/12,100.64.0.0/10
[Rule] section
[Rule]
# Tailscale 直连规则
IP-CIDR,100.64.0.0/10,🎯 全球直连,no-resolve
DOMAIN-SUFFIX,ts.net,🎯 全球直连
# 设备单独规则
IP-CIDR,100.89.35.126/32,🎯 全球直连,no-resolve
DOMAIN,mbp.ts.net,🎯 全球直连
# ... 其他规则
RULE-SET,https://raw.githubusercontent.com/...
Common operations
View current configuration
cat ~/Library/Application\ Support/Surge/Profiles/cc.conf
Back up configuration
cp ~/Library/Application\ Support/Surge/Profiles/cc.conf ~/Library/Application\ Support/Surge/Profiles/cc.conf.backup
Reload configuration
After modifying the configuration, you need to reload the configuration in Surge for the rules to take effect.
Tailscale device management
Get device list
tailscale status
Device information format
100.89.35.126 mbp Dwsy@ macOS -
100.107.176.21 tserver Dwsy@ linux active; direct 118.24.74.226:41641
Format:IP地址 设备名 用户名 操作系统 状态
Automatically generate rules
From tailscale status output automatically generate direct connection rules:
# 第一列:IP 地址
# 第二列:设备名
# 域名:设备名.ts.net
Notes
-
Rule priority:
- Specific rules (IP-CIDR /32, DOMAIN) take priority over subnet rules
- Rule order is important; the earlier the rule, the higher the priority
-
no-resolve parameter:
- It is recommended to add to IP rules
no-resolveto avoid unnecessary DNS queries
- It is recommended to add to IP rules
-
Configuration backup:
- It is recommended to back up the configuration file before modifying it
-
Reload:
- After modification, you need to reload the configuration in Surge
-
Tailscale subnet:
- Tailscale uses the CGNAT subnet
100.64.0.0/10 - Domains uniformly use the
.ts.netsuffix
- Tailscale uses the CGNAT subnet
Extended features
Add proxy rules
IP-CIDR,192.168.1.0/24,🚀 节点选择,no-resolve
DOMAIN,example.com,🚀 节点选择
Add blocking rules
DOMAIN,ads.example.com,🛑 广告拦截
DOMAIN-SUFFIX,tracker.com,🍃 应用净化
Add routing rules
DOMAIN-SUFFIX,youtube.com,📹 油管视频
DOMAIN-SUFFIX,netflix.com,🎥 奈飞视频
Troubleshooting
Rules not taking effect
- Check whether the rule order is correct
- Confirm whether the configuration has been reloaded
- Use Surge's rule testing feature to verify
IP cannot connect directly
- Confirm that the IP is in the bypass-tun list
- Check whether there are conflicting rules
- Use ping to test network connectivity
Domain cannot connect directly
- Confirm that DNS resolution is correct
- Check the spelling of the domain rule
- Try using an IP rule instead
Related Links
- Surge Official Documentation:https://manual.nssurge.com/
- Tailscale Official Website:https://tailscale.com/