Skip to content

Latest commit

 

History

History
107 lines (67 loc) · 4.13 KB

README_zh.md

File metadata and controls

107 lines (67 loc) · 4.13 KB

Workers-Proxy

LICENSE GitHub closed issues GitHub stars

Languages: English, 简体中文.

功能介绍

Workers-Proxy 是一个轻量级的 Javascript 应用程序. 它可以作为客户端从其他服务器请求资源.

部署在 Cloudflare Workers 这个用于搭建无服务器应用程序的平台上, 用户可以无需购买服务器或配置 Web 服务器 (例如 Nginx 或 Apache) 而搭建反向代理.

此外, 关键性能, 例如延迟或可用性, 将会被优化, 因为无服务器应用将会被部署在 Cloudflare 的全球网络上. 该网络由 位于 90 个国家的 200 个城市中的数据中心组成.

通过配置地区和 IP 过滤器, 你可以根据法律规定在部分国家和地区停用反向代理服务. 借助移动端跳转工具, 你可以根据用户的设备来分发不同的网站.

示例

Reverse-Proxy Project (该示例在部分地区不可用.)

配置教程

安装和部署

使用 Wrangler 部署

  1. 安装 Wrangler.

  2. 创建一个新的项目.

wrangler generate my-workers-proxy https://github.com/Siujoeng-Lau/Workers-Proxy
  1. 配置 该项目的 wrangler.toml 文件来准备部署你的项目.
wrangler config
  1. 构建并部署于 Cloudflare Workers.
wrangler build
wrangler publish

手动部署

  1. 转到 Cloudflare Workers, 注册或登录 Cloudflare 账号, 为 Workers 设置子域名, 创建新的 Worker.

  2. 自定义 'src/index.js', 将代码复制到在线编辑器中, 替换默认代码.

  3. 更改 Worker 名称, 保存代码并部署, 测试反向代理是否符合需求.

绑定自定义域名

  1. 检查域名是否接入 Cloudflare.

  2. 跳转到域名的控制面板, 选择 'Workers' 页面, 点击 'Add Route'.

  3. Route 中输入 https://<domain-name>/* 并且选择刚创建的 Worker.

  4. 为自定义域名添加 CNAME DNS 记录. 在 DNS 页面中, 在 'Name' 区域输入自定义域名的子域名 (或者 @), 在 'Target' 区域输入 Worker 的二级域名, 将代理状态选择为 '代理'.

自定义 index.js

在 'index.js' 文件顶部有一些常量.

为了自定义 Workers-Proxy 反向代理, 请根据需求编辑这些常量.

// 代理网站.
const upstream = 'www.google.com'

// 代理网站的目录.
const upstream_path = '/'

// 手机用户代理网站.
const upstream_mobile = 'www.google.com'

// 屏蔽国家和地区.
const blocked_region = ['CN', 'KP', 'SY', 'PK', 'CU']

// 屏蔽 IP 地址.
const blocked_ip_address = ['0.0.0.0', '127.0.0.1']

// 源站是否开启 HTTPS.
const https = true

// 文本替换.
const replace_dict = {
    '$upstream': '$custom_domain',
    '//google.com': ''
}

配置示例