跳转到内容
搜教程里的步骤和配置项 例如 Vercel、Docker、TOKEN、播放器、域名。

手机 Termux 部署

目标:在安卓手机的 Termux 里跑起 danmu_api。按这页做完后,手机自己可以打开 http://127.0.0.1:9321,同一个 Wi‑Fi 下的电视、平板或电脑也可以用手机局域网 IP 访问。

这页按 Android 7 及以上写。命令一条一条复制,等上一条执行完、终端重新出现提示符,再继续下一条。

先装官方还在维护的来源,不要装 Play 商店旧版。

优先打开这两个入口之一:

如果走 GitHub Releases,Android 7 及以上选 apt-android-7 变体。 如果手机里以前装过别的来源的 Termux,先卸载旧版,再从同一个来源重新安装,避免签名不一致。

Termux 官方下载入口示例图
先从 F-Droid 或 GitHub Releases 安装 Termux。装好后直接打开 Termux。

打开 Termux 后,先更新软件列表:

Terminal window
pkg update

再升级已安装的软件包:

Terminal window
pkg upgrade

如果中途看到 Do you want to continue?,输入:

y

然后回车继续。

最后安装这 3 个工具:

Terminal window
pkg install git nodejs-lts nano
Termux 里更新系统并安装 git nodejs-lts nano 的终端示例图
这一步装好 Git、Node.js 和 nano。后面查手机 IP 不再额外安装工具,直接用 Android 自带命令。

第 3 步:检查 Git、Node.js、npm 和 nano

Section titled “第 3 步:检查 Git、Node.js、npm 和 nano”

依赖装完后,按顺序执行下面 4 条。

先检查 Git:

Terminal window
git --version

再检查 Node.js:

Terminal window
node -v

再检查 npm:

Terminal window
npm -v

最后检查 nano:

Terminal window
nano --version
Termux 里检查 git node npm nano 版本的终端示例图
都能显示版本号,再继续下一步。版本号不需要和图里完全一样。

先回到 Termux 的工作目录:

Terminal window
cd $HOME

再下载代码:

Terminal window
git clone https://github.com/huangxd-/danmu_api.git

下载完成后进入项目目录:

Terminal window
cd danmu_api
Termux 里 git clone danmu_api 并进入目录的终端示例图
看到提示符进入 ~/danmu_api 后,后面的命令都在这个目录里执行。

如果提示 destination path ‘danmu_api’ already exists,说明以前下载过这个目录。最简单的处理方式是换一个新目录重新下载:

Terminal window
cd $HOME
Terminal window
git clone https://github.com/huangxd-/danmu_api.git danmu_api_new
Terminal window
cd danmu_api_new

后面看到 danmu_api 的地方,如果你用的是新目录,就对应换成 danmu_api_new

确认当前目录在 danmu_apidanmu_api_new 后,执行:

Terminal window
npm install
Termux 里执行 npm install 安装依赖的终端示例图
依赖安装需要等一会儿。看到终端重新回到项目目录提示符,再继续。

如果手机内存小,安装时尽量不要切到后台,也先关掉其它大应用。

下面两条命令都要在项目目录里执行。

先复制配置文件:

Terminal window
cp config/.env.example config/.env

再用 nano 打开:

Terminal window
nano config/.env
Termux 里复制并用 nano 打开 config/.env 的终端示例图
执行 nano config/.env 后,会进入文件编辑界面。

如果提示找不到文件,说明当前目录不对。先回到项目目录:

Terminal window
cd $HOME/danmu_api

如果你前面用的是 danmu_api_new,就执行:

Terminal window
cd $HOME/danmu_api_new

然后重新执行复制和打开配置文件的命令。

看到 config/.env 内容后,先只改这两项:

TOKEN=***
ADMIN_TOKEN=***

如果你看到的是:

# ADMIN_TOKEN=***

就把最前面的 # 删除,再把后面的值改成自己的管理员令牌。

Termux nano 里填写 config/.env 的 TOKEN 和 ADMIN_TOKEN 的示例图
先只确认 TOKENADMIN_TOKEN。其它配置后面可以在前端系统配置里改。

这两个值这样用:

  • TOKEN:普通页面和接口访问用
  • ADMIN_TOKEN:管理员页面用;不设置就打不开管理员功能

改完后保存并退出 nano:

  1. Ctrl + O
  2. 回车
  3. Ctrl + X

如果手机键盘没有 Ctrl,看 Termux 顶部/底部的额外按键栏;有些手机也可以用音量下键当 Ctrl

回到项目目录里的 Termux,执行:

Terminal window
npm start
Termux 里执行 npm start 启动 danmu_api 的终端示例图
看到 Server running on http://0.0.0.0:9321,说明服务已经启动。这个 Termux 会话要保持打开。

现在手机自己打开浏览器访问:

http://127.0.0.1:9321

如果你设置了自己的 TOKEN,也可以直接打开:

http://127.0.0.1:9321/你的TOKEN

如果你想改端口,用这一种写法启动:

Terminal window
DANMU_API_PORT=8080 npm start

如果只在这台手机上测试,用 127.0.0.1 就够了。

如果同一个 Wi‑Fi 下的电视、平板或电脑也要访问,保持运行 npm start 的 Termux 会话不要关,然后到手机系统设置里看 IP。

不要再用 Termux 终端命令查 IP。不同手机限制不一样,ip 可能提示 Cannot bind netlink socket: Permission deniedgetpropifconfigdumpsys wifi 也可能没有输出。

按这个顺序找:

  1. 打开手机 设置
  2. 进入 WLAN / Wi‑Fi
  3. 点当前已经连接的 Wi‑Fi
  4. 打开 网络详情 / 更多信息 / IP 设置
  5. IP 地址IPv4 地址

看到类似 192.168.1.2310.0.0.12172.16.0.8 的地址,就是手机局域网 IP。

安卓 Wi-Fi 详情页查看 IPv4 地址的示例图
不同安卓手机入口名字可能不一样,重点是进入当前 Wi‑Fi 的详情页,找到 IP 地址IPv4 地址

例如你查到的是 192.168.1.23,那同一个 Wi‑Fi 下其它设备访问:

http://192.168.1.23:9321

如果你设置了自己的 TOKEN

http://192.168.1.23:9321/你的TOKEN

上游当前 Node 本地入口监听 0.0.0.0,所以同一个 Wi‑Fi 下的其它设备可以用手机局域网 IP 访问。

第 10 步:以后主要就改 config/.env

Section titled “第 10 步:以后主要就改 config/.env”

后面如果要改变量,先回到项目目录:

Terminal window
cd $HOME/danmu_api

如果你前面用的是 danmu_api_new,就执行:

Terminal window
cd $HOME/danmu_api_new

再打开配置文件:

Terminal window
nano config/.env
Termux 里重新进入项目目录并打开 config/.env 的终端示例图
改完 config/.env 后,大多数配置会自动重新加载;如果改的是端口,重新执行一次 npm start 最稳。

服务启动后,继续按 部署后自检 检查首页、弹幕测试和管理员入口。手机自己测试用 127.0.0.1;同一个 Wi‑Fi 下的电视、平板或电脑测试时,把 127.0.0.1 换成第 9 步查到的手机局域网 IP。

先确认:

  • 手机和播放器设备在同一个 Wi‑Fi
  • 填的是第 9 步查到的局域网 IP,不是 127.0.0.1
  • 手机没有切到移动数据
  • 运行 npm start 的 Termux 会话还开着

这是安卓电池优化常见问题。给 Termux 放开电池优化,再重新执行 npm start

手机内存紧时会这样。先关掉后台大应用,再回到项目目录重新执行:

Terminal window
npm install

本页命令已按 huangxd-/danmu_api 当前 README.mdpackage.jsonconfig/.env.exampledanmu_api/server.js 核对;Termux 安装来源按 termux/termux-app README 当前安装说明,Termux 包名按 termux/termux-packages 当前包目录核对。页面里的 Termux 终端图为按实际命令整理的示例图,版本号和下载进度可能不同。