SuperAPI AI Directory

surge-manager

General & other

View repository

Updated 10-16 05:06

About this skill

Surge Manager Skill

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 connection
  • DOMAIN: Domain direct connection
  • DOMAIN-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

  1. 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
  2. no-resolve parameter:

    • It is recommended to add to IP rules no-resolve to avoid unnecessary DNS queries
  3. Configuration backup:

    • It is recommended to back up the configuration file before modifying it
  4. Reload:

    • After modification, you need to reload the configuration in Surge
  5. Tailscale subnet:

    • Tailscale uses the CGNAT subnet 100.64.0.0/10
    • Domains uniformly use the .ts.net suffix

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

  1. Check whether the rule order is correct
  2. Confirm whether the configuration has been reloaded
  3. Use Surge's rule testing feature to verify

IP cannot connect directly

  1. Confirm that the IP is in the bypass-tun list
  2. Check whether there are conflicting rules
  3. Use ping to test network connectivity

Domain cannot connect directly

  1. Confirm that DNS resolution is correct
  2. Check the spelling of the domain rule
  3. Try using an IP rule instead

Related Links