200字
基于边缘函数(edge one)加速访问github
2025-12-04
2025-12-07
// GitHub加速代理
const GITHUB_HOST = 'https://github.com';

async function handleRequest(request) {
  // 解析原始请求URL
  const url = new URL(request.url);
  
  // 构造GitHub目标URL
  const targetUrl = new URL(url.pathname + url.search, GITHUB_HOST);
  
  // 创建新的请求头,保留必要头部
  const headers = new Headers(request.headers);
  headers.set('Host', GITHUB_HOST.replace(/^https?:\/\//, ''));
  
  // 使用fetch获取GitHub资源,利用EdgeOne缓存
  const response = await fetch(targetUrl.toString(), {
    headers: headers,
    // 使用EdgeOne缓存和回源功能
    eo: {
      cache: true,
      origin: true
    }
  });
  
  // 返回响应
  return new Response(response.body, {
    status: response.status,
    statusText: response.statusText,
    headers: response.headers
  });
}

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request));
});

评论