GitHub Proxy 更新 支持多层自我嵌套使用情况 支持脚本内容中使用git.io形式
今天在新开到的VC小鸡上面跑WSS一键脚本.
bash <(curl -L https://github.com/crazypeace/v2ray_wss/raw/main/install.sh) vc2.tzzhu.gq 6
应该是因为小鸡的网络环境的原因, 访问Github资源出错. 安装并不顺利.
用 ghproxy 的页面, 处理了一下安装脚本
bash <(curl -L https://ghproxy.crazypeace.workers.dev/https://github.com/crazypeace/v2ray_wss/raw/main/install.sh | perl -pe "$(curl -L https://ghproxy.crazypeace.workers.dev/perl-pe-para)") vc2.tzzhu.gq 6
再执行, 报错.
curl: (7) Couldn't connect to server
用 bash -x 检查执行过程中到底是什么语句.
发现以下问题
1. 原脚本最后一段调用了 git.io 脚本去开WARP, 如:
bash <(curl -fsSL git.io/warp.sh) 4
经过预处理后, 还是没有把 ghproxy 添加上去, 仍然是原样的形式.
2. 出现了这样子的多层自我嵌套调用的情况
curl -L https://ghproxy.crazypeace.workers.dev/https://ghproxy.crazypeace.workers.dev/perl-pe-para
对问题分别进行处理
1. 多层自我嵌套调用
更新worker.js
path = urlObj.href.substr(urlObj.origin.length + PREFIX.length)// 判断有没有嵌套自己调用自己const exp0 = 'https:/' + urlObj.host + '/'while (path.startsWith(exp0)) {path = path.replace(exp0, '')}// cfworker 会把路径中的 `//` 合并成 `/`path = path.replace(/^https?:\/+/, 'https://')
2. 脚本内容中使用git.io形式
增加了一个查找替换, 如果是 git.io 的裸调用, 前面加上https://
后续的添加ghproxy部分, 原来是判断 github, 改为判断 git
} else if (path==='perl-pe-para') {let reponseText = 's#(curl.*?\\.sh)([^/])#\\1 | perl -pe "\\$(curl -L ' + urlObj.origin + '/perl-pe-para)" \\2#g; s# (git)# https://\\1#g; s#(http.*?git[^/]*?/)#' + urlObj.origin + '/\\1#g';
更新
Github 已更新:
演示页面已更新:
评论
发表评论