Cloudflare Pages多账户反代代码应用说明
- 获取链接
- X
- 电子邮件
- 其他应用
【甬哥YouTube教程】拯救被墙的workers反代:Heroku三合一共存协议项目发布,简析三种设置pages反代方式,workers反代与pages反代套自定义域名最详细教程,直连地址,反代地址,自选域名地址大测试
请先了解上面的教程后,再执行以下操作,以免出问题!
操作注意点:
1、无论使用“项目代码拉取模式”、“文件夹目录上传模式”还是“ZIP压缩上传模式”,请把文件名称一律改为_worker.js(js格式),视频教程中已演示
2、修改_worker.js中的url.hostname="app.example.com"中的app.example.com为你要反代的网址
3、使用本地上传模式时,你可能犹豫是先改js文件名,还是先改文件内的代码?无所谓先后,随意
4、以下三个多账户代码取自网络上workers反代的多账户写法,并参考Pages单账户反代代码项目
建议:比如heroku双账号,一般选择单双日轮换,可分别用两个账号的应用程序名(代理协议、PATH路径、UUID保持一致),单双号天分别执行,那一个月就有550+550小时,heroku一个账户默认每月最多免费使用550小时
以下代码你也可以放置在Github上,只要在Github上更改网址,最终的pages反代内容会自动同步你的更改。。
CloudFlare Pages单双日轮换反代代码
export default {
async fetch(request, env) {
const SingleDay = 'app0.example.com'
const DoubleDay = 'app1.example.com'
let host = ''
let nd = new Date();
if (nd.getDate()%2) {
host = SingleDay
} else {
host = DoubleDay
}
let url = new URL(request.url);
if (url.pathname.startsWith('/')) {
url.hostname=host;
let new_request=new Request(url,request);
return fetch(new_request);
}
// Otherwise, serve the static assets.
return env.ASSETS.fetch(request);
}
};
CloudFlare Pages每五天轮换一遍式反代代码
export default {
async fetch(request, env) {
const Day0 = 'app0.example.com'
const Day1 = 'app1.example.com'
const Day2 = 'app2.example.com'
const Day3 = 'app3.example.com'
const Day4 = 'app4.example.com'
let host = ''
let nd = new Date();
let day = nd.getDate() % 5;
if (day === 0) {
host = Day0
} else if (day === 1) {
host = Day1
} else if (day === 2) {
host = Day2
} else if (day === 3){
host = Day3
} else if (day === 4){
host = Day4
} else {
host = Day1
}
let url = new URL(request.url);
if (url.pathname.startsWith('/')) {
url.hostname=host;
let new_request=new Request(url,request);
return fetch(new_request);
}
// Otherwise, serve the static assets.
return env.ASSETS.fetch(request);
}
};
CloudFlare Pages一周轮换反代代码
export default {
async fetch(request, env) {
const Day0 = 'app0.example.com'
const Day1 = 'app1.example.com'
const Day2 = 'app2.example.com'
const Day3 = 'app3.example.com'
const Day4 = 'app4.example.com'
const Day5 = 'app5.example.com'
const Day6 = 'app6.example.com'
let host = ''
let nd = new Date();
let day = nd.getDay();
if (day === 0) {
host = Day0
} else if (day === 1) {
host = Day1
} else if (day === 2) {
host = Day2
} else if (day === 3){
host = Day3
} else if (day === 4) {
host = Day4
} else if (day === 5) {
host = Day5
} else if (day === 6) {
host = Day6
} else {
host = Day1
}
let url = new URL(request.url);
if (url.pathname.startsWith('/')) {
url.hostname=host;
let new_request=new Request(url,request);
return fetch(new_request);
}
// Otherwise, serve the static assets.
return env.ASSETS.fetch(request);
}
};
- 获取链接
- X
- 电子邮件
- 其他应用
评论
我修改了一下代码,域名直接加在数组里就可以了,多少个都没问题。
回复删除export default {
async fetch(request, env) {
const cars = [
"app1.example.com",
"app2.example.com",
"app3.example.com",
"app4.example.com",
"app5.example.com"
];
let host = cars[Math.floor(Math.random() * cars.length)]; //随机选择VPS
//let host = cars[new Date().getDate() % cars.length]; //每天自动更换VPS
let url = new URL(request.url);
if (url.pathname.startsWith('/')) {
url.hostname = host;
let new_request = new Request(url,request);
return fetch(new_request);
}
return env.ASSETS.fetch(request);
}
};
感谢这位大神的代码贡献!!
删除多賬戶不穩定容易儅機睡覺和掉速度
删除域名也可以跟着项目随机更换就完美了
回复删除用GITHUB连接就可以。在GITHUB上的改动自动同步到pages反代地址
删除勇哥,请问博客中的代码是怎么实现的?md文档是```bash ```,但是blogger怎么实现?求指点一二。
回复删除https://tsungsquare.blogspot.com/2020/01/blogger-bloggergoogle-code-prettify.html
删除最近發現有的賬號使用pages反向代理需要跳過證書驗證才可以,有的賬號不用跳過證書驗證就能使用,有人知道是怎麽回事嗎?
回复删除这个无解呀
删除https端口可以自选ip吗?
回复删除可以。。看来我要出一期间视频了。。
删除