免费自建BPB面板,永久白嫖节点!


准备工作:
登录GitHub账号:官网

登录Cloudflare账号:官网

正式教程:
1.打开github创建一个仓库,名称随意(尽量避开节点,代理等敏感词)
创建好仓库之后点击创建新文件夹,编辑名称复制一下代码创建路径:

1
.github/workflows/update-worker.yml

然后粘贴代码内容后提交更改:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
name: Auto Update Worker

on:
push:
branches:
- main
schedule:
- cron: "0 1 * * *" # 每天凌晨1点自动运行
workflow_dispatch: # 支持手动运行

permissions:
contents: write

jobs:
update:
runs-on: ubuntu-latest
steps:
- name: 初始化仓库
uses: actions/checkout@v4

- name: 获取当前本地版本
id: get_local_version
run: |
echo -e "\033[34m[获取本地版本]\033[0m"
if [ -f version.txt ]; then
LOCAL_VERSION=$(cat version.txt)
echo "当前本地版本: $LOCAL_VERSION"
else
echo "首次同步,没有本地版本。"
LOCAL_VERSION=""
fi
echo "LOCAL_VERSION=$LOCAL_VERSION" >> $GITHUB_ENV

- name: 获取最新 Release 信息
id: get_release
run: |
echo -e "\033[34m[获取最新 Release]\033[0m"
API_URL="https://api.github.com/repos/bia-pain-bache/BPB-Worker-Panel/releases"
RESPONSE=$(curl -s "$API_URL")
LATEST_RELEASE=$(echo "$RESPONSE" | jq -r '.[0]')
TAG_NAME=$(echo "$LATEST_RELEASE" | jq -r '.tag_name')
DOWNLOAD_URL=$(echo "$LATEST_RELEASE" | jq -r '.assets[] | select(.name == "worker.zip") | .browser_download_url')

if [ -z "$DOWNLOAD_URL" ] || [ "$DOWNLOAD_URL" == "null" ]; then
echo -e "\033[31m未找到 worker.zip,退出!\033[0m"
exit 1
fi

echo "最新版本号: $TAG_NAME"
echo "DOWNLOAD_URL=$DOWNLOAD_URL" >> $GITHUB_ENV
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV

- name: 判断是否需要更新
id: check_update
run: |
echo -e "\033[34m[判断是否需要更新]\033[0m"
if [ "$LOCAL_VERSION" = "$TAG_NAME" ]; then
echo -e "\033[32m已经是最新版本,无需更新。\033[0m"
echo "UPDATE_NEEDED=false" >> $GITHUB_ENV
else
echo -e "\033[33m发现新版本,需要更新!\033[0m"
echo "UPDATE_NEEDED=true" >> $GITHUB_ENV
fi

- name: 如果需要,清理旧文件并下载新版本
if: env.UPDATE_NEEDED == 'true'
run: |
echo -e "\033[34m[清理旧文件]\033[0m"
rm -rf ./*
echo -e "\033[34m[下载最新 worker.zip]\033[0m"
wget -O worker.zip "$DOWNLOAD_URL"
echo -e "\033[34m[解压 worker.zip]\033[0m"
unzip worker.zip
echo -e "\033[34m[删除 worker.zip]\033[0m"
rm worker.zip
echo -e "\033[34m[记录新版本号]\033[0m"
echo "$TAG_NAME" > version.txt

- name: 提交更改
if: env.UPDATE_NEEDED == 'true'
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "🔄 自动同步最新 Worker 版本:${{ env.TAG_NAME }}"
commit_author: "github-actions[bot] <github-actions[bot]@users.noreply.github.com>"
push_options: --force

图片

点击Actions,按图步凑手动执行一次同步。即完成后期的自动版本更新。
图片

2.打开Cloudflare添加一个Pages,连接到仓库刚才创建的库,自定义一个名字(名字不要起关于代理,节点之类的,随便敲几个都行)然后保存部署。

3.部署成功后点击(继续处理项目),点击设置,变量和机密。
添加变量大写字母:

1
UUID

UUID的值可以生成一个复制粘贴:点击生成UUID
图片

添加变量大写字母:

1
TR_PASS

值:随便填
图片

添加变量大写字母:

1
PROXY_IP

值填写大佬们分享的域名,用回车键隔开

1
2
3
4
proxy.xxxxxxxx.tk
ts.hpc.tw
cdn-all.xn--b6gac.eu.org
edgetunnel.anycast.eu.org

图片

4.给项目添加一个KV空间,左侧菜单找到储存和数据库—kv—创建一个KV空间,名字随意。图片

5.创建kv空间之后打开刚才创建的的Pages—设置—绑定—添加—kv命名空间—选择刚才创建的命名空间,变量名称小写字母:kv
图片

6.自定义域名,在项目页点击(自定义域)添加一个解析到CF的自定义二级域名。添加后回到项目页点击部署—重试部署。

7.域名自动解析好后访问我们的自定义域名,在域名后缀加上 /panel

8.在成功访问BPB面板以后,创建密码并登录。

  • 点击VLESS-Trojan
    在proxyIPs/Domains一栏填写第三步中大佬们提供的域名
    图片

在Clan IPs/Domains一栏填写优选IP,多个IP用回车隔开。点击去优选IP
IPv6一栏选择Disabled
Protocols一栏取消勾选Trojan
图片

  • 点击Routing Rules选项,勾选LAN、china、ADS
    图片

  • 点击Apply Settings完成设置
    图片

9.设置完成之后点击面板Normal,即可看到适配的客户端,有订阅链接和二维码。
图片

如果是clash点击Full Normal就能找到订阅链接图片

然后就没有然后了,愉快的使用吧,记住自己的面板地址,如果节点变慢了或者无法使用了,继续到优选IP更换新的IP即可,永久白嫖!

优选IP网址:点击优选