521cd9ba4240e38b54a3552e32b9b8a7c2444d73
- add README.md with usage and deployment guide - fix category sync logic in backend - fix URL overflow in admin services list - fix data caching issues in front-end and back-end - add 'View Front-end' button in admin dashboard
ToNav - 个人导航页系统
ToNav 是一个轻量级、简洁美观的个人内网服务/常用链接导航系统。它采用 Flask + SQLite 架构,支持响应式布局、分类管理、服务健康状态检测以及完善的后台管理功能。
🎨 界面风格
继承自 contraband_manager 的设计语言:
- 紫色渐变背景: 现代感十足的视觉体验。
- 卡片式布局: 简洁直观的服务展示。
- 响应式设计: 完美适配电脑、平板及移动端。
- 状态感知: 实时显示服务的在线/离线状态。
🚀 核心功能
- 服务管理: 支持添加、修改、删除服务,支持自定义图标 (Emoji)、描述和排序权重。
- 分类管理: 灵活的分类系统,支持分类重命名及同步更新所属服务。
- 健康检测: 自动检测服务 URL 的可用性,前台实时反馈(在线 🟢 / 离线 🔴)。
- 后台管理: 完善的 Dashboard 统计,支持修改管理员密码。
- 防缓存机制: API 请求自带时间戳,确保数据修改后即刻生效。
🛠️ 技术栈
- 后端: Python 3 + Flask
- 数据库: SQLite 3
- 前端: HTML5 + CSS3 (Grid/Flexbox) + Vanilla JavaScript
- 部署: Systemd + Bash Control Script
📦 安装与部署
依赖安装
pip install -r requirements.txt
初始化数据库
python3 utils/database.py
默认账号: admin / 密码: admin123
启动服务
你可以直接使用控制脚本进行管理:
chmod +x tonav-ctl.sh
./tonav-ctl.sh start
⚙️ 服务管理命令 (tonav-ctl.sh)
start: 启动服务stop: 停止服务restart: 重启服务status: 查看运行状态log: 查看最后50行日志logtail: 实时查看日志enable: 设置开机自启
📁 目录结构
ToNav/
├── app.py # Flask 主应用
├── config.py # 系统配置文件
├── tonav.db # SQLite 数据库
├── tonav-ctl.sh # 服务管理脚本
├── templates/ # HTML 模板
│ ├── index.html # 前台展示页
│ └── admin/ # 后台管理页面
├── static/ # 静态资源 (CSS/JS)
└── utils/ # 数据库及认证工具类
Developed for personal use. Powered by OpenClaw.
Description
Languages
HTML
74.2%
Python
24.6%
Shell
1.2%