目录
Surfboard简介
Surfboard是一款功能强大的网络代理工具,支持多种代理协议和丰富的规则配置,广受用户好评。它的配置文件采用YAML格式,结构化程度高,可以灵活地满足各种上网需求。
配置文件格式概述
Surfboard的配置文件采用YAML格式,通常命名为surfboard.yml
或surfboard.yaml
。YAML是一种简洁易读的数据序列化格式,具有良好的可读性和可维护性。
Surfboard的配置文件主要包含以下几个部分:
- 基础配置:设置程序运行参数
- 代理服务器设置:配置代理服务器信息
- 规则配置:定义流量分流和过滤规则
- 分组设置:将规则组织成不同的分组
- 其他设置:如日志、更新等配置
下面我们将逐一介绍各个部分的具体设置选项。
配置文件结构及设置选项
基础配置
Surfboard的基础配置包括以下选项:
general
:log_level
: 日志级别,可选值为debug
、info
、warn
、error
interface
: 监听的网络接口,默认为0.0.0.0
port
: 监听端口,默认为7890
socks-port
: Socks5代理端口,默认为7891
http-port
: HTTP代理端口,默认为7892
redir-port
: 透明代理端口,默认为7893
mixed-port
: 混合代理端口,默认为7894
external-controller
: 外部控制器地址,格式为host:port
secret
: 外部控制器密钥
代理服务器设置
Surfboard支持多种代理协议,可以配置多个代理服务器:
proxies
:name
: 代理服务器名称type
: 代理类型,可选值为ss
、ssr
、vmess
、trojan
、http
、socks5
等- 各类型代理的具体配置选项,如服务器地址、端口、密码等
规则配置
Surfboard的规则配置非常灵活,支持多种类型的规则:
rules
:type
: 规则类型,可选值为domain
、ipcidr
、geoip
、process
等protocol
: 协议类型,可选值为http
、tls
、udp
等port
: 端口范围source-port
: 源端口范围content-type
: HTTP内容类型domain
: 域名匹配规则ip-cidr
: IP地址网段geoip
: 地理位置匹配process-name
: 进程名称匹配proxy
: 应用规则的代理服务器名称
分组设置
Surfboard支持将规则组织成不同的分组,以提高配置的灵活性和可维护性:
proxy-groups
:name
: 分组名称type
: 分组类型,可选值为select
、url-test
、fallback
、load-balance
等proxies
: 分组包含的代理服务器名称列表- 各类型分组的特定配置选项
其他设置
Surfboard还支持其他一些设置选项:
dns
:enable
: 是否启用DNSenhanced-mode
: DNS解析模式,可选值为mapping
、fake-ip
nameserver
: 自定义DNS服务器fallback
: 备用DNS服务器
tproxy
:enable
: 是否启用透明代理mode
: 透明代理模式,可选值为redirect
、tproxy
experimental
:ignore-resolve-fail
: 是否忽略DNS解析失败interface-name
: 网卡名称clash-parser
: 是否启用Clash配置解析器
常见问题FAQ
以下是一些关于Surfboard配置文件的常见问题及解答:
Q1: Surfboard的配置文件支持哪些代理协议?
A1: Surfboard支持多种代理协议,包括Shadowsocks、ShadowsocksR、VMess、Trojan、HTTP、Socks5等。可以在proxies
部分配置不同类型的代理服务器。
Q2: 如何配置分组和负载均衡?
A2: 可以在proxy-groups
部分配置不同类型的分组,如select
、url-test
、fallback
、load-balance
等。将多个代理服务器添加到同一个分组中,即可实现负载均衡等功能。
Q3: 如何配置DNS解析?
A3: 在dns
部分可以配置DNS相关设置,包括是否启用DNS、解析模式、自定义DNS服务器等。可以根据需求进行灵活配置。
Q4: 如何开启透明代理?
A4: 在tproxy
部分可以配置透明代理相关设置,包括是否启用、工作模式等。开启透明代理后,Surfboard可以对系统全局流量进行代理。
Q5: 如何使用规则对流量进行分流和过滤?
A5: 在rules
部分可以配置各种类型的规则,如域名、IP地址、协议、进程等。根据不同的规则条件,将流量路由到指定的代理服务器或分组。通过灵活的规则配置,可以实现复杂的流量分流和过滤需求。