返回文章列表

使用Cloudflare搭建免费的Pixiv图片代理

1. 购买域名

  • 目的:需要一个域名来托管你的代理服务
  • 推荐:选择便宜的域名后缀,如 .xyz.ga.cf

2. 注册 Cloudflare 账号

  • 注册:前往 Cloudflare 官网 创建账号
  • 登录:登录到 Cloudflare 控制面板

3. 添加站点到 Cloudflare

  • 第一步:点击 Add Site > Add a Site
  • 第二步:输入你的域名(例如 yourdomain.com),点击 Next
  • 第三步:Cloudflare 会扫描你域名的当前 DNS 记录,点击 Continue Setup
  • 第四步:选择 Free Plan(基础套餐足够用于代理服务)
  • 第五步:更新 DNS 名称服务器:
    • 需要在你的域名注册商(如阿里云)处将名称服务器更新为 Cloudflare 的:
      • Nameserver 1ns1.cloudflare.com
      • Nameserver 2ns2.cloudflare.com
    • 按照域名注册商的指引更新名称服务器。此步骤确保 Cloudflare 管理你的 DNS

4. 配置 DNS 记录

  • 代理设置:进入 Cloudflare 的 DNS 选项卡
  • 添加 A 记录
    • 点击 Add Record > 选择 A record
    • 填写字段:
      • Name:输入 pixiv(或自定义子域名,如 proxy
      • IPv4 Address:输入任意有效 IP 地址(例如测试用 8.8.8.8
      • TTL:保持 Auto(推荐)
  • 启用代理状态
    • 勾选 Proxy this record(图标会变为橙色)
    • 这将为该子域名启用 Cloudflare 代理
  • 保存更改:点击 Save 应用配置

5. 设置 Cloudflare Workers

  1. 进入 Workers > Create a Worker
  2. 创建新服务
    • 点击 Create a Worker
    • Name:输入名称(例如 pixiv-proxy
    • Route:设置路由为 https://pixiv.yourdomain.com/*(将 yourdomain.com 替换为你的域名)
    • 点击 Create Service
  3. 编辑 Worker 代码
    • 进入 Resources 选项卡
    • 点击 Quick Edit 打开代码编辑器
    • 将默认代码替换为以下脚本(说明见下文):
javascript
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':'Cloudflare Workers'
            }
        })
    );
});

6. 绑定自定义域名

  1. 返回控制面板:回到 Cloudflare 控制面板首页
  2. 选择你的 Worker:进入 Workers > 你刚创建的服务(如 pixiv-proxy
  3. 添加自定义域名
    • 点击 Add Custom Domain
    • 输入你在 A 记录中配置的子域名(例如 pixiv.yourdomain.com
    • 点击 Add Domain

7. 测试代理

示例测试
  1. Pixiv 原图链接https://i.pximg.net/img-original/img/2019/03/06/00/40/39/73532572_p0.jpg
  2. 代理链接https://pixiv.yourdomain.com/img-original/img/2019/03/06/00/40/39/73532572_p0.jpg
  3. 访问代理链接:在浏览器中打开修改后的链接,如果成功,图片应正常显示

原文:https://www.theresa3rd.cn/#/imgProxy

cloudflareimagepixivproxyjavascript