EduOS is a Unix/FreeBSD-based educational operating system for Indian engineering colleges β integrating secure exams, learning tools, dev environments, cyber labs, and centralized campus administration.
Created by Jainam Maru β B.Tech Cybersecurity, Parul University
EduOS is built on FreeBSD 14.x β not Linux. This is a deliberate architectural decision:
| Factor | Linux (GPL v2) | FreeBSD (BSD License) |
|---|---|---|
| Source disclosure | Required if distributed | Not required |
| Proprietary layers | Cannot be closed | Can be fully closed |
| Used by | Android, most servers | macOS, PlayStation, Nintendo Switch |
EduOS's exam security engine, admin management system, and agent protocol are proprietary components that require a BSD license base.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Admin Laptop (2-5 devices) β
β PyQt6 Admin Panel + Server Token β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β WebSocket (campus LAN)
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β EduOS Server (gaming laptop) β
β FastAPI + SQLite + JWT Auth + Scheduler β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β WebSocket (campus LAN)
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Student PCs (EduOS FreeBSD) β
β Agent Daemon + Exam Mode + Learn Hub + CyberLab β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Module | Description | Status |
|---|---|---|
| π₯ AdminCenter | Centralized device management, exam control | β Active |
| π ExamMode | Secure lockdown exam environment | β Active |
| π LearnHub | Student learning portal (Flask) | β Active |
| π» DevSuite | Programming tools launcher | β Active |
| π CyberLab | Isolated cybersecurity practice | β Active |
| π« InstitutionManager | Multi-institution admin dashboard | β Active |
| π EcosystemDashboard | System-wide analytics | β Active |
| π€ Server | FastAPI backend with JWT auth | β Active |
| π Agent | FreeBSD rc.d daemon on student PCs | β Active |
- Installation
- Quick Start
- System Users
- Architecture
- Security
- Project Structure
- Pre-installed Tools
- Available Scripts
- License
# 1. Clone repo
git clone https://github.com/Dev9269/eduos.git /opt/eduos
# 2. Run desktop setup
sh /opt/eduos/Scripts/freebsd-desktop-setup.sh
# 3. Start the server (on admin laptop)
bash /opt/eduos/Server/start-server.sh
# 4. Generate admin token
python3 /opt/eduos/Server/generate-admin-token.pygit clone https://github.com/Dev9269/eduos.git
cd eduos
pip install -r requirements.txt
pytest tests/ -veduos-info # System information
eduos-exam # Launch secure exam mode
eduos-admin # Open administration console
eduos-learnhub # Open learning portal (or http://localhost:5050)
eduos-devsuite # Launch development environment
eduos-cyberlab # Open cybersecurity labs
eduos-juiceshop # Start OWASP Juice Shop (Docker)
burpsuite # Launch Burp Suite Community Edition
eduos-hardening # Apply system hardening| User | Password | Role |
|---|---|---|
student |
(random, written to /etc/eduos/credentials.conf) |
Daily learning |
exam |
(random, written to /etc/eduos/credentials.conf) |
Restricted examinations |
admin |
(set during installation) | Lab administration |
| Module | Tech | Purpose |
|---|---|---|
| Learn Hub | Flask + SQLite | Study materials, assignments, schedule |
| Exam Mode | PyQt6 + Cryptography | Secure exams with encryption |
| Admin Center | PyQt6 | System monitoring and lab management |
| Dev Suite | PyQt6 | 12-tool development environment |
| Cyber Lab | PyQt6 + Docker | Isolated security practice labs |
| Agent Service | Python + MQTT/WebSocket | Background device monitoring daemon |
| Central Server | FastAPI + WebSocket | JWT-protected device broker |
- UFW firewall, locked root, hardened SSH
- Restricted exam session: network/screenshot/terminal blocking
- Fernet-encrypted exam submissions with PBKDF2 key derivation
- Fernet-encrypted admin config with login gate
- JWT-authenticated agentβserver communication
- Process accounting and audit trails
- CyberLab containers isolated from host network
~/EduOS/
βββ AdminCenter/ # Administration console
βββ Branding/ # Logo, wallpaper, themes
βββ CyberLab/ # Security lab manager
βββ DevSuite/ # Dev environment launcher
βββ Documentation/ # Whitepaper and guides
βββ ExamMode/ # Exam app + admin tool
βββ LearnHub/ # Flask learning portal
βββ Packages/ # Live-build ISO recipes
βββ Scripts/ # Launchers and tools
βββ Server/ # Central broker (FastAPI)
βββ Services/ # Background agent daemon
βββ tests/ # Pytest suite (agent + server)
βββ .github/ # CI + ISO build workflows
βββ CHANGELOG.md # Complete build history
βββ EDUOS_WHITEPAPER.md # Full system documentation
βββ LICENSE # Dual license (BSD open + proprietary)
βββ README.md # This file
C, C++, Python, Java 21, JavaScript/Node.js, C# (.NET 8), Ruby, PHP, Perl β plus VS Code, Docker, Git, PostgreSQL, SQLite, CMake, and more.
Wireshark, Nmap, Burp Suite, OWASP Juice Shop, SQLmap, John the Ripper, Hydra, Aircrack-ng, nikto, tcpdump, and more β all running in isolated environments.
| Script | Purpose |
|---|---|
install-eduos.sh |
Full EduOS installation |
create-backup.sh |
Create system backup |
create-system-image.sh |
Build disk image for deployment |
eduos-desktop-setup.sh |
Apply KDE Plasma desktop layout |
eduos-admin-launcher.sh |
Launch Admin Center |
eduos-cyberlab-launcher.sh |
Launch Cyber Lab |
eduos-devsuite-launcher.sh |
Launch Dev Suite |
eduos-exam-launcher.sh |
Launch Exam Mode |
eduos-learnhub-launcher.sh |
Launch Learn Hub |
eduos-welcome.py |
First-run welcome wizard |
eduos-hardening.sh |
Apply system hardening |
install-docker.sh |
Docker setup script |
EduOS uses a dual-license structure: open components under the BSD 2-Clause license, and proprietary components (ExamMode, AdminCenter, Server, Services, InstitutionManager, CyberLab, LearnHub, DevSuite, EcosystemDashboard) with all rights reserved.
See LICENSE for details. Contributions are welcome β see CONTRIBUTING.md for guidelines.
Built with β€οΈ on FreeBSD 14.x Β· KDE Plasma 6