SwitchSharp 是一款功能强大的网络代理工具,支持多种代理协议和自定义规则配置,能够帮助用户实现智能分流、负载均衡等高级功能,以下是详细的 SwitchSharp 设置教程,涵盖安装、基础配置、规则设置及常见问题解决,助你快速上手使用。

安装与启动
-
下载与安装
访问 SwitchSharp 官方 GitHub 仓库或官网,根据操作系统版本(Windows/macOS/Linux)下载最新安装包,Windows 用户可下载.exe安装程序,macOS 用户推荐使用.dmg格式,Linux 用户可选择.deb或.rpm包,或通过源码编译安装。
安装过程中,建议勾选“添加到系统环境变量”选项,方便后续命令行调用,安装完成后,启动程序,首次运行会自动初始化配置文件。 -
初始化配置
首次启动时,SwitchSharp 会提示创建配置文件目录,默认路径为:- Windows:
%USERPROFILE%\.switchsharp - macOS/Linux:
~/.switchsharp
可根据需求修改路径,但需确保目录有读写权限,配置文件采用 YAML 格式,支持热重载,修改后无需重启即可生效。
- Windows:
基础配置
-
代理服务器设置
在配置文件中,proxies部分用于定义代理服务器,以下为示例配置:proxies: - name: "代理服务器1" type: "http" # 支持 http/https/socks5 server: "127.0.0.1" port: 7890 username: "user" # 可选,需认证时填写 password: "pass" # 可选支持 HTTP、HTTPS、SOCKS5 协议,若代理服务器需要认证,需填写
username和password,配置完成后,可通过proxies部分的name字段引用代理。
(图片来源网络,侵删) -
默认代理设置
在default部分指定默认代理,用于未匹配规则的流量:default: proxy: "代理服务器1" # 引用 proxies 中的 name
规则配置
SwitchSharp 的核心功能是智能分流,通过 rules 部分定义匹配规则,规则支持域名、IP、域名后缀等多种匹配方式,优先级按配置顺序从高到低执行。
-
基础规则示例
rules: - domain: "google.com" proxy: "代理服务器1" - domain_suffix: ".cn" proxy: "DIRECT" # 直连,不使用代理 - ip_cidr: "192.168.1.0/24" proxy: "DIRECT"domain: 精确匹配域名(如google.com)domain_suffix: 匹配域名后缀(如.cn匹配所有中国域名)ip_cidr: 匹配 IP 段(如168.1.0/24)proxy: 指定代理名称,DIRECT表示直连,REJECT表示拒绝连接。
-
高级规则配置
(图片来源网络,侵删)- 负载均衡:可配置多个代理并设置权重,实现流量分流:
rules: - domain: "youtube.com" proxy: ["代理服务器1", "代理服务器2"] # 多个代理 strategy: "round-robin" # 轮询策略,可选 "random" - 规则组合:支持
AND/OR逻辑组合,例如同时匹配域名和端口:rules: - domain: "github.com" port: 443 proxy: "代理服务器1"
- 负载均衡:可配置多个代理并设置权重,实现流量分流:
-
规则优先级与调试
规则按顺序匹配,建议将精确规则(如具体域名)放在前面,泛化规则(如域名后缀)放在后面,可通过命令行模式测试规则匹配:switchsharp test -domain example.com -port 80
输出会显示匹配的代理名称,便于调试。
高级功能
-
代理链(Proxy Chaining)
支持将多个代理串联使用,增强隐私性:proxies: - name: "代理1" type: "socks5" server: "1.2.3.4" port: 1080 - name: "代理2" type: "http" server: "5.6.7.8" port: 8080 proxy: "代理1" # 通过代理1连接代理2 -
故障转移(Failover)
配置多个备用代理,主代理失效时自动切换:rules: - domain: "example.com" proxy: ["主代理", "备用代理1", "备用代理2"] failover: true
系统托盘与快捷操作
启动后,SwitchSharp 会在系统托盘显示图标,右键菜单支持:
- 启用/禁用代理:快速开关全局代理。
- 切换代理:在预设代理间快速切换。
- 查看日志:实时查看流量匹配和代理连接状态。
常见问题解决
-
代理连接失败
- 检查代理服务器地址、端口及认证信息是否正确。
- 确认本地防火墙或杀毒软件是否阻止了 SwitchSharp 的网络访问。
- 尝试使用
curl或浏览器测试代理是否可用:curl --proxy http://127.0.0.1:7890 https://www.google.com
-
规则不生效
- 检查规则语法是否正确,确保 YAML 格式无误(如缩进、冒号后需空格)。
- 确认规则优先级,精确规则是否在泛化规则之前。
- 使用
switchsharp test命令调试规则匹配逻辑。
相关问答 FAQs
Q1:SwitchSharp 支持哪些代理协议?
A1:SwitchSharp 支持 HTTP、HTTPS、SOCKS5 三种主流代理协议,SOCKS5 支持 TCP 和 UDP 流量,适用于游戏、视频等场景,部分高级功能(如代理链)需代理服务器支持相应的协议联动。
Q2:如何实现特定应用的代理分流?
A2:可通过进程名或可执行文件路径配置规则,仅分流 Chrome 浏览器流量:
rules:
- process: "chrome"
proxy: "代理服务器1"
Windows 用户需填写进程名(如 chrome.exe),macOS/Linux 用户填写可执行文件名(如 Google Chrome),需确保 SwitchSharp 有权限监控进程信息,部分系统可能需手动开启权限。
