OpenBMCLAPI X CloudFlare 节点部署指南

前言

CloudFlare CDN 以免费著称,因此, CloudFlare 也有了赛博大善人的外号,所以可以利用这一好处来部署 OpenBMCLAPI 节点,为国内的 Minecraft 下载做出贡献。

以下是官方(@bangbang93)给出的关于 BMCLAPI 和 OpenBMCLAPI 的解释。

关于 BMCLAPI

BMCLAPI 是 @bangbang93 开发的BMCL的一部分,用于解决国内线路对 Forge 和 Minecraft 官方使用的Amazon S3 速度缓慢的问题。 BMCLAPI 是对外开放的,所有需要 Minecraft 资源的启动器均可调用。

关于 OpenBMCLAPI

这个项目的主要目的是辅助 BMCLAPI 分发文件
对节点的要求降低了不少

  1. 公网可访问(端口映射也可),可以非80
  2. 10Mbps以上的上行速度
  3. 暂时不接受国外节点了
  4. 可以长时间稳定在线
  5. 暂不支持IPv6 only(可以双栈)

Wiki

申请一个节点

首先,你需要先申请一个 OpenBMCLAPI 的节点。

1.加入 OpenBMCLAPI QQ群 689855839 。(点击群号可以一键加入群聊)

2.私聊群主 @bangbang93 ,申请节点

在与@bangbang93的对话中,你需要告诉@bangbang93你的节点名称,和你节点的分片大小(或者全量)。

由于你部署的是一个 CDN 节点,你还要额外向@bangbang93说明这是一个CDN节点,这样主控统计的数据才是正常的数据,否则主控仅统计回源的数据。

全量指整个镜像源完整的数据,如果你的节点存储空间不够,可以考虑部署分片节点,并附上分片大小。

截至本文写道这里(2025年2月4日 晚上7点 GMT+8) OpenBMCLAPI 全量大小为 145.35GB

申请成功后,@bangbang93 会给你你的 节点ID 和 节点密钥(SECRET) ,如图:

CloudFlare 的配置

1. 进入 CloudFlare 仪表板 ,进入你账户中你想要的域名。

DNS 记录

1. 将你运行 OpenBMCLAPI 节点的服务器IP添加到你的域名中,记得打开小黄云(代理)

Cache Rules

1. 点击左侧面板 规则 ,管理 Cache Rules。

2. 点击创建规则。

3. 编辑规则 。

规则名称随意填,接下来的内容参照截图。

选择 自定义筛选表达式 ,字段 URI 完整 , 运算符 通配符 ,值为 https://<你使用的域名>/download/*

如果你要部署多个节点,可以点击 Or ,再添加一个地址。

缓存资格 符合条件缓存 ,边缘 TTL 忽略缓存控制标头,使用此TTL 1年。 (意思为CF缓存的数据有效期为一年)

浏览器 TTL 也是一样的道理,1年。

其他的不用管,保存。

Origin Rules

1. 回到 规则 ,编辑 Origin Rules。

2. 创建规则。

3. 编辑规则内容。

规则名称随便填。选择 自定义帅选表达式 ,字段 主机名 (注意不是 URI 完整) , 运算符 通配符 ,值填写你OpenBMCLAPI的主机名。

目标端口重写到你运行 OpenBMCLAPI 的端口。保存。

如果你需要运行多个节点,且每个节点运行端口不同的话,在这里你需要添加多个配置文件。

一些杂项

1. 进入 SSL/TLS ,加密模式选择 完整(严格)。

部署

签发证书

1. 你需要先签发一本你域名的 SSL 证书,并将其存放至你的服务器中,这里不再过多解释。可以参考使用 acme.sh 申请证书

使用 Docker 一键运行 (推荐)

docker run -d -e CLUSTER_ID=<你的节点id> -e CLUSTER_SECRET=<你的节点密钥> -e CLUSTER_PUBLIC_PORT=443 -e CLUSRER_PORT=<你服务器运行的端口> -e CLUSTER_IP=<你的域名> -e SSL_KEY=cer/private.key -e SSL_CERT=cer/fullchain.cer -e TZ=Asia/Shanghai -v <镜像源数据存放的位置>:/opt/openbmclapi/cache -v <服务器证书存放的位置>:/opt/openbmclapi/cer
-p <你服务器运行的端口>:<你服务器运行的端口> --restart always --name openbmclapi bangbang93/openbmclapi

使用 Release

1. 从 Github Release 中选择对应你的系统的最新版本,下载,解压。

2. 在根目录创建 .env ,填入配置

CLUSTER_ID=<你的节点id>
CLUSTER_SECRET=<你的节点密钥>
CLUSTER_PORT=<你服务器运行的端口>
CLUSTER_PUBLIC_PORT=443
CLUSTER_IP=<你的域名>
CLUSTER_BYOC=true
DISABLE_ACCESS_LOG=true #可选,是否显示访问日志
SSL_CERT=cer/fullchain.cer
SSL_KEY=cer/private.key

3. 创建 cer 文件夹,放入你的SSL公钥和私钥,并分别重命名成 fullchain.cer 和 private.key。

Windows

右键 run.ps1 ,选择 使用 PowerShell 运行。

MacOS 和 Linux

运行 run.sh 。

从源代码运行

1. 首先,你需要安装 Node.JS 和 Git。

2. clone 项目,安装依赖,编译运行。

git clone https://github.com/bangbang93/openbmclapi
cd openbmclapi
npm ci
npm run build

3. 在根目录创建 .env ,填入配置。

CLUSTER_ID=<你的节点id>
CLUSTER_SECRET=<你的节点密钥>
CLUSTER_PORT=<你服务器运行的端口>
CLUSTER_PUBLIC_PORT=443
CLUSTER_IP=<你的域名>
CLUSTER_BYOC=true
DISABLE_ACCESS_LOG=true #可选,是否显示访问日志
SSL_CERT=cer/fullchain.cer
SSL_KEY=cer/private.key

4. 运行。

node dist/index.js

你可以使用systemd来管理OpenBMCLAPI,如何创建systemd配置文件这里不再过多赘述。

完成

至此,你的部署已经完成,接下来,节点会慢慢拉取文件,存放至 cache 文件夹中 (Docker则是你自定义的文件夹),拉取完成后,节点就会启动,CloudFlare会慢慢缓存你的文件,你节点的负载也会越来越小。

评论

  1. SALTWOOD
    Windows Edge
    1 月前
    2025-2-05 12:59:34

    很好,我也用上了(

  2. Windows Chrome
    1 月前
    2025-2-05 23:22:40

    奇怪,第一眼还以为是我的博客...

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇