mahdy47/cyberstudyhub

GitHub: mahdy47/cyberstudyhub

面向网络安全学生的全功能学习管理 Web 应用,集成任务管理、番茄钟、加密笔记、CTF 追踪和漏洞文档等模块,帮助系统化组织安全学习内容。

Stars: 0 | Forks: 0

# 🛡️ CyberStudyHub ![Version](https://img.shields.io/badge/version-1.0.0-06b6d4?style=for-the-badge) ![License](https://img.shields.io/badge/license-MIT-22c55e?style=for-the-badge) ![React](https://img.shields.io/badge/React-19-61dafb?style=for-the-badge&logo=react) ![TypeScript](https://img.shields.io/badge/TypeScript-5-3178c6?style=for-the-badge&logo=typescript) ![Node.js](https://img.shields.io/badge/Node.js-Express-339933?style=for-the-badge&logo=node.js) ![Prisma](https://img.shields.io/badge/Prisma-2D3748?style=for-the-badge&logo=prisma) ![SQLite](https://img.shields.io/badge/SQLite-003B57?style=for-the-badge&logo=sqlite) 为网络安全学生整理学习内容而设计的 Web 应用。管理任务、记录笔记、使用 Pomodoro 计时器追踪学习时间、记录 CTF 挑战以及为漏洞编写文档——一切尽在其中。 ## 📸 截图 | 登录 | Dashboard | |-------|-----------| | ![登录](docs/screenshots/login.png "Login") | ![Dashboard](docs/screenshots/dashboard.png "Dashboard") | ## ✨ 功能 - ✅ **任务管理** — 带有优先级、截止日期和状态跟踪的任务 - ⏱️ **Pomodoro 计时器** — 通过学习会话和历史记录保持专注 - 📝 **加密笔记** — 使用基于用户的加密密钥保护的学习笔记 - 🏴 **CTF 跟踪器** — 记录挑战、flag、writeup 和进度 - 🔓 **漏洞文档** — 记录 CVE 及其严重程度、CVSS 分数、PoC 和修复方案 - 👑 **管理员 Dashboard** — 管理用户、角色并查看活动审计日志 - 🔐 **安全** — 带有 refresh token 轮换的 JWT 身份验证、2FA (TOTP)、CSRF 防护、速率限制、httpOnly cookie ## 🛠️ 技术栈 | 层级 | 技术组件 | |-----------|-------------------------------------------------| | Frontend | React 19, TypeScript, Vite, Tailwind CSS 4 | | Backend | Node.js, Express, TypeScript | | Database | SQLite + Prisma ORM | | Security | Helmet, bcrypt, jsonwebtoken, speakeasy (2FA), zod validation | ## 🚀 快速开始 ### 1. 安装依赖 ``` npm install ``` ### 2. 配置环境 将示例环境变量文件复制到 server 文件夹中并填写你的值: ``` cp .env.example packages/server/.env ``` ### 3. 设置数据库 ``` npm run db:push -w packages/server ``` ### 4. 运行应用 在两个独立的终端中执行: ``` npm run dev:server # API on http://localhost:3000 npm run dev:client # UI on http://localhost:5173 ``` ## 🗂️ 项目结构 ``` ├── packages/ │ ├── client/ # React frontend (Vite) │ │ └── src/ │ │ ├── auth/ # Login / Register │ │ ├── tasks/ # Task dashboard │ │ ├── pomodoro/ # Pomodoro timer │ │ ├── notes/ # Encrypted notes │ │ ├── ctf/ # CTF challenge tracker │ │ ├── vulns/ # Vulnerability docs │ │ └── admin/ # Admin dashboard │ └── server/ # Express API + Prisma │ └── src/ │ ├── auth/ # Auth routes, service, validation │ ├── tasks/ # Task module │ ├── pomodoro/ # Pomodoro module │ ├── notes/ # Notes module │ ├── ctf/ # CTF module │ ├── vulns/ # Vulnerability module │ ├── admin/ # Admin module │ ├── stats/ # Dashboard stats endpoint │ └── core/ # Middleware, errors, logger, db ``` ## 🧪 测试 **API 测试:** ``` npm run dev:server # start the API first node packages/server/test-api.mjs # then run the API tests ``` **E2E 浏览器测试 (Playwright):** `packages/client/e2e/` 中的脚本使用 Playwright 自动化操作真实的 UI —— `tests.spec.mjs`(核心流程)和 `comprehensive.spec.mjs`(扩展覆盖范围)测试了注册/登录、任务、加密笔记、CTF 跟踪器、漏洞文档、Pomodoro 计时器以及设置,此外还包括响应式、导航和控制台错误检查。 ``` npm run dev:server # terminal 1 npm run dev:client # terminal 2 node packages/client/e2e/tests.spec.mjs ``` ## 📦 Docker 包含一个 `docker-compose.yml` 文件,用于容器化部署。 ## 📄 许可证 MIT 许可证 — 详情请参阅 [LICENSE](LICENSE)。 怀着 ❤️ 为网络安全学生制作。
标签:CTF记录, GNU通用公共许可证, MITM代理, Node.js, React, Syscalls, 任务管理, 加密笔记, 学习管理, 漏洞文档, 特征检测, 自动化攻击, 请求拦截