Skip to content

这是对bangbang93的OpenBMCLAPI的修改版,将默认上线地址修改为了OpenMCIM的地址,以方便上线OpenMCIM

License

Notifications You must be signed in to change notification settings

ZeroWolf233/node-openmcim

Repository files navigation

Node-OpenMCIM

这是对 bangbang93OpenBMCLAPI 项目的修改版

为了方便上线 OpenMCIM 而修改了部分内容

关于OpenMCIM

借鉴 OpenBMCLAPI 使用网盘缓存的先例,旨在为中国大陆用户提供稳定的 Mod 信息镜像服务并解决国内下载 Mod 速度缓慢的问题。

OpenMCIM是对外开放的,所有需要 Minecraft Mod 资源的启动器均可调用。

OpenMCIM 文件分发相关

变量

环境变量 必填 默认值 说明
CLUSTER_ID - 节点 ID
CLUSTER_SECRET - 节点密钥
CLUSTER_IP 自动获取公网出口IP 用户访问时使用的 IP 或域名
CLUSTER_PORT 4000 监听端口(本地开放的端口)
CLUSTER_PUBLIC_PORT CLUSTER_PORT 对外端口(用户请求时访问的端口)
CLUSTER_BYOC false 是否使用自定义域名, (BYOC=Bring you own certificate),当使用国内服务器需要备案时, 需要启用这个参数来使用你自己的域名, 并且你需要自己提供ssl termination
ENABLE_NGINX false 使用 nginx 提供文件服务
DISABLE_ACCESS_LOG false 禁用访问日志输出
ENABLE_UPNP false 启用 UPNP 端口映射
CLUSTER_BMCLAPI https://files.mcimirror.top 更改上线地址(测试变量)
CLUSTER_STORAGE files 使用其他存储源的类型(默认为本地)
CLUSTER_STORAGE_OPTIONS 挂载其他存储源的配置项
SKIP_FILE_SHA_CHECK false 防止主控SHA爆炸,强制忽略SHA问题上线
SKIP_SYNC false 强制跳过所有同步(不推荐)
SKIP_GC false 跳过GC垃圾自动回收(由 千时雨 提供)
THREADS 由主控分配 同步线程(改太高会被banban)
UA openmcim-cluster/${version} 获取token和同步的UA
SSL_KEY (仅开启BYOC时) SSL 证书私钥。可以直接粘贴证书内容,也可以填写文件名
SSL_CERT (仅开启BYOC时) SSL 证书公钥。可以直接粘贴证书内容,也可以填写文件名

如果你在源码中发现了其他环境变量, 那么它们是为了方便开发而存在的, 可能会随时修改, 不要在生产环境中使用!

Alist使用方法

在.env中加上

CLUSTER_STORAGE=alist
CLUSTER_STORAGE_OPTIONS={"url":"http://127.0.0.1:5244/dav","basePath":"mcim","username":"admin","password":"admin" }
#                                      ↑AList地址(别忘了加/dav)          ↑文件路径         ↑账号(有webdav权限)  ↑密码

按照需要修改

温馨提示

如从 Go 端迁移至 Node 端,你Alist里面的目录应该是这样的:

mcim/
├── download/
│   ├── 00/
│   ├── 01/
|   ├── 03/
│   └── xx(下面一堆文件夹,不一一列举)/
├── measure/
│   ├── 1
│   ├── 2
│   └── 3

此时你basepath的地址就应该填写"mcim/download"

(即确保 Node-OpenMCIM 程序读取的根目录为有效文件所存储目录)

安装包

Github Release 中下载你系统对应的最新版本

解压,然后根据对应信息,参照上方表格填写.env文件

随后启动脚本,即可开始运行

使用Docker

docker run -d \
-e CLUSTER_ID=${CLUSTER_ID} \
-e CLUSTER_SECRET=${CLUSTER_SECRET} \
-e CLUSTER_PUBLIC_PORT=${CLUSTER_PORT} \
-e TZ=Asia/Shanghai \
-v /data/mcim:/opt/mcim \
-p ${CLUSTER_PORT}:${CLUSTER_PORT} \
--restart unless-stop \
--name mcim \
zerowolf233/mcim

从源码安装

环境

  • Node.js 20 以上
  • Windows/MacOS/Linux
  • x86/arm 均可 (需支持Nodejs)

设置环境

  1. https://nodejs.org/zh-cn/ 下载LTS版本的nodejs并安装
  2. Clone 并安装依赖
git clone https://github.com/ZeroWolf233/node-openmcim
cd node-openmcim 
## 安装依赖
npm ci
## 编译
npm run build
## 运行
node dist/index.js
  1. 如果你看到了 CLUSTER_ID is not set 的报错, 说明一切正常, 该设置参数了

设置参数

在项目根目录创建一个文件, 名为 .env

写入如下内容

CLUSTER_ID=你的节点ID
CLUSTER_SECRET=你的节点密钥
CLUSTER_PORT=你的开放端口
# 更多变量请看上方变量的详细解释

如果配置无误的话, 运行程序, 就会开始拉取文件, 拉取完成后就会开始等待服务器分发请求了!

致谢

About

这是对bangbang93的OpenBMCLAPI的修改版,将默认上线地址修改为了OpenMCIM的地址,以方便上线OpenMCIM

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published