使用cloudflare-workers反代pixiv

打算起个新项目,可能会用点p站的图来装饰,就反代一下。

CloudFlare Workers具有强大的可扩展性以及在海外,基于此可以实现更多有趣的事,比如部署各种项目,搭建网盘,以及各种代理。

2023.6.1 实测可用
2024.6.1 更新域名说明
2024.7.2 更新,注意,直接反代知名网站可能被投诉导致封号,请谨慎使用。
2024.7.3 更新,添加规则避免被Netcraft扫描举报

实现的功能

  • 能访问pixiv图片资源域名i.pximg.net
  • 由于i.pximg.net有盗链保护,所有请求头Referer若非pixiv403,反代后可以自行修改请求头

code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
addEventListener("fetch", event => {
let url = new URL(event.request.url);
url.hostname = "i.pximg.net";

let request = new Request(url, event.request);
event.respondWith(
fetch(request, {
headers: {
'Referer': 'https://www.pixiv.net/',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36'
}
})
);
});

i.pximg.net替换为部署的地址xxx.xxx.workers.dev即可。

  • xxx.xxx.workers.dev为部署的默认域名,境内可能无法访问,建议自行修改cname为自己的域名。
  • 同理可以设置hostname为其他想反代域名。

block asn/user-agent

来自论坛大佬@BlueSkyXN

  • UA
1
https://useragents.io/explore/platforms/unknown/maker/netcraft-ltd-c93
  • ASN
1
https://bgp.he.net/AS212329
  • IPs
1
https://gist.github.com/ozuma/fb21ab0f7143579b1f2794f4af746fb2

可以在cf的控制面板 -> Security -> WAF -> Custom Rules 中添加规则,以阻止此类请求。