全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 2108|回复: 15
打印 上一主题 下一主题

国内鸡连不上github的解决方法(并不完美)

[复制链接]
跳转到指定楼层
1#
发表于 2020-5-1 15:35:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 嗷嗷 于 2020-5-1 15:37 编辑

说其中一个案例,用国内鸡鸡用一键脚本的时候,连接github可能会超时


比如这个逗比的haproxy脚本

  1. wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/haproxy.sh && chmod +x haproxy.sh && bash haproxy.sh
复制代码


返回了【失败:拒绝连接】

  1. [root@coal ~]# wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/haproxy.sh && chmod +x haproxy.sh && bash haproxy.sh
  2. --2020-05-01 14:38:37--  https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/haproxy.sh
  3. 正在解析主机 raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.228.133
  4. 正在连接 raw.githubusercontent.com (raw.githubusercontent.com)|151.101.228.133|:443... 失败:拒绝连接。
复制代码



众所周知,jsdelivr可以给github加速

引用jsdelivr官方的说明
// load any GitHub release, commit, or branch
// note: we recommend using npm for projects that support it
https://cdn.jsdelivr.net/gh/user/repo@version/file

// load jQuery v3.2.1
https://cdn.jsdelivr.net/gh/jquery/[email protected]/dist/jquery.min.js

// use a version range instead of a specific version
https://cdn.jsdelivr.net/gh/jquery/[email protected]/dist/jquery.min.js
https://cdn.jsdelivr.net/gh/jquery/jquery@3/dist/jquery.min.js

// omit the version completely to get the latest one
// you should NOT use this in production
https://cdn.jsdelivr.net/gh/jquery/jquery/dist/jquery.min.js

// add ".min" to any JS/CSS file to get a minified version
// if one doesn't exist, we'll generate it for you
https://cdn.jsdelivr.net/gh/jquery/[email protected]/src/core.min.js

// add / at the end to get a directory listing
https://cdn.jsdelivr.net/gh/jquery/jquery/


所以

github链接是【https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/haproxy.sh】

jsdelivr链接是【https://cdn.jsdelivr.net/gh/ToyoDAdoubi/doubi@master/haproxy.sh】
又或者是这样【https://cdn.jsdelivr.net/gh/ToyoDAdoubi/doubi/haproxy.sh】

对比一下,域名变成了cdn.jsdelivr.net,后面接gh,是github的缩写。还有就是分支master也要变一下

所以脚本就从
  1. wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/haproxy.sh && chmod +x haproxy.sh && bash haproxy.sh
复制代码

变成了
  1. wget -N --no-check-certificate https://cdn.jsdelivr.net/gh/ToyoDAdoubi/doubi@master/haproxy.sh && chmod +x haproxy.sh && bash haproxy.sh
复制代码


成功连接上了
  1. [root@coal ~]# wget -N --no-check-certificate https://cdn.jsdelivr.net/gh/ToyoDAdoubi/doubi@master/haproxy.sh && chmod +x haproxy.sh && bash haproxy.sh
  2. --2020-05-01 14:46:17--  https://cdn.jsdelivr.net/gh/ToyoDAdoubi/doubi@master/haproxy.sh
  3. 正在解析主机 cdn.jsdelivr.net (cdn.jsdelivr.net)... 119.188.13.98, 112.240.60.77
  4. 正在连接 cdn.jsdelivr.net (cdn.jsdelivr.net)|119.188.13.98|:443... 已连接。
  5. 已发出 HTTP 请求,正在等待回应... 200 OK
复制代码


不过这样只能让你连接上【haproxy.sh】这个脚本文件,但是如果脚本内引用了github的文件,还是有可能连接不上


此时假设【haproxy.sh】内有引用【raw.githubusercontent.com】的文件

我们可以用sed命令批量替换链接

  1. sed -i 's/查找的字符串/替换的字符串/g' 文件
复制代码


配合正则语法应该就是
  1. 算了我不会
复制代码


正则个锤子,弄了半个小时死活弄不好,直接写死,行就行,不行就算了,如果分支不是master就不行了

  1. sed -i 's/raw.githubusercontent.com/cdn.jsdelivr.net\/gh/g' haproxy.sh
  2. sed -i 's/\/master\//@master\//g' haproxy.sh
复制代码



推荐
发表于 2020-5-1 15:42:28 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
2#
发表于 2020-5-1 15:38:50 | 只看该作者
支持一下楼主
3#
发表于 2020-5-1 15:40:05 | 只看该作者
改个dns最方便
5#
发表于 2020-5-1 15:43:58 | 只看该作者
jsdelivr也是各位mjj的最爱,反正能白女要的mjj都爱
6#
发表于 2020-5-1 15:52:57 | 只看该作者
vim /etc/hosts  换hosts,就嗯换
7#
发表于 2020-5-1 16:26:51 | 只看该作者
好用 感谢楼主 这样就不用自己反代了 不知道有没有一键转换工具 没有的话开发一个应该很有市场
8#
发表于 2020-5-1 17:10:24 | 只看该作者
支持技术贴,给楼主顶了
9#
发表于 2020-5-1 17:11:28 | 只看该作者
hosts解决比较省事,
151.101.108.133  raw.githubusercontent.com
192.30.253.112 github.com
10#
发表于 2020-5-1 17:44:21 | 只看该作者
yuzo555 发表于 2020-5-1 15:42
全局代理解决一切

鸡怎么全局代理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-11-10 05:44 , Processed in 0.134518 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表