目录
前言
众所周知,由于某些不便明说的原因,导致Spotify无法在中国大陆内直接访问。
不过,总会有些人会科学上网(比如我),所以可能会在Spotify有听歌(毕竟可以免费听杰伦的歌)。
但是!有时候,想着分享歌曲给其他人,可是其他人不会科学上网啊;又有时候,你想把Spotify的iframe播放器嵌入到你的网站里,但是你会科学上网,别人不会啊,这样就导致其他人无法看到那一块的内容,同时也会拖慢网站加载速度。
所以,我们今天就利用Cloudflare Workers来反代Spotify(注:接下来“Cloudflare”简称为“CF”)。
创建项目并完成部署
首先,打开CF,在侧边栏找到“Workers和Pages”,单击“创建应用程序”(不过好像如果一个项目都没有会直接让你选择Workers和Pages)。
接着,选择“Workders”选项卡,单击“创建Worker”,接下来:
名称:按你来填,名称将为三级域名(https://*.your-name.workers.dev)
单击“部署”即可。
然后来到你这个项目这里,单击“快速编辑”:
等加载出编辑器,在`worker.js
`输入以下内容:
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});
async function handleRequest(request) {
// 构造目标 URL,将请求转发到 Spotify.com
const url = new URL(request.url);
url.hostname = 'open.spotify.com';
// 复制原始请求的所有头信息
const headers = new Headers(request.headers);
//设置Cookie(具体看下面说明)
headers.set('Cookie', 'your-cookie');
// 发起转发请求
const response = await fetch(url.toString(), {
method: request.method,
headers: headers,
body: request.body,
});
// 复制转发响应的所有头信息
const responseHeaders = new Headers(response.headers);
// 返回转发响应给客户端
return new Response(response.body, {
status: response.status,
statusText: response.statusText,
headers: responseHeaders,
});
}
说明:
- 设置Cookie是因为如果不设Cookie的话没法播音乐(Spotify要登录才能播放,iframe播放器也是)。
- 设置Cookie:打开oepn.spotify.com应该是随便找个带有Cookie的请求复制Cookie即可。 - 建议使用小号,否则你要是公开这个镜像站你账号可能会有安全问题。
Cookie的设置请看此文章:【补档】利用CF Workers反代Spotify——Cookie篇
然后单击“保存并部署”,接着打开看效果(需科学上网)。
绑定自己的域名(必须)
为什么上面说要科学上网呢,因为workers.dev被滥用所以被墙了,所以只能绑定自己的域名。
首先你需要将你的域名接入CF,此处不多赘述。
进入你的域名,在侧边栏选择“Workers路由”,然后单击“添加路由”:
接下来:
路由:*.your-domain.cn/* ,前面的星可以改成你要绑定的二级域名,后面的星必须留着。
Worker:选你刚刚创建的路由。
环境:production
如图所示:
然后在侧边栏选择“DNS”,添加你刚刚二级域名的A记录,IPv4随便填就好,云必须点亮(CF代理)最后保存,如图:
等等DNS记录生效,此时再打开你的域名看效果:
音乐也是可以正常播放滴,iframe播放器同样可用。
那么此处就不展示我自己的镜像站了,毕竟用的我自己的账号()
现在换了个小号,你可在此体验:spotify.rong6.cn .个人建议还是自己部署个,毕竟免费计划每天请求数只能有100,000次。
如果你非用不可,请遵守以下规则(https://spotify.rong6.cn/playlist/7KEsTZuquiSj3VpBP6H4Vd):
这个镜像站使用Cloudflare Workers搭建,不保证提供长期服务(我还害怕万一哪天直接把我域名给墙了)。
若要使用此镜像站,你应该自觉遵守:
1.不要退出账号,我也不知道会发生啥。
2.不要瞎几把乱传,待会给我主域墙了屌你妈。
3.不要恶意使用,你老老实实听歌或者使用iframe播放器就好了。
4.免费计划每天只有100,000次请求数,建议自己搭个:https://rong6.cn/index.php/archives/80。