# 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 ## 📦 安装与部署 ### 依赖安装 ```bash pip install -r requirements.txt ``` ### 初始化数据库 ```bash python3 utils/database.py ``` *默认账号: `admin` / 密码: `admin123`* ### 启动服务 你可以直接使用控制脚本进行管理: ```bash chmod +x tonav-ctl.sh ./tonav-ctl.sh start ``` ## ⚙️ 服务管理命令 (tonav-ctl.sh) - `start`: 启动服务 - `stop`: 停止服务 - `restart`: 重启服务 - `status`: 查看运行状态 - `log`: 查看最后50行日志 - `logtail`: 实时查看日志 - `enable`: 设置开机自启 ## 📁 目录结构 ```text 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.