请问有没有办法让 Linux 访问到 github 的时候自动添加加速域名?
比如只要检测到访问 github 地址就自动在 url 前面加上 mirror.ghproxy.com/
别说什么梯子了,你会在服务器上搭建梯子吗
因为是一台阿里云服务器,并不想在服务器里面挂梯子,访问 github 的需求是有一些定时运行的脚本,会访问到 github ,对其他的没有需求
在路由器上做个劫持吧,其他没啥好的方案
考虑到 https ,劫持都不好做,还是弄个梯子吧
github.com/jiacai2050/gooreplacer
~/.gitconfig
[url " ghproxy.com/ github.com/"]
insteadOf = github.com/
装个 Windows 用 proxifier
一种可行的方案就是自己弄个根证书签个私有的 github 证书,然后设置 github.com 解析都 127.0.0.1 ,然后在本机配置 nginx 转发到 mirror.ghproxy.com/估计行
不过似乎太麻烦了吧,简单一点为 github.com 在 hosts 中设置一个固定地址,然后配置 iptables 配置地址端口重写把该地址的流量转到你的加速代理就好了吧,为了把普通流量解析成代理协议,之前写过一个脚本
python3 -m sevent.helpers.arproxy -h
先 pip install sevent 包,这个脚本会解析 http 和 tls 头提取访问域名,然后使用你指定的代理协议转发到你配置的代理服务器来代理访问,你可以试试看能不能满足你的需求
用浏览器插件最方便,你可以看看这个插件行不行 chrome.google.com/webstore/detail/requestly-modify-headers/mdnleldcmiljblolnjhpnblkcekpdkpa
不行就按 google 跳转到 cn 站点的插件改写一下 github.com/chenzhuo914/google-cn-devsites-extension
不好意思,好像没考虑到命令行
fake-ip ,劫持本机 dns 然后把 github 解析到 198 之类的非公网地址上,然后在本机注册一个 tun 设备处理这些流量给它加代理(没错我说的就是 clash 的 tun 模式)
如果是脚本里,可以来个判断.
PROXY_URL=" ghproxy.com"
GOOGLE_HTTP_CODE=$(curl -o /dev/null --connect-timeout 5 --max-time 8 -s --head -w "%{http_code}" " www.google.com")
PROXY_HTTP_CODE=$(curl -o /dev/null --connect-timeout 5 --max-time 8 -s --head -w "%{http_code}" "${PROXY_URL}")
if [ $GOOGLE_HTTP_CODE == "200" ]; then
curl -L -O raw.githubusercontent.com/.../.../...
else
if [ $PROXY_HTTP_CODE == "200" ]; then
curl -L -O ${PROXY_URL} raw.githubusercontent.com/.../.../...
else
curl -L -O raw.githubusercontent.com/.../.../...
fi
fi
接上文,变量少个 /
PROXY_URL=" ghproxy.com/"
我刚刚闲得蛋疼想了下还有另外一个办法,稍微有点复杂,需要几个服务:
1.dns 服务器,或者 hosts……不管哪种,把 URL 解析到要么本机或者专门的内网虚拟机。建议后者,前者容易抽风。
2.apache 或者 nginx (反正某种 web 服务器)开启 URL Rewrite 模块,配置重写 URL 规则( rewrite 到你要的域名)。http 和 https 都要配置。注意:这台机器的 DNS 不可访问或请求上面 1 的 DNS 。
3.用于给 2 的服务使用的、自己添加信任的 SSL 证书,用于支持 2 的 https 访问。
这样搞一下应该可以实现无痕转发(就是你访问 github.com 实际上被 dns 先劫持到本地的服务器,然后本地的服务器反代到加速网址)。我以前用 Windows server 搞过内网部分劫持 ubuntu 源加速就用的这个类似的手法,只是我的 HTTP 服务器就在本地,所以没有做反向代理。
直接用 clash 翻墙不就行了吗?
没必要 全程梯子就行了
都上 V2EX 了 还用教怎么魔法上 github 吗?
github.com/dotnetcore/FastGithub
git 源
GIT_SSL_NO_VERIFY=1 git clone gh-cf.mirr.one/bot-h/kodbox.git
GIT_SSL_NO_VERIFY=1 git clone gh.gcdn.mirr.one/bot-h/kodbox.git
githubusercontent 全域.githubusercontent.com
-> -gh.mirr.one
raw-gh.mirr.one/initdc/vvtt/master/gen.sh
github 到 ghuser 自动跳转
gh-rep.mirr.one/initdc/vvtt/raw/master/gen.sh
githubusercontent 全域
.githubusercontent.com -> -ghuser.mirr.one
raw-ghuser.mirr.one/initdc/vvtt/master/gen.sh
这种另类需求只有挂代理最简单,做劫持只会更麻烦。命令行下装个图形界面,再上个代理程序其实很快就能解决问题
为啥不能挂代理呢?根本不需要装图形界面,直接一个 clash-core 就能解决问题,而且也不用服务器全局走代理工作,你只需要在下载脚本之前,export 环境变量就行了。
直接油猴脚本判断跳转不就完事了
http 代理挺好的
下面是一个《Teach Yourself C++ in 21 Days》的流程图,请各位程序员同仁认真领会。如果有必要,你可以查看这个图书以作参照:http://www.ch…
框架自动生成的代码: ``` [HttpGet] public async Task GetDocItem() { return await _context.DocIte…
Readest 📚 给大家推荐一款全新的开源电子书阅读器 —— Readest,专为追求沉浸式深度阅读体验的用户打造! Readest 是经典阅读器 Foliate 的现代化…