剪藏#剪藏
CloudFlare自建长久自用节点(自用) - 开发调优 / 开发调优, Lv2 - LINUX DO
2025 年 5 月 21 日 约 1 分钟

相信不少佬友都用过BPB面板,一段时间这成为最方便的上网方式,但是后来被CF封杀了。
今天我就再分享一个新方法,让各位佬友都拥有属于自己的BPB面板,不再需要自己去购买机场,也不需要到处寻找节点。
1、打开Github,新建一个库,库的名称可以随便起,只要不带BPB就行
2、在.github/workflows/ 文件夹下,创建一个.yml文件(文件名可自定义),并把下面的代码拷贝到其下,提交
JAVASCRIPT
name: Auto Update Worker
on:
push:
branches:
- main
schedule:
- cron: "0 1 * * *" # 每天凌晨1点运行
workflow_dispatch:
inputs:
force_update:
description: '是否强制更新(忽略版本检查)'
required: false
default: 'false'
permissions:
contents: write
jobs:
update:
runs-on: ubuntu-latest
steps:
- name: 检出仓库
uses: actions/checkout@v4
- name: 设置环境
run: |
echo "REPO_URL=https://api.github.com/repos/bia-pain-bache/BPB-Worker-Panel/releases" >> $GITHUB_ENV
echo "TARGET_FILE=worker.zip" >> $GITHUB_ENV
- name: 检查并更新 Worker
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # 使用 GitHub Token 认证
run: |
# 日志函数
log() { echo "[$(date +'%Y-%m-%d %H:%M:%S')] $1"; }
log "开始检查更新..."
# 获取本地版本
LOCAL_VERSION=$(cat version.txt 2>/dev/null || echo "")
log "本地版本: ${LOCAL_VERSION:-无}"
# 获取最新 Release
log "获取最新 Release 信息..."
RESPONSE=$(curl -s --retry 3 -H "Authorization: token $GITHUB_TOKEN" -H "Accept: application/vnd.github.v3+json" "$REPO_URL")
if [ $? -ne 0 ]; then
log "ERROR: 无法访问 GitHub API"
exit 1
fi
TAG_NAME=$(echo "$RESPONSE" | jq -r '.[0].tag_name')
DOWNLOAD_URL=$(echo "$RESPONSE" | jq -r '.[0].assets[] | select(.name == "'"$TARGET_FILE"'") | .browser_download_url')
if [ -z "$DOWNLOAD_URL" ] || [ "$DOWNLOAD_URL" == "null" ]; then
log "ERROR: 未找到 $TARGET_FILE"
exit 1
fi
log "最新版本: $TAG_NAME"
# 判断是否需要更新
FORCE_UPDATE=${{ github.event.inputs.force_update || 'false' }}
if [ "$LOCAL_VERSION" = "$TAG_NAME" ] && [ "$FORCE_UPDATE" != "true" ]; then
log "已是最新版本,无需更新"
exit 0
fi
# 下载并更新
log "下载 $TARGET_FILE..."
wget -q -O "$TARGET_FILE" "$DOWNLOAD_URL"
log "解JAVASCRIPT
压 $TARGET_FILE..."
unzip -o "$TARGET_FILE"
rm "$TARGET_FILE"
echo "$TAG_NAME" > version.txt
log "更新完成,新版本: $TAG_NAME"
- name: 提交更改
if: success() # 仅在更新成功时提交
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "🔄 自动同步 Worker 版本: ${{ steps.check_update.outputs.tag_name || '未知' }}"
commit_author: "github-actions[bot] <github-actions[bot]@users.noreply.github.com>"3、点开Actions看是否自动部署成功
4、打开CF,创建一个Pages,连接到刚创建的库,点击部署,再点击保存部署,等待部署成功
5、点击设置,绑定一个KV空间,名称只要不涉及BPB就行(记得kv要小写)
6、再点开环境变量,添加UUID(注意大小写)
7、继续添加变量,添加PROXY_IP,可以用下面这个网址中搜到的地址添加,用小写逗号分隔
https://www.nslookup.io/domains/bpb.yousef.isegaro.com/dns-records/
8、继续添加变量,添加TR_PASS,一定要填写大小写数字加特殊字符,不用管能不能记住
9、添加一个自定义域名,激活域
10、回到pages,点击重试部署
11、将自定义域名复制到浏览器,回车看到这个页面,就算正常了
12、在域名后添加 /panel,首先需要设置密码
13、重新登录
14、打开主页面后,显示如下
15、点开第一项Vless-Trojan,把Fake DNS,设置为Enabl;在Clean IP中用下面这个地址添加多个适合自己网络的IP,每个IP回车再添加新的,可以添加多个,下方的IPV6可选也可以不选。
16、协议和端口也可以根据自己的需要修改
17、点击下方的Apply Setting。如果弹出下方窗口就说明已经成功了
18、点击Subscriptions-Configs,然后在下方适合的订阅链接或者二维码
我用的是V2rayN,直接导入订阅链接,更新即可
以上就是BPB面板的部署过程,我想给感兴趣部署的佬友几个建议:
1、首先,不要把这个部署分享给其他人用,尽量自用,防止被封禁;
2、在代理IP中可以只选用自己希望的地区,比如美国、新加坡、香港等,这样IP就会固定在这个地区;
3、一定一定不要在自己的设置过程中出现BPB这个敏感词。
如果有任何疑问,可以在下方留言讨论…
之前bpb作者不是还在项目里面留漏洞么(貌似是故意要留
那就很好玩了,双开!(EdgeTunnel和BPB Panel)
周末被客户留在了广州,约着今晚去吃蛇羹!现在时间还早,就在宾馆写个佬友可能用的着的东西
佬友给力!
风佬太强了,干货
我特意写了,一定要避开的关键词。我已经稳定运行俩月了,今天才写的这个分享
感谢大佬!
风佬厉害
为啥我的Actions报错了