Surfboard配置文件格式全解析

目录

Surfboard简介

Surfboard是一款功能强大的网络代理工具,支持多种代理协议和丰富的规则配置,广受用户好评。它的配置文件采用YAML格式,结构化程度高,可以灵活地满足各种上网需求。

配置文件格式概述

Surfboard的配置文件采用YAML格式,通常命名为surfboard.ymlsurfboard.yaml。YAML是一种简洁易读的数据序列化格式,具有良好的可读性和可维护性。

Surfboard的配置文件主要包含以下几个部分:

  • 基础配置:设置程序运行参数
  • 代理服务器设置:配置代理服务器信息
  • 规则配置:定义流量分流和过滤规则
  • 分组设置:将规则组织成不同的分组
  • 其他设置:如日志、更新等配置

下面我们将逐一介绍各个部分的具体设置选项。

配置文件结构及设置选项

基础配置

Surfboard的基础配置包括以下选项:

  • general:
    • log_level: 日志级别,可选值为debuginfowarnerror
    • 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: 代理类型,可选值为ssssrvmesstrojanhttpsocks5
    • 各类型代理的具体配置选项,如服务器地址、端口、密码等

规则配置

Surfboard的规则配置非常灵活,支持多种类型的规则:

  • rules:
    • type: 规则类型,可选值为domainipcidrgeoipprocess
    • protocol: 协议类型,可选值为httptlsudp
    • port: 端口范围
    • source-port: 源端口范围
    • content-type: HTTP内容类型
    • domain: 域名匹配规则
    • ip-cidr: IP地址网段
    • geoip: 地理位置匹配
    • process-name: 进程名称匹配
    • proxy: 应用规则的代理服务器名称

分组设置

Surfboard支持将规则组织成不同的分组,以提高配置的灵活性和可维护性:

  • proxy-groups:
    • name: 分组名称
    • type: 分组类型,可选值为selecturl-testfallbackload-balance
    • proxies: 分组包含的代理服务器名称列表
    • 各类型分组的特定配置选项

其他设置

Surfboard还支持其他一些设置选项:

  • dns:
    • enable: 是否启用DNS
    • enhanced-mode: DNS解析模式,可选值为mappingfake-ip
    • nameserver: 自定义DNS服务器
    • fallback: 备用DNS服务器
  • tproxy:
    • enable: 是否启用透明代理
    • mode: 透明代理模式,可选值为redirecttproxy
  • 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部分配置不同类型的分组,如selecturl-testfallbackload-balance等。将多个代理服务器添加到同一个分组中,即可实现负载均衡等功能。

Q3: 如何配置DNS解析?

A3: 在dns部分可以配置DNS相关设置,包括是否启用DNS、解析模式、自定义DNS服务器等。可以根据需求进行灵活配置。

Q4: 如何开启透明代理?

A4: 在tproxy部分可以配置透明代理相关设置,包括是否启用、工作模式等。开启透明代理后,Surfboard可以对系统全局流量进行代理。

Q5: 如何使用规则对流量进行分流和过滤?

A5: 在rules部分可以配置各种类型的规则,如域名、IP地址、协议、进程等。根据不同的规则条件,将流量路由到指定的代理服务器或分组。通过灵活的规则配置,可以实现复杂的流量分流和过滤需求。

正文完