直接套换模式需要CLNC1.4.5版本
variables {
dst_ip = 10.0.0.200:80;
dns_ip = 119.29.29.29;
}
#######UDP部分########
httpUDP::udp {
//如果搭建了cns服务器可以删除下面的斜杠(尽量不搭建443端口)
//udp_socks5_listen = 0.0.0.0:1081;
//udp_tproxy_listen = 0.0.0.0:6650;
destAddr = ${dst_ip};
httpMod = tunnel;
header_host = 服务器IP:端口;
encrypt = 密码;
}
tcp::Global {
tcp_listen = :::6650;
}
tcpProxy::http_proxy {
//HTTP代理地址
destAddr = ${dst_ip};
httpMod = http;
}
//HTTP模式
httpMod::http {
del_line = host;
del_line = X-Online-Host;
del_line = User-Agent;
set_first = "[M] [U] [V]\r\nHost:mmsc.vnet.mobi\r\nHost: [H]\r\n";
}
tcpProxy::https_proxy {
//HTTPS代理地址
destAddr = ${dst_ip};
tunnelHttpMod = tunnel;
tunnel_proxy = on;
}
//HTTPS模式
httpMod::tunnel {
del_line = host;
del_line = X-Online-Host;
del_line = User-Agent;
set_first = "[M] [H] [V]\r\nHost:mmsc.vnet.mobi[H]\r\nX-Online-Host:mmsc.vnet.mobi[H]\r\n";
}
//ssl端口先建立CONNECT连接
tcpAcl::firstConnect {
tcpProxy = https_proxy;
matchMode = firstMatch;
//读取数据后尝试匹配tcpAcl::http模块
reMatch = http;
continue: dst_port != 80;
continue: dst_port != 8080;
dst_port != 6650;
}
//匹配普通http请求
tcpAcl::http {
tcpProxy = http_proxy;
continue: method != IS_NOT_HTTP;
reg_string != WebSocket;
}
//其他请求使用CONNECT代理
tcpAcl::CONNECT {
tcpProxy = https_proxy;
dst_port != 0;
}
dns::Global {
dns_listen = :::6653;
cachePath = /dev/null;
cacheLimit = 512;
}
dnsAcl {
httpMod = http;
//HTTP代理地址
destAddr = ${dst_ip};
header_host = ${dns_ip};
query_type = A;
query_type = AAAA;
}
//用于接收socks5请求
socks5::recv_socks5 {
socks5_listen = 0.0.0.0:1081;
socks5_dns = 127.0.0.1:6653;
handshake_timeout = 60;
}
Tun {
tunAddr = 10.0.0.1;
tunDevice = tunDev;
}
内容加载中...