Demo: https://lfff.alwaysdata.net
Demo: https://ooooooooooooooooooooooo.ooo/ooooοооoοᴏοoοᴏοoοᴏooοᴏoᴏoᴏооoоᴏᴏoоᴏᴏοоᴏoοоοоοоοоοоοоoоᴏоοоoοοоᴏoοᴏοᴏοоoοοᴏоοοᴏoᴏοоοoοоoοοᴏοoοоoοoоᴏоοоᴏоοоοοοᴏοooоᴏᴏ
代码如下:
export default {
async fetch(request, env, ctx) {
const userAgent = request.headers.get('User-Agent');
const isMobile = /mobile/i.test(userAgent);
const params = new URLSearchParams();
params.append("categories", "010");
params.append("purity", "110"); //🔞
params.append("sorting", "toplist");//random
//params.append("atleast", "1920x1080");
params.append("ratios", isMobile ? "9x16" : "16x9");
params.append("page", (Math.floor(Math.random() * 6) + 1).toString());
params.append("topRange", "1y");
params.append("apikey", "xxxxxxxxxxxxxxxxxxxxxxxxx");
let url = new URL("https://wallhaven.cc/api/v1/search");
url.search = params.toString();
let response = await fetch(url);
let { data } = await response.json();
let item = data[Math.floor(Math.random() * data.length)];
let path = item.path;
let { large, original, small } = item.thumbs;
let r = Math.floor(Math.random() * 3);
return Response.redirect(`https://i${r}.wp.com/` + path.replace('https://', ''), 302);
// return Response.redirect('https://cdn.cdnjson.com/' + path.replace('https://', ''), 302);
//return await fetch(path);
},
};