8000 GitHub - caidaoli/netlify-proxy
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

caidaoli/netlify-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 

Repository files navigation

优雅反向代理服务 🌐

Netlify Status Edge Functions TypeScript License: MIT

一个基于 Netlify Edge Functions 的强大反向代理服务,支持任意网站内容代理和路径重写。

🌍 在线使用 | 📝 源代码


✨ 特性

  • 🔄 多站点代理 - 预配置多个网站,通过简单路径访问
  • 🌍 通用代理 - 使用 /proxy/ 前缀代理任意 URL
  • 🖼️ 资源重写 - 自动修复 CSS、JavaScript 和图片路径
  • 📱 响应式处理 - 完美支持动态加载的内容和交互功能
  • 📘 确保代理请求 - 移除了可能限制跨域加载的安全头
  • 🔓 CORS 支持 - 自动添加跨域头,解决 API 访问限制
  • 📘 支持流媒体 - 实现了完整的视频播放器功能,支持 HLS 流媒体格式
  • 高性能 - 利用 Netlify Edge Functions 全球分布式网络

🚀 使用方法

预配置网站

访问以下路径即可使用预配置的网站:

https://fd-gally.netlify.app/hexo2       # Hexo 博客
https://fd-gally.netlify.app/halo      # Halo 博客
https://fd-gally.netlify.app/tv        # libre tv 影视站
https://fd-gally.netlify.app/news      # 新闻聚合

API 代理

使用以下路径访问各种 AI 和第三方 API 服务:

https://fd-gally.netlify.app/openai    # OpenAI API
https://fd-gally.netlify.app/claude    # Claude/Anthropic API
https://fd-gally.netlify.app/gemini    # Google Gemini API

更多 API 请参考配置文件。

通用代理(特殊网址可能不支持)

代理任意 URL,支持两种格式:

# 直接使用目标 URL
https://xxxx.netlify.app/proxy/https://example.com/path

# URL 编码的形式
https://xxxx.netlify.app/proxy/https%3A%2F%2Fexample.com%2Fpath

🛠️ 技术实现

  • 🔷 Netlify Edge Functions - 在全球边缘节点执行代理逻辑
  • 📘 TypeScript - 类型安全的代码实现
  • 🔍 正则表达式 - 精确的资源路径重写
  • 📝 DOM 修改 - 动态内容加载修复
  • 🔄 资源缓存 - 智能缓存静态资源提升性能
详细架构图
┌─────────────┐       ┌───────────────────┐       ┌─────────────┐
│             │       │                   │       │             │
│   用户请求   │──────▶│  Netlify Edge     │──────▶│  目标服务器  │
│             │       │  Function Proxy   │       │             │
└─────────────┘       └───────────────────┘       └─────────────┘
                               │
                               ▼
                      ┌─────────────────┐
                      │                 │
                      │  路径解析与匹配  │
                      │                 │
                      └─────────────────┘
                               │
                               ▼
                      ┌─────────────────┐
                      │                 │
                      │  内容替换与修复  │
                      │                 │
                      └─────────────────┘

⚙️ 自定义配置

netlify/edge-functions/proxy-handler.ts 文件中:

  1. 修改 PROXY_CONFIG 对象添加新的代理规则:
const PROXY_CONFIG = {
  "/新路径": "https://目标网站.com",
  "/proxy-api":    "https://my-api-backend.dev",
  // ...
};
  1. 为特定网站添加专门优化:
const SPECIAL_REPLACEMENTS = {
  '目标域名': [
    {
      pattern: //,
      replacement: (match) => '替换逻辑'
    }
  ]
};

📋 部署指南

方法一:一键部署

Deploy to Netlify

方法二:手动部署

  1. Fork 本项目
  2. 注册 Netlify 账号
  3. 在 Netlify 中创建新站点并连接 GitHub 仓库
  4. 使用默认设置部署

配置说明

部署完成后,根据需要修改 netlify/edge-functions/proxy-handler.ts 文件中的配置。


🌟 高级用例

  • 🚫 内容过滤 - 添加代码移除目标站点的广告和追踪器
  • 🔗 API 聚合 - 在一个域名下整合多个 API 服务
  • 🔒 地区解锁 - 通过 Edge Functions 全球网络访问地区限制内容

⚠️ 注意事项

  • 请遵守目标网站的服务条款
  • 避免代理敏感或受版权保护的内容
  • 某些复杂网站可能需要额外配置才能正常工作
  • 大流量使用可能受到 Netlify 免费计划的限制

📄 许可证

MIT License © 2025

Made with ❤️ by gally16

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
0