v2board/xboard/xiaoboard 开源后端中间件服务,防墙去特征、不怕墙、体积超小的免费中间件服务,支持 V2B/XB/xiaoboard,支持加密转发接口请求、响应,支持免登获取商品列表、免登获取付款方、免登创建订单接口,自建 SMTP,支持自定义邮件模板
- 适配后端面板: v2board \ wyxboard \ xboard
- 支持主题:🚀 AirRocket Theme
- 在线客服:🏄♂️ AirBuddy Service
- 交流群组:🚀 AirBuddy Theme
- 授权方式:免费开源
- 使用文档:📖 AirBuddy Docs
可以对接口的请求和响应进行加密处理,就像给你的数据穿上了一层保护衣,防止被墙,让数据传输更加安全。
- 免登获取商品列表:可以在用户不登录的情况下获取商品列表,方便用户浏览和选择商品
- 免登获取付款方式:可以在用户不登录的情况下获取付款方信息,方便用户进行支付
- 免登创建订单接口:可以在用户不登录的情况下创建订单并实现自动注册登录账号,简化了用户的操作流程
可以自建 SMTP 服务器,支持自定义邮件模板,方便用户发送邮件通知和营销邮件
在.env.example文件中包含了主要的环境变量配置,您可以根据需要进行修改。以下是一些主要的环境变量:
- ADMIN_TOKEN: 面板管理员令牌,用于身份验证和权限控制,如果你填了
ADMIN_EMAIL和ADMIN_PASSWORD则不需要填入ADMIN_TOKEN,因为每次启动服务都会自动生成一个新的ADMIN_TOKEN - ADMIN_EMAIL: 面板管理员邮箱账号
- ADMIN_PASSWORD: 面板管理员密码
- BACKEND_API_PREFIX: 面板管理后端 API 前缀
- DOMAIN: 你的后端域名,示例: https://api.xxx.com ,如果此服务和面板在同一台服务器上,可以使用局域网地址(局域网通信速度最佳,且可以关闭 v2board/xboard 面板对外的暴露),示例: http://127.0.0.1:3000
- PASSWORD: AES 加密密码,用于加解密,请和前端中的 security.password 保持一致
- MAIL_HOST: SMTP 邮件服务器地址
- MAIL_PORT: SMTP 邮件服务器端口
- MAIL_SECURE: SMTP 邮件服务器安全协议,true 或 false
- MAIL_USER: SMTP 邮件服务器用户名
- MAIL_PASS: SMTP 邮件服务器密码
- MAIL_NEWUSER_SUBJECT: 新用户注册邮件主题
- MAIL_NEWUSER_URL: 新用户注册邮件模板链接,用于向新用户发送注册成功和账号密码的通知,需自行创建一个邮件模板文件,并将其放置在 cdn 上,作为链接,设置到
MAIL_NEWUSER_URL环境变量中,如果不设置,将默认采用纯文本模板
我们提供了一个默认的邮件模板,你可以在 NewUser Email Template 下载下来修改网址和内容,或者自行创建一个新的邮件模板文件,并将其放置在 cdn 上,作为链接,设置到 MAIL_NEWUSER_URL 环境变量中,如果不设置,将默认采用纯文本模板。
此外,如果你需要定制更好看的邮件模板,我们非常推荐使用 wand email,这是一个非常好用的 AI 一键生成邮件模板工具
此项目你可以自行构建或者使用 release 中的产物,release 中包含了 js 构建产物、docker 产物、二进制文件、源码包,以下部署与使用方式均以 release 中的产物为例,本项目采用 Bun 作为构建工具,支持 Node.js 18+ 版本,环境要求如下:
- Node.js 18+ 版本
- Bun 1.0+ 版本
- Yarn 1.22+ 版本
-
下载 release 中的 docker 产物,文件名称为
airbuddy-security-docker-image-版本号.tar -
上传到宝塔中的文件目录,例如
/www/wwwroot/security -
在宝塔中打开 docker - 本地镜像,点击导入镜像,选择刚才上传的
airbuddy-security-docker-image-版本号.tar文件,此时镜像列表中会多出一个airbuddy-security:版本号镜像,如图所示:
-
您可以使用 docker 命令或者界面中的创建容器来创建容器,为了各位用户更方便使用,以下提供一份 docker 编排文件,在宝塔中使用容器编排来启动服务,你可以将其转成命令来使用
version: '3' services: airbuddy-security-service: # 替换为你实际的镜像名称和标签 image: airbuddy-security:1.0.1 container_name: airbuddy-security-service restart: always ports: # 将容器内部的 3000 端口映射到主机的 12020 端口 - "12020:3000" environment: # 以下是环境变量配置,请根据实际情况修改 - ADMIN_EMAIL=${ADMIN_EMAIL} - ADMIN_PASSWORD=${ADMIN_PASSWORD} - BACKEND_API_PREFIX=${BACKEND_API_PREFIX} - DOMAIN=${DOMAIN} - PASSWORD=${PASSWORD} - MAIL_HOST=${MAIL_HOST} - MAIL_PORT=${MAIL_PORT} - MAIL_SECURE=${MAIL_SECURE} - MAIL_USER=${MAIL_USER} - MAIL_PASS=${MAIL_PASS} - MAIL_NEWUSER_SUBJECT=${MAIL_NEWUSER_SUBJECT} - MAIL_NEWUSER_URL=${MAIL_NEWUSER_URL}
-
服务启动后,在网站 - 反向代理,点击添加反代,域名设置你对外公开的域名,目标 url 填写本机地址 + compose 中的端口号,例如上面compose 对应的端口示例: http://127.0.0.1:12020 , 名称可以随意填写,例如
airbuddy-security,然后点击提交即可,如下所示:
最后,通过访问 https://你配置的域名/api/v1/guest/comm/config 来测试服务是否正常运行,如果返回了配置数据,则表示服务运行正常
该部署方式需要先确保全局安装了 Bun、 Yarn、 Node.js 等依赖工具,以下是环境安装步骤,如若遇到问题请自行百度
# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"
# 下载与安装 Node.js:
nvm install 22
# 验证 Node.js 版本:
node -v # Should print "v22.16.0".
nvm current # Should print "v22.16.0".
# 验证 npm 版本:
npm -v # Should print "10.9.2".
# 下载安装 Bun 并验证
curl -fsSL https://bun.sh/install | bash # 针对 macOS、Linux 和 WSL
bun -v # 查看 Bun 版本来验证 Bun 是否安装成功
# 安装 Yarn
npm install -g corepack
# 启用 Yarn
corepack enable # 开启 corepack
yarn -v # 查看 Yarn 版本来验证 Yarn 是否安装成功,第一次会提示你是否要下载,输入 Y 即可安装步骤正在编写中...
该部署方式和源码包都需要先确保全局安装了 Bun、 Yarn、 Node.js 等依赖工具,参考上面的环境安装步骤
安装步骤正在编写中...
安装步骤正在编写中...
git clone yarn install cp .env.example .env # 复制环境变量配置文件 => 生产环境使用
cp .env.exampl .env.local # 复制环境变量配置文件 => 本地调试使用 yarn run build # 构建 js 产物
yarn run build:executable # 构建二进制文件
docker build -t airsecurity . # 构建 docker 镜像 yarn run start # 启动服务
yarn run dev # 本地调试
docker run -d --name airsecurity -p 3000:3000 airsecurity # 启动 docker 容器