pixiv圖片訪問


pixiv圖片訪問代理

地址:

https://**i.pximg.net**

替換為

 https://pixiv.runrab.workers.dev  #為你部署的cloudfare workers的地址可綁定自己域名

例如:原來地址

https://**i.pximg.net**/img-original/img/2020/06/05/00/00/07/82092623_p0.jpg

換成

https://pixiv.runrab.workers.dev/img-original/img/2020/06/05/00/00/07/82092623_p0.jpg

demo

nginx 代理:

proxy_cache_path /path/to/cache levels=1:2 keys_zone=pximg:10m max_size=10g inactive=7d use_temp_path=off;

server {
    listen 443 ssl http2;

    ssl_certificate /path/to/ssl_certificate.crt;
    ssl_certificate_key /path/to/ssl_certificate.key;

    server_name i.pixiv.cat;
    access_log off;

    location / {
    proxy_cache pximg;
    proxy_pass https://i.pximg.net;
    proxy_cache_revalidate on;
    proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
    proxy_cache_lock on;
    add_header X-Cache-Status $upstream_cache_status;
    proxy_set_header Host i.pximg.net;
    proxy_set_header Referer "https://www.pixiv.net/";
    proxy_cache_valid 200 7d;
    proxy_cache_valid 404 5m;
 }
}

cloudfare代理設置

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'
      }
    })
  );
});

更新:2023

新cloudfare代理設置

增加了一點點緩存可能有一點點提升吧......

const REFERER = 'https://www.pixiv.net/';
const USER_AGENT = 'Cloudflare Workers';

async function handleRequest(event) {
  const url = new URL(event.request.url);
  url.hostname = "i.pximg.net";

  const cache = caches.default;
  const cacheKey = event.request;
  let response = await cache.match(cacheKey);

  if (!response) {
    const request = new Request(url, event.request);
    request.headers.set('Referer', REFERER);
    request.headers.set('User-Agent', USER_AGENT);
    response = await fetch(request);

    const responseClone = response.clone();
    event.waitUntil(cache.put(cacheKey, responseClone));
  }

  return response;
}
addEventListener("fetch", event => {
  event.respondWith(handleRequest(event));
});

注意:

workers.dev可能被牆導致無法法訪問,請綁定自己域名,例如:https://pixiv.322333.xyz/img-original/img/2020/06/05/00/00/07/82092623_p0.jpg
中國訪問cloudfare請訪問https://www.cloudflare-cn.com ,https://www.cloudflare.com/地址可能已經開始被牆了,默認是會給重定向到https://www.cloudflare-cn.com

介紹

Cloudflare Workers 是一個基於事件驅動的服務器less計算平台,它允許開發者編寫和運行 JavaScript 代碼來處理請求,無需管理服務器或虛擬機。

使用 Cloudflare Workers 可以快速構建和部署彈性和高性能的應用程序,例如 API 網關、HTTP 中間件、反向代理等等。此外,Cloudflare Workers 還提供了一個簡單易用的代碼編輯器和調試器,可以幫助開發者快速迭代代碼,並快速發布部署。

下面是一些使用 Cloudflare Workers 的示例:

  1. 靜態資源緩存:使用 Workers 編寫代碼來緩存您的網站的靜態資源(例如圖片、CSS 和 JavaScript 文件),從而提高網站的加載速度。
  2. API 網關:使用 Workers 編寫代碼來處理和轉發 API 請求,從而實現微服務架構並提高 API 的可用性和可擴展性。
  3. 網絡安全:使用 Workers 編寫代碼來檢查和過濾惡意請求,並防止 DDoS 攻擊和其他網絡攻擊。
  4. 靜態網站托管:使用 Workers 和 Cloudflare Workers KV 存儲來托管您的靜態網站,並利用 Workers 編寫自定義的路由和請求處理邏輯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM