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]]负责/*的路由
发现错误或想要改进这篇文章?
在 GitHub 上编辑此页 在EdgeOne Page Function上搭建一个Github全站反代!