Trojan-gfw+Mellow(macos自动分流)

一、引言

二、trojan-gfw配置

1、服务器安装
  • 已购domain及DNS已正确解析到已购vps
  • 一键脚本
    apt-get update && apt-get install curl vim -y # ubuntu/debian
    yum update -y && yum install curl vim -y # centos
    bash -c "$(curl -fsSL https://raw.githubusercontent.com/johnrosen1/trojan-gfw-script/master/trojangui.sh)" 
    
  • 根据脚本,按部就班完成(详情参数请参阅脚本项目地址)
    • 选择tls1.3 only
    • 证书申请,若没api,则另外的方式
2、macos客户端配置
  • 在Trojan-gfw项目地址下载macos客户端
  • 根据服务器配置修改客户端配置文件config.json
  • 在终端运行客户端
    • cd # 进入trojan文件夹
    • ./trojan # 运行客户端
  • 如果说程序已存在,则先结束之前进程
    • ps -fe | grep trojan
    • kill -9 ****

三、mellow

1、下载安装mellow客户端
2、创建/修改配置文件
  • 运行mellow
  • creat config—— create conf
  • 选择创建的conf,再选择edit selected,编辑器选择文本编辑
  • 规则可选择mellow项目主页默认规则,或神机规则,本文以项目规则为例
[Endpoint]
; tag, parser, parser-specific params...
Direct, builtin, freedom, domainStrategy=UseIP
Reject, builtin, blackhole
Dns-Out, builtin, dns
; Http-Out, builtin, http, address=192.168.100.1, port=1087, user=myuser, pass=mypass

; Socks-Out, builtin, socks, address=192.168.100.1, port=1080, user=myuser, pass=mypass
; trojan使用的是socks-out这个格式,所以修改如下
trojan, builtin, socks, address=127.0.0.1, port=1080

;Proxy-1, vmess1, vmess1://75da2e14-4d08-480b-b3cb-0079a0c51275@example.com:443/path?network=ws&tls=true&ws.host=example.com
;Proxy-2, vmess1, vmess1://75da2e14-4d08-480b-b3cb-0079a0c51275@example.com:10025?network=tcp
;Proxy-3, ss, ss://aes-128-gcm:pass@192.168.100.1:8888
;Proxy-4, vmess1, vmess1://75da2e14-4d08-480b-b3cb-0079a0c51275@example.com:443/path?network=http&http.host=example.com%2Cexample1.com&tls=true&tls.allowinsecure=true
;Proxy-7, vmess1, vmess1://75da2e14-4d08-480b-b3cb-0079a0c51275@example.com:10025?network=kcp&kcp.mtu=1350&kcp.tti=20&kcp.uplinkcapacity=1&kcp.downlinkcapacity=2&kcp.congestion=false&header=none&sockopt.tos=184
;Proxy-8, vmess1, vmess1://75da2e14-4d08-480b-b3cb-0079a0c51275@example.com:10025?network=quic&quic.security=none&quic.key=&header=none&tls=false&sockopt.tos=184

[EndpointGroup]
; tag, colon-seperated list of selectors or endpoint tags, strategy, strategy-specific params...
;把group-1的成员修改为trojan
Group-1, trojan, latency, interval=300, timeout=6

[Routing]
domainStrategy = IPIfNonMatch

[RoutingRule]
; type, filter, endpoint tag or enpoint group tag
DOMAIN-KEYWORD, geosite:category-ads-all, Reject
IP-CIDR, 223.5.5.5/32, Direct
IP-CIDR, 8.8.8.8/32, Group-1
IP-CIDR, 8.8.4.4/32, Group-1
;PROCESS-NAME, cloudmusic.exe, Direct

;因为trojan需要直连,所以我们必须要以下这条规则
PROCESS-NAME, trojan, Direct

GEOIP, cn, Direct
GEOIP, private, Direct
PORT, 123, Direct
DOMAIN-KEYWORD, geosite:cn, Direct
DOMAIN, www.google.com, Group-1
DOMAIN-FULL, www.google.com, Group-1
DOMAIN-SUFFIX, google.com, Group-1
FINAL, Group-1

[Dns]
; hijack = dns endpoint tag
hijack = Dns-Out
; cliengIp = ip
clientIp = 114.114.114.114

[DnsServer]
; address, port, tag
localhost
223.5.5.5
8.8.8.8, 53, Remote
8.8.4.4

[DnsRule]
; type, filter, dns server tag
DOMAIN-KEYWORD, geosite:geolocation-!cn, Remote
DOMAIN-SUFFIX, google.com, Remote

[DnsHost]
; domain = ip
doubleclick.net = 127.0.0.1

[Log]
loglevel = warning
3、mellow reload configs,然后connect