mirror of
https://github.com/lush2020/edgetunnel.git
synced 2026-03-21 08:52:43 +08:00
添加SCV选项以控制TLS证书验证,更新相关文档
This commit is contained in:
@@ -138,6 +138,7 @@
|
||||
| KEY | `token` |❌| 动态UUID秘钥,使用变量`KEY`的时候,将不再启用变量`UUID`| |
|
||||
| TIME | `7` |❌| 动态UUID有效时间(默认值:`7`天)| |
|
||||
| UPTIME | `3` |❌| 动态UUID更新时间(默认值:北京时间`3`点更新) | |
|
||||
| SCV | `false`或`0` |❌| 是否跳过TLS证书验证(默认`true`开启跳过证书验证) | |
|
||||
| PROXYIP | `proxyip.cmliussss.net:443` |❌| 备选作为访问CFCDN站点的代理节点(支持自定义ProxyIP端口, 支持多ProxyIP, ProxyIP之间使用`,`或`换行`作间隔) | [Video](https://www.youtube.com/watch?v=s91zjpw3-P8&t=166s) |
|
||||
| SOCKS5 | `user:password@127.0.0.1:1080` |❌| 优先作为访问CFCDN站点的SOCKS5代理(支持多socks5, socks5之间使用`,`或`换行`作间隔) | [Video](https://www.youtube.com/watch?v=s91zjpw3-P8&t=826s) |
|
||||
| GO2SOCKS5 | `blog.cmliussss.com`,`*.ip111.cn`,`*google.com` |❌| 设置`SOCKS5`变量之后,可设置强制使用socks5访问名单(`*`可作为通配符,`换行`作多元素间隔) ||
|
||||
|
||||
18
明文源码.js
18
明文源码.js
@@ -46,6 +46,8 @@ let path = '/?ed=2560';
|
||||
let 动态UUID;
|
||||
let link = [];
|
||||
let banHosts = [atob('c3BlZWQuY2xvdWRmbGFyZS5jb20=')];
|
||||
let SCV = 'true';
|
||||
let allowInsecure = '&allowInsecure=1';
|
||||
export default {
|
||||
async fetch(request, env, ctx) {
|
||||
try {
|
||||
@@ -148,6 +150,9 @@ export default {
|
||||
RproxyIP = 'false';
|
||||
}
|
||||
|
||||
SCV = env.SCV || SCV;
|
||||
if (!SCV || SCV == '0' || SCV == 'false') allowInsecure = '';
|
||||
else SCV = 'true';
|
||||
const 路径 = url.pathname.toLowerCase();
|
||||
if (路径 == '/') {
|
||||
if (env.URL302) return Response.redirect(env.URL302, 302);
|
||||
@@ -1205,8 +1210,8 @@ function 配置信息(UUID, 域名地址) {
|
||||
传输层安全 = ['', false];
|
||||
}
|
||||
|
||||
const 威图瑞 = `${协议类型}://${用户ID}@${地址}:${端口}\u003f\u0065\u006e\u0063\u0072\u0079` + 'p' + `${atob('dGlvbj0=') + 加密方式}\u0026\u0073\u0065\u0063\u0075\u0072\u0069\u0074\u0079\u003d${传输层安全[0]}&sni=${SNI}&fp=${指纹}&type=${传输层协议}&host=${伪装域名}&path=${encodeURIComponent(路径)}&allowInsecure=1&fragment=1,40-60,30-50,tlshello#${encodeURIComponent(别名)}`;
|
||||
const 猫猫猫 = `- {name: ${FileName}, server: ${地址}, port: ${端口}, type: ${协议类型}, uuid: ${用户ID}, tls: ${传输层安全[1]}, alpn: [h3], udp: false, sni: ${SNI}, tfo: false, skip-cert-verify: true, servername: ${伪装域名}, client-fingerprint: ${指纹}, network: ${传输层协议}, ws-opts: {path: "${路径}", headers: {${伪装域名}}}}`;
|
||||
const 威图瑞 = `${协议类型}://${用户ID}@${地址}:${端口}\u003f\u0065\u006e\u0063\u0072\u0079` + 'p' + `${atob('dGlvbj0=') + 加密方式}\u0026\u0073\u0065\u0063\u0075\u0072\u0069\u0074\u0079\u003d${传输层安全[0]}&sni=${SNI}&fp=${指纹}&type=${传输层协议}&host=${伪装域名}&path=${encodeURIComponent(路径) + allowInsecure}&fragment=1,40-60,30-50,tlshello#${encodeURIComponent(别名)}`;
|
||||
const 猫猫猫 = `- {name: ${FileName}, server: ${地址}, port: ${端口}, type: ${协议类型}, uuid: ${用户ID}, tls: ${传输层安全[1]}, alpn: [h3], udp: false, sni: ${SNI}, tfo: false, skip-cert-verify: ${SCV}, servername: ${伪装域名}, client-fingerprint: ${指纹}, network: ${传输层协议}, ws-opts: {path: "${路径}", headers: {${伪装域名}}}}`;
|
||||
return [威图瑞, 猫猫猫];
|
||||
}
|
||||
|
||||
@@ -1457,6 +1462,7 @@ async function 生成配置信息(userID, hostName, sub, UA, RproxyIP, _url, fak
|
||||
UUID: ${userID}<br>
|
||||
FKID: ${fakeUserID}<br>
|
||||
UA: ${UA}<br>
|
||||
SCV(跳过TLS证书验证): ${SCV}<br>
|
||||
${订阅器}<br>
|
||||
---------------------------------------------------------------<br>
|
||||
################################################################<br>
|
||||
@@ -1541,13 +1547,13 @@ async function 生成配置信息(userID, hostName, sub, UA, RproxyIP, _url, fak
|
||||
|
||||
if (!userAgent.includes(('CF-Workers-SUB').toLowerCase()) && !_url.searchParams.has('b64') && !_url.searchParams.has('base64')) {
|
||||
if ((userAgent.includes('clash') && !userAgent.includes('nekobox')) || (_url.searchParams.has('clash') && !userAgent.includes('subconverter'))) {
|
||||
url = `${subProtocol}://${subConverter}/sub?target=clash&url=${encodeURIComponent(url)}&insert=false&config=${encodeURIComponent(subConfig)}&emoji=${subEmoji}&list=false&tfo=false&scv=true&fdn=false&sort=false&new_name=true`;
|
||||
url = `${subProtocol}://${subConverter}/sub?target=clash&url=${encodeURIComponent(url)}&insert=false&config=${encodeURIComponent(subConfig)}&emoji=${subEmoji}&list=false&tfo=false&scv=${SCV}&fdn=false&sort=false&new_name=true`;
|
||||
isBase64 = false;
|
||||
} else if (userAgent.includes('sing-box') || userAgent.includes('singbox') || ((_url.searchParams.has('singbox') || _url.searchParams.has('sb')) && !userAgent.includes('subconverter'))) {
|
||||
url = `${subProtocol}://${subConverter}/sub?target=singbox&url=${encodeURIComponent(url)}&insert=false&config=${encodeURIComponent(subConfig)}&emoji=${subEmoji}&list=false&tfo=false&scv=true&fdn=false&sort=false&new_name=true`;
|
||||
url = `${subProtocol}://${subConverter}/sub?target=singbox&url=${encodeURIComponent(url)}&insert=false&config=${encodeURIComponent(subConfig)}&emoji=${subEmoji}&list=false&tfo=false&scv=${SCV}&fdn=false&sort=false&new_name=true`;
|
||||
isBase64 = false;
|
||||
} else if (userAgent.includes('loon') || (_url.searchParams.has('loon') && !userAgent.includes('subconverter'))) {
|
||||
url = `${subProtocol}://${subConverter}/sub?target=loon&url=${encodeURIComponent(url)}&insert=false&config=${encodeURIComponent(subConfig)}&emoji=${subEmoji}&list=false&tfo=false&scv=true&fdn=false&sort=false&new_name=true`;
|
||||
url = `${subProtocol}://${subConverter}/sub?target=loon&url=${encodeURIComponent(url)}&insert=false&config=${encodeURIComponent(subConfig)}&emoji=${subEmoji}&list=false&tfo=false&scv=${SCV}&fdn=false&sort=false&new_name=true`;
|
||||
isBase64 = false;
|
||||
}
|
||||
}
|
||||
@@ -1845,7 +1851,7 @@ function 生成本地订阅(host, UUID, noTLS, newAddressesapi, newAddressescsv,
|
||||
}
|
||||
|
||||
const 协议类型 = atob(啥啥啥_写的这是啥啊);
|
||||
const 维列斯Link = `${协议类型}://${UUID}@${address}:${port + atob('P2VuY3J5cHRpb249bm9uZSZzZWN1cml0eT10bHMmc25pPQ==') + 伪装域名}&fp=random&type=ws&host=${伪装域名}&path=${encodeURIComponent(最终路径)}&allowInsecure=1&fragment=1,40-60,30-50,tlshello#${encodeURIComponent(addressid + 节点备注)}`;
|
||||
const 维列斯Link = `${协议类型}://${UUID}@${address}:${port + atob('P2VuY3J5cHRpb249bm9uZSZzZWN1cml0eT10bHMmc25pPQ==') + 伪装域名}&fp=random&type=ws&host=${伪装域名}&path=${encodeURIComponent(最终路径) + allowInsecure}&fragment=1,40-60,30-50,tlshello#${encodeURIComponent(addressid + 节点备注)}`;
|
||||
|
||||
return 维列斯Link;
|
||||
}).join('\n');
|
||||
|
||||
Reference in New Issue
Block a user