ESC
科技 2 分钟阅读

deploy-vercel:安装命令:npm install

本文介绍如何使用 Vercel 部署一个基于 Node.js 的项目,包括创建仓库、修改环境变量、伪装网页、部署配置、设置订阅信息,以及通过 Cloudflare Workers 反代域名加速。附带 Vercel 常用地区代码对照表。

来源:GitHub

Vercel 部署说明

1:点击 Use this template ➡ Create a new repository 创建一个私密项目,名称随意

2:修改 index.js 文件里的环境变量并保存,不需要的留空

3:用 AI 生成一个纯 HTML 网页替换 index.html 作为伪装网页

4:打开 Vercel 连接项目部署

  • 打开 Vercel 控制台
  • 点击 “New Project”
  • Import 该项目
  • 选择默认配置,Install Command 打开,设置为 npm install
  • 点击 “Deploy”,等待部署完成

5:部署完成后确认没问题,将反代后的域名填写到 index.js 的 DOMAIN 环境变量里,然后用 https://www.jshaman.com/index.html 混淆替换后保存

6:获取订阅信息,修改优选域名使用(节点里的 address 字段),可以自行套订阅器,比如:https://sub.eooce.xx.kg

Vercel 常用地区代码对照表

下面是常见 Vercel regions 代码对应关系:

地区代码城市/区域国家/地区中文说明
hnd1TokyoJapan日本东京
kix1OsakaJapan日本大阪
icn1SeoulSouth Korea韩国首尔
hkg1Hong KongHong Kong中国香港
sin1SingaporeSingapore新加坡
syd1SydneyAustralia澳大利亚悉尼
bom1MumbaiIndia印度孟买
del1New DelhiIndia印度新德里
fra1FrankfurtGermany德国法兰克福
lhr1LondonUnited Kingdom英国伦敦
cdg1ParisFrance法国巴黎
ams1AmsterdamNetherlands荷兰阿姆斯特丹
mad1MadridSpain西班牙马德里
dub1DublinIreland爱尔兰都柏林
dxb1DubaiUnited Arab Emirates阿联酋迪拜
jnb1JohannesburgSouth Africa南非约翰内斯堡
cpt1Cape TownSouth Africa南非开普敦
gru1São PauloBrazil巴西圣保罗
sfo1San FranciscoUnited States美国旧金山
iad1Washington, D.C.United States美国华盛顿特区
pdx1PortlandUnited States美国波特兰
mia1MiamiUnited States美国迈阿密
ewr1NewarkUnited States美国纽瓦克
yul1MontréalCanada加拿大蒙特利尔

注意事项

部署成功后,访问项目地址,确认:

  1. 页面能正常访问
  2. 生成的订阅链接能获取到节点
  3. Vercel 分配的域名已被墙,无法使用直连节点
  4. 哪吒不亮,不用填写

使用 Cloudflare 的 Workers 或 Snippets 反代项目域名,给节点套 CDN 加速

export default {
    async fetch(request, env) {
        let url = new URL(request.url);
        if (url.pathname.startsWith('/')) {
            var arrStr = [
                'xxx-xxx.vercel.app',   // 此处单引号里填写你的 Vercel 分配的域名,不包含 https://
            ];
            url.protocol = 'https:'
            url.hostname = getRandomArray(arrStr)
            let new_request = new Request(url, request);
            return fetch(new_request);
        }
        return env.ASSETS.fetch(request);
    },
};
function getRandomArray(array) {
  const randomIndex = Math.floor(Math.random() * array.length);
  return array[randomIndex];
}