Skip to content

handy-oss/edgeone-proxy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 

Repository files navigation

EdgeOne Pages 全功能反向代理

这是一个基于腾讯云 EdgeOne Pages 部署的通用反向代理项目。它源于对 Cloudflare-Workers-Proxy 项目的改造,使其能够完美运行在腾讯云的边缘网络上。

本项目允许您轻松部署一个无需服务器、自动扩缩容、全球加速的反向代理服务。您可以通过访问首页输入目标网址,或通过 域名/proxy?url=目标网址 的格式进行代理。

✨ 功能特性

  • 现代化界面:采用 Tailwind CSS 构建,拥有美观、响应式的设计,并支持深色模式。
  • 稳定架构:采用业界标准的“静态首页+API子路径”模式,并通过查询参数传递目标网址,确保了最大的稳定性和兼容性。
  • 通用反向代理:能够代理访问互联网上几乎任何网站。
  • 无服务器化部署:基于 EdgeOne Pages 边缘函数,无需购买和管理服务器。
  • 边缘节点加速:所有请求均由离用户最近的腾讯云边缘节点处理,延迟更低。

🚀 工作原理

本项目采用 EdgeOne Pages 最稳定、最标准的“静态+函数”模式:

  1. static/index.html

    • 职责:作为静态资源,提供现代化、美观的前端首页。
    • 行为:当您访问根域名 (/) 时,EdgeOne Pages 会优先提供此文件,确保首页的快速加载和显示。
  2. functions/proxy.js

    • 职责:处理所有对 /proxy 路径的请求。
    • 行为:此函数是代理逻辑的核心。它会从 URL 的查询参数中获取 url 的值作为目标地址,发起请求,处理响应,并将最终结果返回给用户。

这种架构利用了平台最明确的路由规则和最标准的参数传递方式,确保了系统的稳定性和高性能。

部署指南 (通过 EdgeOne 网页控制台)

您无需在本地安装任何工具。只需一个 GitHub 账号和腾讯云账号即可完成所有操作。

前提条件

  1. 拥有一个 GitHub 账号。
  2. 拥有一个已开通 腾讯云 EdgeOne 服务 的腾讯云账号。

部署步骤

  1. Fork 本项目 点击本仓库右上角的 Fork 按钮,将此项目复刻到您自己的 GitHub 账户下。

  2. 登录 EdgeOne 控制台 访问 腾讯云 EdgeOne 控制台

  3. 新建 Pages 站点

    • 在左侧菜单中,选择 站点服务 > Pages
    • 点击 新建站点 按钮。
  4. 关联 GitHub 仓库

    • 在部署方式中,选择 关联 Git 仓库进行部署
    • 点击 授权 Pages,在弹出的窗口中授权腾讯云访问您的 GitHub 仓库。
    • 授权成功后,选择您刚刚 Fork 的仓库(edgeone-proxy)。
  5. 配置构建选项 (最终正确配置) 这是最关键的一步,请严格按照以下配置填写:

    • 项目名称:自定义,例如 my-proxy
    • 生产分支:选择 main 或者您仓库的默认分支。
    • 构建框架预设:选择 其他
    • 构建命令留空
    • 根目录:保持默认的 ./ 即可。
    • 输出目录static (非常重要!这会告诉平台去 static 目录中寻找首页)。
    • 环境变量:无需填写。
  6. 保存并部署

    • 点击 保存并部署
    • EdgeOne Pages 会开始拉取您的代码并进行部署。这个过程通常在 1 分钟内完成。
  7. 访问您的代理

    • 部署成功后,平台会自动生成一个 .edgeonepage.com 的免费域名。
    • 点击该域名,即可访问您的反向代理服务!

🔧 使用方法

部署成功后,您可以通过以下两种方式使用:

  1. 通过首页访问

    • 直接访问您的域名,例如 https://my-proxy-xxxx.edgeonepage.com
    • 在输入框中填入您想代理的目标网址(如 https://www.google.com),点击 开始代理
  2. 通过 URL 直接访问

    • 在您的域名后拼接上 /proxy?url= 和要代理的 URL。
    • 格式:https://<您的域名>/proxy?url=<目标URL>
    • 示例:https://my-proxy-xxxx.edgeonepage.com/proxy?url=https://www.typescriptlang.org/

⚠️ 免责声明

  • 本项目仅供学习和研究使用,作者不对任何因使用本项目而导致的任何问题负责,包括但不限于数据丢失、服务中断、法律纠纷等。
  • 使用者需了解,本项目可能被用于访问受限内容或进行未经授权的活动。作者强烈反对任何不当使用行为,并鼓励使用者在合法合规的前提下使用。
  • 请确保您拥有对所代理的目标地址的合法访问权限。
  • 任何使用者在使用本项目时,需自行承担全部风险。作者和腾讯云不对任何滥用、不当使用或由此导致的任何损害承担责任。

📁 项目结构

.
├── functions/
│   └── proxy.js      # 处理 /proxy 请求
├── static/
│   └── index.html    # 静态首页
├── LICENSE           # MIT 许可证文件
└── README.md         # 本说明文件

📄 许可证

本项目采用 MIT License

🙏 致谢

About

基于腾讯云 EdgeOne Pages 部署的通用反向代理项目

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 79.6%
  • HTML 20.4%