## 代理模式 # # tproxy_*: 利用 iptables (REDIRECT/TPROXY) 进行透明代理 # tun2socks_*: 利用 tun 虚拟网卡 + tun2socks 进行透明代理 # # global: 全局代理模式,所有网站都走代理隧道 # gfwlist: gfwlist 模式,gfwlist 域名走代理,其余走直连 # chnroute: chnroute 模式,大陆 IP 走直连,其余走代理隧道 # # *_tcp: 针对不支持 udp relay 的 SS/SSR 的代理模式 # 无 tcp 后缀的模式要求 SS/SSR 服务器支持 udp relay # # 相关依赖 # tproxy_global: ss/ssr-libev, haveged, xt_TPROXY, iproute2, dnsmasq # tproxy_gfwlist: ss/ssr-libev, haveged, xt_TPROXY, iproute2, ipset, perl, dnsmasq # tproxy_chnroute: ss/ssr-libev, haveged, xt_TPROXY, iproute2, ipset, chinadns, dnsmasq # tproxy_global_tcp: ss/ssr-libev, haveged, dnsforwarder # tproxy_gfwlist_tcp: ss/ssr-libev, haveged, ipset, perl, dnsmasq, dnsforwarder # tproxy_chnroute_tcp: ss/ssr-libev, haveged, ipset, chinadns, dnsforwarder # tun2socks_global: ss/ssr(版本不限), haveged, tun2socks, iproute2, dnsmasq # tun2socks_gfwlist: ss/ssr(版本不限), haveged, tun2socks, iproute2, ipset, perl, dnsmasq # tun2socks_chnroute: ss/ssr(版本不限), haveged, tun2socks, iproute2, ipset, chinadns, dnsmasq # tun2socks_global_tcp: ss/ssr(版本不限), haveged, tun2socks, iproute2, dnsforwarder # tun2socks_gfwlist_tcp: ss/ssr(版本不限), haveged, tun2socks, iproute2, ipset, perl, dnsmasq, dnsforwarder # tun2socks_chnroute_tcp: ss/ssr(版本不限), haveged, tun2socks, iproute2, ipset, chinadns, dnsforwarder # (注: *gfwlist* 模式更新列表时依赖 curl、base64;*chnroute* 模式更新列表时依赖 curl;建议安装,以备不时之需) # # 相关端口 # tproxy_global: ss-redir=60080, ss-tunnel=60053, dnsmasq=53 # tproxy_gfwlist: ss-redir=60080, ss-tunnel=60053, dnsmasq=53 # tproxy_chnroute: ss-redir=60080, ss-tunnel=60053, chinadns=65353, dnsmasq=53 # tproxy_global_tcp: ss-redir=60080, dnsforwarder=53 # tproxy_gfwlist_tcp: ss-redir=60080, dnsforwarder=60053, dnsmasq=53 # tproxy_chnroute_tcp: ss-redir=60080, dnsforwarder=60053, chinadns=65353, dnsforwarder=53 # tun2socks_global: dnsmasq=53 # tun2socks_gfwlist: dnsmasq=53 # tun2socks_chnroute: chinadns=60053, dnsmasq=53 # tun2socks_global_tcp: dnsforwarder=53 # tun2socks_gfwlist_tcp: dnsforwarder=60053, dnsmasq=53 # tun2socks_chnroute_tcp: dnsforwarder=60053, chinadns=65353, dnsforwarder=53 # # 切换代理模式有两种方法: # 1. 将要启用的模式放到所有 mode 变量的后面 # 2. 使用 # 注释其它模式,保留要启用的 mode # #mode='tproxy_global' # tproxy 全局模式 #mode='tproxy_global_tcp' # tproxy 全局模式 (tcponly) #mode='tproxy_gfwlist' # tproxy gfwlist 模式 #mode='tproxy_gfwlist_tcp' # tproxy gfwlist 模式 (tcponly) mode='tproxy_chnroute' # tproxy chnroute 模式 #mode='tproxy_chnroute_tcp' # tproxy chnroute 模式 (tcponly) #mode='tun2socks_global' # tun2socks 全局模式 #mode='tun2socks_global_tcp' # tun2socks 全局模式 (tcponly) #mode='tun2socks_gfwlist' # tun2socks gfwlist 模式 #mode='tun2socks_gfwlist_tcp' # tun2socks gfwlist 模式 (tcponly) #mode='tun2socks_chnroute' # tun2socks chnroute 模式 #mode='tun2socks_chnroute_tcp' # tun2socks chnroute 模式 (tcponly) ## socks5 配置 # 适用于 tun2socks_* 模式 socks5_listen='127.0.0.1:1080' # socks5 本地监听地址 socks5_remote='node.proxy.net' # socks5 服务器的地址 # 启动 socks5 代理的命令行,必须在后台运行,不能占用前台,根据实际情况修改 # 如果使用非 *_tcp 模式,请确保该 socks5 代理的 udp relay 已开启,否则无法解析 DNS socks5_runcmd='nohup ss-local -c /etc/ss/ss-local.json >/var/log/ss-local.log &' #socks5_runcmd='ssh -CNf -D 0.0.0.0:1080 user@node.proxy.net' # 仅限 tun2socks*tcp 模式 #socks5_runcmd='service shadowsocks-libev start' # 通过 service 命令启动 #socks5_runcmd='systemctl start shadowsocks-libev.service' # 通过 systemctl 命令启动 ## tun2socks 配置 # 适用于 tun2socks_* 模式 tun2socks_tundev="tun0" # tun 网卡 tun2socks_address="10.0.0.1" # 接口地址 tun2socks_gateway="10.0.0.254" # 网关地址 tun2socks_netmask="255.255.255.0" # 网络掩码 tun2socks_log='/var/log/tun2socks.log' # 日志文件 ## ss/ssr 配置 # 适用于 tproxy_* 模式 server_addr='server' # 服务器地址 server_port='1234' # 服务器端口 server_method='rc4-md5' # 加密方式 server_passwd='password' # 账户密码 server_use_ssr='false' # 启用 SSR true/false server_protocol='origin' # 协议插件 (SSR) server_protocol_param='' # 协议参数 (SSR) server_obfs='plain' # 混淆插件 (SSR) server_obfs_param='' # 混淆参数 (SSR) ## ss-redir 配置 # 适用于 tproxy_* 模式 redir_fast_open='true' # TCP Fast Open redir_verbose='false' # 记录详细日志 redir_log='/var/log/ss-redir.log' # 日志文件路径 ## ss-tunnel 配置 # 适用于 tproxy_* 模式 tunnel_verbose='false' # 记录详细日志 tunnel_log='/var/log/ss-tunnel.log' # 日志文件路径 ## dnsmasq 配置 # 根据模式选择使用 dnsmasq_gfwlist='/etc/tproxy/gfwlist.txt' # gfwlist 域名文件 dnsmasq_gfwlist_ext='/etc/tproxy/gfwlist.ext' # gfwlist 扩展文件 dnsmasq_cache_size='10240' # DNS 缓存条目数量 dnsmasq_cache_time='3600' # DNS 缓存时间(秒) dnsmasq_log_on='false' # 是否记录 DNS 日志 dnsmasq_log_file='/var/log/dnsmasq.log' # DNS 日志记录文件 ## dnsforwarder 配置 # 根据模式选择使用 dnsfwd_log_on='false' # 启用日志 dnsfwd_log_dir='/var/log' # 日志目录 dnsfwd_cache_on='true' # 启用缓存 dnsfwd_cache_mem='true' # 内存缓存 dnsfwd_cache_size='1048576' # 缓存大小 byte dnsfwd_ignore_ttl='true' # 忽略 TTL ## chinadns 配置 # 适用于 *chnroute* 模式 chinadns_chnroute='/etc/tproxy/chnroute.txt' # 大陆地址列表 chinadns_mutation='true' # DNS 压缩指针 chinadns_verbose='false' # 记录详细日志 chinadns_log='/var/log/chinadns.log' # 日志文件路径 ## dns 配置 # 解析墙外域名的 DNS,必须指明端口号,如 208.67.222.222:443 # 如果代理模式为 *tcp,那么请确保该 DNS 能处理 TCP 查询方式 dns_remote='8.8.8.8:53' # 解析墙内域名的 DNS,不能指定端口号,必须为默认端口 :53 # 允许多个 DNS,每个 DNS 之间使用空格隔开,最多允许 3 个 dns_direct=(114.114.114.114 119.29.29.29) ## iptables 配置 iptables_pbr_number='100' # PBR 路由表号 iptables_pbr_fwmark='0x2333/0x2333' # PBR fwmark值 iptables_ipset_file='/etc/tproxy/chnroute.set' # 大陆地址段 ipset 文件 iptables_intranet=(192.168.0.0/16) # 内网网段,多个空格隔开 # 如果 iptables_intranet 中含有非"标准"网段,"标准"网段为: # 10.0.0.0/8、169.254.0.0/16、172.16.0.0/12、192.168.0.0/16 # 请将它们填入 iptables_intranet_nonstd 列表中,多个空格隔开 # 注意,类似 192.168.1.0/24 网段是包含在 192.168.0.0/16 中的 # 10/8、169.254/16、172.16/12 也是一样的道理,请不要加入列表 iptables_intranet_nonstd=()