在Replit上跑cloudflare的workers脚本 运行gh-proxy 墙内VPS访问GITHUB资源

之前为了解决访问github资源的问题, 在cloudflare的worker上面搭了一个ghproxy. 

而workers.dev域名被墙了, 如果没有自己的域名的话, 没办法用自定义路由的方式. 

现在有一些免费域名和便宜的域名 

除此之外, 我们还可以利用Replit域名没有被墙, 搭建ghproxy.


注册Replit

https://replit.com/

略.


Cloudflare的Worker的模板

https://replit.com/@Cloudflare/Cloudflare-Workers

Replit上打开Cloudflare Workers模板点Use Template

名称填ghproxy再点Use Template


初始化环境

点击 Run 按钮

点Run按钮初始化环境

过程中都直接回车默认就好

过程中一路回车用默认值

部署Worker环境

再点击 Run 按钮

再点Run部署Worker环境

过程中直接回车默认就好

同样直接回车默认即可

如果看到这样的结果, 说明前面的操作都是OK的.

Web框里显示Hello World就说明前面OK


使用自己的Worker脚本内容

打开 src/index.ts, 里面的内容全部删掉.

打开src/index.ts把内容全删掉

换成自己的 js 脚本内容.

比如, 换成 https://github.com/crazypeace/gh-proxy/blob/master/worker.js 的内容.


项目重启

点 Stop, 再点 Run.

换成自己的worker.js内容后Stop再Run


如果看到 web 框里面显示正确就OK了.

web框显示正确就OK


把域名拿到浏览器里面, 不翻墙访问试试. 功能也是正常的.

https://ghproxy.crazypeace.repl.co/

https://ghproxy--crazypeace.repl.co/

不翻墙访问ghproxy--crazypeace.repl.co也行

此时, 在命令行中使用, 功能也是正常的. 比如,
bash <(curl -L https://ghproxy.crazypeace.repl.co/https://github.com/crazypeace/warp.sh/raw/main/warp.sh)
bash <(curl -L https://ghproxy--crazypeace.repl.co/https://github.com/crazypeace/warp.sh/raw/main/warp.sh)


===========

后记

需要注意的是, .repl.co 域名只有 IPV4的解析, 也就是说这个方案可以用于在墙内的IPV4机器上访问GITHUB资源, 不可以用于在纯IPV6机器上访问GITHUB资源.

过段时间 Replit 项目会自己休眠, 之后不管是通过浏览器访问网页, 还是丢到命令行里当ghproxy使用, 第一次都会异常. 等几秒钟再重复执行一次, 结果就正常了. 如果开着Replit后台能很清楚地看到这个启动的过程.


===========

update

经过时间比较长之后再访问 Replit 搭建的 gh-proxy, 会发现一直卡住.

登录 Replit 后台一看, 已经启动了, 但是卡在这个提问的步骤.

放置久了会卡在指标提问,要设Secret

读 Readme.md, 里面写了设置的方法

Readme里说设WRANGLER_SEND_METRICS

在左边工具栏里展开 Tools, 点击 Secrets

左边Tools面板里点Secrets

在右边的窗口里添加一个Secret, Key为WRANGLER_SEND_METRICS, Value为true或者false都可以.

新增Secret,Value填true或false

再试试. 过比较久之后 访问网页或者命令行调用, 第一次会失败, 等几秒钟之后 重试, 功能就正常了.


评论