我的GitHub第一个项目

🛡️ SpartanHost Monitor (Universal Edition)

一款专为 Spartan Host 设计的工业级库存监控系统,支持多平台 Linux 自动适配。提供交互式部署流程、自动邮件提醒及 RESTful API 支持,能够轻松完成库存监控应用的搭建。


License
Issues
Stars
Node
Lint
Architecture
Style
Security

🚀 技术栈支持


✨ 核心特性

  •  全系统适配:一键支持 Ubuntu, Debian, CentOS, AlmaLinux, Rocky, Fedora。
  •  交互式部署:安装时动态配置邮箱及密码,实现零代码基础配置。
  •  智能提醒:支持 Gmail 等 SMTP 服务,内置防骚扰冷却机制。
  •  安全加固:管理密码支持自定义或强随机生成,接口受鉴权保护。
  •  进程守护:基于 PM2 实现开机自启、崩溃重启及实时日志监控。
  •  RESTful API:预留库存数据及订阅者管理接口,方便二次开发。

🚀 快速开始

1️⃣ 克隆项目 (Git 方式)

git clone https://github.com/yokopro/spartanhost-monitor.git
cd spartanhost-monitor

2️⃣ 执行一键部署脚本

将自动识别系统环境并安装 Node.js 与 PM2

# 修复换行符并赋予权限
sed -i 's/\r$//' deploy.sh && chmod +x deploy.sh

# 运行交互式安装
./deploy.sh

3️⃣ 查看管理密码

如果在安装时选择了随机生成密码,请运行以下命令查看密码:

pm2 logs spartan-monitor --lines 50

🛠️ 运维管理指令

需求指令
实时日志pm2 logs spartan-monitor
状态面板pm2 status
重启应用pm2 restart spartan-monitor
停止监控pm2 stop spartan-monitor
资源监控pm2 monit
彻底卸载pm2 delete spartan-monitor && rm -rf $(pwd)

🔗 API 接口文档

系统默认运行在 3000 端口。

1️⃣ 实时库存数据

  • EndpointGET /api/stock
  • 说明: 返回当前监控的所有产品及其库存状态。

2️⃣ 查看订阅者清单

  • EndpointGET /api/subscribers
  • 认证: 需在 Request Header 中添加:password: 你的管理密码

3️⃣ 系统健康检查

  • EndpointGET /health

📂 项目结构

├── public/                # Web 前端页面 (订阅及展示)
├── server.js              # 后端核心逻辑与 API 服务
├── config.js              # 自动生成的配置文件 (由 deploy.sh 生成)
├── deploy.sh              # 终极全能交互式部署脚本
├── package.json           # 项目依赖清单
└── subscribers.json       # 订阅用户数据存储 (本地 JSON)

⚠️ 注意事项

  1. Gmail 用户
    • 请务必开启“两步验证”并使用 16 位应用专用密码,而非邮箱登录密码。
  2. 防火墙设置
    • 本脚本会自动尝试开放 3000 端口,若无法访问,请检查云服务商的安全组设置。
  3. 隐私保护
    • .gitignore 已默认忽略 config.js,请勿手动取消,防止授权码泄露至公共仓库。

联系我

📧邮件:mail.yaoyuan(@)gmail.com 如果还有其他需求或特色添加,请随时告诉我! 😊

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理