-
Notifications
You must be signed in to change notification settings - Fork 188
/
Copy pathclient.json
151 lines (142 loc) · 4.21 KB
/
client.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
{
//this is just a example
"Log": ["color", "gsnova.log"],
"UserAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36",
//encrypt method can choose from none/auto/salsa20/chacha20poly1305/aes256-gcm
//'auto' method would choose fastest encrypt method for current env
"Cipher":{"Method":"auto", "Key":"809240d3a021449f6e67aa73221d42df942a308a", "User": "gsnova"},
"Mux":{
"MaxStreamWindow": "512K",
"StreamMinRefresh":"32K",
"StreamIdleTimeout":10,
"SessionIdleTimeout":300
},
"ProxyLimit":{
"WhiteList":["*"],
"BlackList":[]
},
// expose port by upnp for p2p
//"UPNPExposePort":56789,
"LocalDNS":{
//only listen UDP
"Listen": "127.0.0.1:5300",
"FastDNS":["223.5.5.5","180.76.76.76"],
"TrustedDNS": ["208.67.222.222", "208.67.220.220"]
},
"UDPGW":{
//fake address, only used as udp protocol indicator
"Addr":"20.20.20.20:1111"
},
"SNI":{
//Used to redirect SNI host to another for sniffed SNI
"Redirect":{
//This fix "DF-DFERH-01" error in HW phone for google play
"services.googleapis.cn":"services.googleapis.com"
}
},
//used to handle admin command from http client
"Admin":{
//a local http server, do NOT expose this http server to public
//listen on private IP instead of the default config
//eg: "Listen": "192.168.1.1:7788",
"Listen": ":7788",
//used to broadcast admin server address.
"BroadcastAddr":"224.0.0.1:48100",
"ConfigDir":"./android"
},
"GFWList":{
"URL":"https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt",
"Proxy":"",
"UserRule":[]
},
"Proxy":[
{
"Local": ":48100",
//used to indicate if it's a MITM proxy server, which would use generated cert for TLS connections
"MITM": false,
"HTTPDump":{
"Dump":"./httpdump-48100.txt",
"Domain":[],
"ExcludeBody":["text/css"]
},
"PAC":[
//{"Protocol":["dns", "udp"],"Remote":"direct"},
// Support rules 'IsCNIP/InHosts/BlockedByGFW'
//{"Rule":["InHosts"],"Remote":"direct"},
//{"Rule":["!IsCNIP"],"Remote":"heroku"},
//{"Rule":["BlockedByGFW"],"Remote":"heroku"},
//{"Host":["*notexist_domain.com"],"Remote":"Reject"},
//{"Host":["*"],"Remote":"direct"},
//{"URL":["*"],"Remote":"direct"},
//{"Method":["CONNECT"],"Remote":"direct"}
{"Rule":["IsPrivateIP"],"Remote":"direct"},
{"Remote":"Default"}
]
},
{
"Local": ":48101",
"PAC":[
{"Remote":"heroku-websocket"}
]
},
{
"Local": ":48102",
"PAC":[
{"Remote":"vps-quic"}
]
}
],
"Channel":[
{
"Enable":false,
"Name":"heroku-websocket",
//Allowed server url with schema 'http/http2/https/ws/wss/tcp/tls/quic/kcp/ssh'
//"ServerList":["quic://1.1.1.1:48101"],
"ServerList":["wss://xyz.herokuapp.com"],
//"ServerList":["tcp://127.0.0.1:18080"],
//"ServerList":["ssh://root@1.1.1.1:22?key=./PPP"],
//if u are behind a HTTP proxy
"Proxy":"",
"ConnsPerServer":3,
"RemoteDialMSTimeout":5000,
"RemoteDNSReadMSTimeout":1500,
"RemoteUDPReadMSTimeout":15000,
"LocalDialMSTimeout":5000,
//Reconnect after 120s
"ReconnectPeriod": 300,
//ReconnectPeriod rand adjustment, the real reconnect period is random value between [P - adjust, P + adjust]
"RCPRandomAdjustment" : 10,
//Send heartbeat msg to keep alive
"HeartBeatPeriod": 30,
"Compressor":"none",
"Hops":[],
//Use matched RemoteSNI host to connect at remote side
"RemoteSNIProxy":{
//"*.google.*":"GoogleHKSNI"
}
},
{
"Enable":false,
"Name":"vps-quic",
"ServerList":["quic://1.1.1.1:8080"],
//if u are behind a HTTP proxy
"Proxy":"",
"ConnsPerServer":3,
"RemoteDialMSTimeout":5000,
"RemoteDNSReadMSTimeout":1500,
"RemoteUDPReadMSTimeout":15000,
"LocalDialMSTimeout":5000,
//Reconnect after 120s
"ReconnectPeriod": 1800,
//ReconnectPeriod rand adjustment, the real reconnect period is random value between [P - adjust, P + adjust]
"RCPRandomAdjustment" : 60,
//Send heartbeat msg to keep alive
"HeartBeatPeriod": 30,
"Compressor":"none",
"KCP":{
"Mode":"fast2"
},
"Hops":[]
}
]
}