Skip to content

wyf9/sleepy

Repository files navigation

sleepy

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

功能 / TODO / 演示 / 部署 / 使用 / 关于

功能

  • 自行设置在线状态
  • 实时更新设备打开应用 (名称)
  • 美观的展示页面 [见 Preview]
  • 开放的 Query / Metrics 接口, 方便统计

功能

  • 拆分 config.jsonc (只读) 和 data.json (#3)
  • 网页使用 SSE (Server Send Events) 刷新状态
  • 网页使用 api 请求,并实现定时轮询刷新 (备选方案)
  • 设备使用状态 (包括 是否正在使用 / 打开的应用名)
  • Windows 客户端 (Python)
  • Android 客户端 (Autox.js)
  • 查看更多客户端 (如浏览器脚本等)
  • Metrics API (统计页面访问 / 接口调用次数)
  • 设备状态使用 Heartbeat 超时判定未在使用
  • 更多状态存储选项 (如 SQLite)

Tip

最新开发进度/ TODOs 见: Discord Server
如有 Bug / 建议, 可 issueMore contact (注明来意).

对智能家居 / Home Assistant 感兴趣的朋友,一定要看看 WinMEMZ 的 sleepy 重生版: maoawa/project-sleepy!

Preview

演示站 (稳定): sleepy.wyf9.top

开发预览 (不保证可用): sleepy-preview.wyf9.top

区别: 演示站为 wyf9 个人站点; 预览站允许测试 API,且直接运行开发版本 (密钥 wyf9test)

Warning

不要拿演示站做坏事 (比如 js 注入,已由 DeepSeek 强力修复) ,没准哪天我会加访问日志

部署

理论上全平台通用, 安装了 Python >= 3.6 即可 (建议: 3.10+)

  1. Clone 本仓库 (建议先 Fork / Use this template)
git clone --depth=1 -b main https://github.com/wyf9/sleepy.git
  1. 安装依赖
pip install -r requirements.txt
  1. 编辑配置文件

在目录下新建 .env 文件 (参考 .env.example 填写), 也可以直接设置相应的环境变量

Important

配置示例
注意: 环境变量的优先级高于 .env 文件

使用

使用宝塔面板 (uwsgi) 等部署时,请确定只为本程序分配了 1 个进程, 如设置多个服务进程可能导致数据不同步!!!

有两种启动方式:

# 直接启动
python3 server.py
# 简易启动器
python3 start.py

默认服务 http 端口: 9010

我承认你的代码写的确实很nb,但对我来说还是太吃操作了

by @kmizmal

点!此!展!开! (大图警告)

有没有更简单无脑的方法推荐一下 有的兄弟,有的! 这样的方法有很多个,各个都是GitHub T0.5的操作 我怕教太多了你学不会,现在只要点 这里
然后自己去注册一个账号 参考.env.example在Setting==>Variables and secrets添加环境变量配置 然后在这里: 链接 就可以复制你的URL,填入你选择的 /client 对应的url配置中即可快速开始

客户端示例

如果你想直接开始使用,可在 /client 找到客户端 (用于手动更新状态/自动更新设备打开应用)

API

详细的 API 文档见 doc/api.md.

优化站点

Best Practice.

Tip

想自定义你的状态列表 / metrics 统计白名单? 见 Setting README

更新

git pull
pip install -r requirements.txt

Huggingface 更新
Setting ==> Variables and secrets ==> 更改对应的新增配置项 ==> Factory rebuild

Star History

Star History Chart

关于

本项目灵感由 Bilibili UP @WinMEMZ 而来: site / blog, 并部分借鉴使用了前端代码, 在此十分感谢。

templates/steam.html 来自项目 gamer2810/steam-miniprofile.

也欢迎参观 WinMEMZ (GitHub: maoawa) 的原版!maoawa/sleepy

感谢 @1812z 的 B 站视频推广~ (BV1LjB9YjEi3)