Skip to content

kmizmal/sleepy-node

Repository files navigation

欢迎来到 Sleepy-node 的后端项目

一个用于 视奸 查看个人在线状态 (以及正在使用软件) 的 Flask 应用,让他人能知道你不在而不是故意吊他/她

功能

  • RESTful API 接口(状态查询、身份验证、事件推送等)
  • Server-Sent Events (SSE) 实时事件推送支持
  • 灵活的跨域(CORS)策略,允许指定域名访问
  • 详细的请求和错误日志,方便排查与监控
  • 进程优雅关闭和异常捕获机制,保证稳定运行

Preview

个人站点: sleepy.zmal.top


环境要求

  • Node.js 14 及以上版本
  • npm,pnpm 或 yarn 包管理器

快速开始

git clone https://github.com/kmizmal/sleepy-node
cd sleepy-node
mv .env.example .env
pnpm install
pnpm start

配置说明

在项目根目录创建 .env 文件,配置如下变量:

PORT=3000                  # 服务监听端口,默认3000
SECRET=zmal                # SET_SECRET,设置用的密钥
GET_SECRET=zmal_get        # GET_SECRET,获取用的密钥
LOG_LEVEL=info             # 日志级别,默认 info

allowedOrigins.json

[
  "http://localhost:3000",
  "http://127.0.0.1:5500"
]

启动服务

pnpm start

默认监听 .env 中配置的端口。


API 路由说明

路径 功能说明 请求方式
/api/status 状态设置 POST/GET
/events SSE 实时事件推送 GET
/health 健康检查 GET

日志说明

  • 使用 winston 进行日志记录
  • 请求日志包含请求方法、路径、响应状态和耗时,排除 /health/events 路由
  • 错误日志记录异常详细信息及请求上下文
  • 日志按分类(API、系统、CORS、SSE)分组,方便分析

进程管理

  • 支持优雅关闭(监听 SIGTERM 信号,关闭 SSE 连接后退出)
  • 捕获未处理的异常和 Promise 拒绝,防止服务崩溃

贡献指南

欢迎提交 Issue 和 Pull Request

相关项目


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published