背景
halo博客的首页一直都是同一张图片,时间长了有点视觉疲劳,希望首页能够每天变化,刚好Bing的每日壁纸满足这个需求,且图片质量都挺不错的,于是通过CF+子域名,将自定义链接重定向到Bing的每日壁纸图片链接
这个链接是Bing每日壁纸的官方API,这个API返回的images属性里就是图片的路径
https://www.bing.com 拼接路径得到链接,如
基本原理清楚了,接下来在CF上配置
配置cloudflare
登录cloudflare,左侧功能栏选择“workers和pages”,点击“创建”,“创建worker”,直接点击“部署”,点击“编辑代码”,然后将下面的代码替换进去
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const bingUrl = 'https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh-CN';
try {
*// 获取 Bing 壁纸的 JSON 数据*
const response = await fetch(bingUrl);
const data = await response.json();
*// 获取图片的 URL*
const imageUrl = `https://www.bing.com${data.images[0].url}`;
*// 返回 302 重定向,跳转到图片 URL*
return Response.redirect(imageUrl, 302);
} catch (error) {
return new Response('Failed to fetch Bing wallpaper', { status: 500 });
}
}
点击“部署”,就能通过cloudflare自动生成的链接进行访问
正常这一步就结束了,但是cloudflare的workers域名国内不能访问,所以如果有一个自己的域名,可以将该worker配置到自己的域名上,就能正常访问了
配置域名
进入该worker的配置页面
添加一条“域”或者“路由”
“域”可以将一个域名或子域名解析到该worker,“路由”可以将某个路径(可以存在通配符)解析到该worker,我这里配置的是“路由”
至此,就可以通过我们的域名重定向到Bing的今日壁纸了
我是halo博客,其它类型的博客应该也是对应的操作,进入对应功能设置首页背景图
https://wallpaper.xsto.top/today这是我配置好的链接,可以直接使用
https://wallpaper.xsto.top/random 近7日随机壁纸
看样例