From 37ed483fc814eda8875d76ceeb5419dd91041c3b Mon Sep 17 00:00:00 2001 From: cmliu Date: Fri, 13 Dec 2024 04:29:36 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BE=8E=E5=8C=96=E4=BC=98=E9=80=89=E8=AE=A2?= =?UTF-8?q?=E9=98=85=E5=88=97=E8=A1=A8=E7=BC=96=E8=BE=91UI=EF=BC=9B=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=BB=91=E5=90=8D=E5=8D=95=EF=BC=8C=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=B1=8F=E8=94=BDcf=E6=B5=8B=E9=80=9F=E5=9F=9F?= =?UTF-8?q?=E4=BF=9D=E6=8A=A4ProxyIP=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 明文源码.js | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/明文源码.js b/明文源码.js index 48a0009..4ae764a 100644 --- a/明文源码.js +++ b/明文源码.js @@ -46,6 +46,7 @@ let proxyIPPool = []; let path = '/?ed=2560'; let 动态UUID; let link = []; +let banHosts = [atob('c3BlZWQuY2xvdWRmbGFyZS5jb20=')]; export default { async fetch(request, env, ctx) { try { @@ -93,7 +94,7 @@ export default { socks5Address = socks5Address.split('//')[1] || socks5Address; if (env.GO2SOCKS5) go2Socks5s = await 整理(env.GO2SOCKS5); if (env.CFPORTS) httpsPorts = await 整理(env.CFPORTS); - + if (env.BAN) banHosts = await 整理(env.BAN); if (socks5Address) { try { parsedSocks5Address = socks5AddressParser(socks5Address); @@ -329,8 +330,13 @@ async function 维列斯OverWSHandler(request) { return handleDNSQuery(rawClientData, webSocket, 维列斯ResponseHeader, log); } // 处理 TCP 出站连接 - log(`处理 TCP 出站连接 ${addressRemote}:${portRemote}`); - handleTCPOutBound(remoteSocketWapper, addressType, addressRemote, portRemote, rawClientData, webSocket, 维列斯ResponseHeader, log); + if (!banHosts.includes(addressRemote)) { + log(`处理 TCP 出站连接 ${addressRemote}:${portRemote}`); + handleTCPOutBound(remoteSocketWapper, addressType, addressRemote, portRemote, rawClientData, webSocket, 维列斯ResponseHeader, log); + } else { + log(`黑名单关闭 TCP 出站连接 ${addressRemote}:${portRemote}`); + tcpSocket.close(); + } }, close() { log(`readableWebSocketStream 已关闭`); @@ -1204,7 +1210,7 @@ function 配置信息(UUID, 域名地址) { } let subParams = ['sub','base64','b64','clash','singbox','sb']; - +const cmad = decodeURIComponent(atob('dGVsZWdyYW0lMjAlRTQlQkElQTQlRTYlQjUlODElRTclQkUlQTQlMjAlRTYlOEElODAlRTYlOUMlQUYlRTUlQTQlQTclRTQlQkQlQUMlN0UlRTUlOUMlQTglRTclQkElQkYlRTUlOEYlOTElRTclODklOEMhJTNDYnIlM0UKJTNDYSUyMGhyZWYlM0QlMjdodHRwcyUzQSUyRiUyRnQubWUlMkZDTUxpdXNzc3MlMjclM0VodHRwcyUzQSUyRiUyRnQubWUlMkZDTUxpdXNzc3MlM0MlMkZhJTNFJTNDYnIlM0UKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJTNDYnIlM0UKZ2l0aHViJTIwJUU5JUExJUI5JUU3JTlCJUFFJUU1JTlDJUIwJUU1JTlEJTgwJTIwU3RhciFTdGFyIVN0YXIhISElM0NiciUzRQolM0NhJTIwaHJlZiUzRCUyN2h0dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRmNtbGl1JTJGZWRnZXR1bm5lbCUyNyUzRWh0dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRmNtbGl1JTJGZWRnZXR1bm5lbCUzQyUyRmElM0UlM0NiciUzRQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0lM0NiciUzRQolMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjM=')); /** * @param {string} userID * @param {string | null} hostName @@ -1404,7 +1410,7 @@ async function 生成配置信息(userID, hostName, sub, UA, RproxyIP, _url, env ${clash}
---------------------------------------------------------------
################################################################
- ${decodeURIComponent(atob('dGVsZWdyYW0lMjAlRTQlQkElQTQlRTYlQjUlODElRTclQkUlQTQlMjAlRTYlOEElODAlRTYlOUMlQUYlRTUlQTQlQTclRTQlQkQlQUMlN0UlRTUlOUMlQTglRTclQkElQkYlRTUlOEYlOTElRTclODklOEMhJTNDYnIlM0UKJTNDYSUyMGhyZWYlM0QlMjdodHRwcyUzQSUyRiUyRnQubWUlMkZDTUxpdXNzc3MlMjclM0VodHRwcyUzQSUyRiUyRnQubWUlMkZDTUxpdXNzc3MlM0MlMkZhJTNFJTNDYnIlM0UKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJTNDYnIlM0UKZ2l0aHViJTIwJUU5JUExJUI5JUU3JTlCJUFFJUU1JTlDJUIwJUU1JTlEJTgwJTIwU3RhciFTdGFyIVN0YXIhISElM0NiciUzRQolM0NhJTIwaHJlZiUzRCUyN2h0dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRmNtbGl1JTJGZWRnZXR1bm5lbCUyNyUzRWh0dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRmNtbGl1JTJGZWRnZXR1bm5lbCUzQyUyRmElM0UlM0NiciUzRQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0lM0NiciUzRQolMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjM='))} + ${cmad} `; return 节点配置页; } else { @@ -1900,13 +1906,13 @@ async function KV(request, env, txt = '/ADD.txt') { - KV编辑器 + 优选订阅列表 + ################################################################
+ ${FileName} 优选订阅列表:
+ ---------------------------------------------------------------
${hasKV ? `