chengbuwan wiki

(重置版)使用cloudflare内网穿透加astrbot和napcat部署qq机器人

本教程演示在 Ubuntu 24.04 服务器上,利用 Cloudflare Tunnel 将本地 6185(AstrBot)和 6099(NapCat)端口映射至自有域名,实现无需公网 IP 或端口转发的 QQ 机器人。步骤包括下载安装 cloudflared 并创建名为 qqbot 的隧道、编写包含两服务的配置文件、安装 Python 3.12、通过脚本部署并初始化 AstrBot 与 NapCat、在 AstrBot 面板添加 OneBot v11 适配器(端口 6199)并在 NapCat WebUI 配置对应 WebSocket 客户端。验证后即可通过域名登录、收发 QQ 消息,系统支持热更新和自动恢复,适合长期稳定运行,并可进一步添加插件实现 AI 对话、定时任务等功能。

评论
(重置版)使用cloudflare内网穿透加astrbot和napcat部署qq机器人

本期教程使用cloudflare 内网穿透加astrbot和napcat部署qq机器人,并且本次教程不使用doctor部署

cloudflare 内网穿透 Linux部署教程链接

cloudflare Linux内网穿透教程

想要qq机器人?astrbot加napcat部署教程

0.准备工作

一台家里云,2核2G就够了

1.重装家里云服务器

系统选择Ubuntu-24.04.1

重装

2.安装cloudflare 内网穿透

注:最新版本cloudflare内网穿透不需要之前那篇教程麻烦

1.安装cloudflare内网穿透

执行

wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -O /usr/local/bin/cloudflared && chmod +x /usr/local/bin/cloudflared

然后登录cloudflare

cloudflared tunnel login

登录好后创建隧道,后面的bot你可以改,那是隧道名字,但是不建议你改后面的配置教程都是用这个隧道名字的

cloudflared tunnel create qqbot

2.编写配置文件

tunnel: qqbot
credentials-file: /root/.cloudflared/xxx.json

ingress:
  - hostname: 你的域名
    service: http://localhost:6185
  - hostname: 你的域名
    service: http://localhost:6099
  - service: http_status:404

(注:6185是astrbot,6099是napcat)

3.启动隧道

执行

cloudflared tunnel run qqbot

2.安装Python 3.12(必须)

执行

sudo apt update && sudo apt install -y build-essential libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev libffi-dev && cd ~ && wget https://mirrors.huaweicloud.com/python/3.12.4/Python-3.12.4.tgz && tar -xzf Python-3.12.4.tgz && cd Python-3.12.4 && ./configure --enable-optimizations && make -j $(nproc) && sudo make altinstall && cd .. && rm -rf Python-3.12.4* && python3.12 --version

出现版本号即可

3.部署astrbot

执行

bash -c "$(curl -fsSL https://raw.githubusercontent.com/AstrBotDevs/AstrBot/master/docs/scripts/deploy-cli.sh)"

然后在执行

# 首次启动前,建议先执行初始化(生成配置文件)
astrbot init

# 启动 AstrBot 服务
astrbot run

然后用你的配置6185的域名尝试能不能打开,账号名astrbot,密码查看日志(注:请不要关闭终端)

4.napcat部署教程

新开一个终端,执行

curl -o napcat.sh https://nclatest.znin.net/NapNeko/NapCat-Installer/main/script/install.sh && sudo bash napcat.sh

执行

然后尝试能不能打开,token也在日志

注:(请不要关闭终端)

5.连接astrbot和napcat

在 AstrBot 面板(首次打开要求登录qq,注意登录的qq是要做机器人的qq号不是你的大号qq号)(https://你的域名):

· 左侧菜单 → “消息平台” → “新增适配器” → 选择 aiocqhttp (OneBot v11)

· 监听地址填 0.0.0.0,端口填 6199,保存。

2. 在 NapCat WebUI(https://你的域名):

· 使用日志中的 Token 登录。

· 找到“网络配置” → “WebSocket 客户端” → 新建

· URL 填:ws://127.0.0.1:6199/ws

· 消息格式选 Array,启用并保存

3. 验证:

· 在 AstrBot 日志中看到 [OneBot] 客户端已连接 即成功

· 用手机 QQ 给机器人发消息,测试回复

6.结尾

至此,你已经拥有了一套完整的、可通过域名访问的 QQ 机器人系统。这套方案避开了公网 IP 和复杂端口映射,且所有组件均支持热更新和自动恢复,非常适合长期稳定运行

你可以在此基础上自由探索 AstrBot 的插件生态,实现定时任务、AI 对话、群管等功能

版权声明:本文为原创教程,转载请注明出处。部署过程中请遵守相关开源协议及软件使用规范

制作:chengbuwan 欲蓝工作室

评论

推荐阅读

订阅邮件

订阅更新,及时收到最新文章。

作者