213 字
1 分钟
在EdgeOne Page Function上搭建一个Github全站反代!
很早就关注了eopf这个平台,今天终于将基于CF Worker的Github全站反代移植过来了!

开始实现
首先请阅读 这篇文章 知晓大致原理。因为EdgeOne Page Function的写法跟Cloudflare Worker差不多
下载 https://r2.072103.xyz/github-eopf.zip 并解压
目录结构为
这里面的每一个JS文件的内容都相同,所以如果需要改请全都改一遍
打开任意一个JS文件,更改域名映射配置
// 域名映射配置const domain_mappings = { 'github.com': 'gh.', 'avatars.githubusercontent.com': 'avatars-githubusercontent-com.', 'github.githubassets.com': 'github-githubassets-com.', 'collector.github.com': 'collector-github-com.', 'api.github.com': 'api-github-com.', 'raw.githubusercontent.com': 'raw-githubusercontent-com.', 'gist.githubusercontent.com': 'gist-githubusercontent-com.', 'github.io': 'github-io.', 'assets-cdn.github.com': 'assets-cdn-github-com.', 'cdn.jsdelivr.net': 'cdn.jsdelivr-net.', 'securitylab.github.com': 'securitylab-github-com.', 'www.githubstatus.com': 'www-githubstatus-com.', 'npmjs.com': 'npmjs-com.', 'git-lfs.github.com': 'git-lfs-github-com.', 'githubusercontent.com': 'githubusercontent-com.', 'github.global.ssl.fastly.net': 'github-global-ssl-fastly-net.', 'api.npms.io': 'api-npms-io.', 'github.community': 'github-community.'};
然后上传到EdgeOne Pages
按照前缀绑定域名
为什么结构目录这么抽象?
-
为什么要放一个
index.html
?并且里面是空的?:因为不放就404 -
为什么要放一个
index.js
和[[default.js]]
?:因为index.js
负责/
的路由,[[default.js]]
负责/*
的路由
在EdgeOne Page Function上搭建一个Github全站反代!
https://www.2x.nz/posts/eopf-github-proxy/