Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

778 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š EduOS

CI Stars Forks Last Commit License FreeBSD Python Tests

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


Why FreeBSD?

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.


Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚            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  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Modules

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

πŸ“‘ Table of Contents


πŸ“₯ Installation

On FreeBSD 14.x (Target Platform)

# 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.py

For Development (any OS)

git clone https://github.com/Dev9269/eduos.git
cd eduos
pip install -r requirements.txt
pytest tests/ -v

⚑ Quick Start

eduos-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

πŸ“‹ System Users

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

πŸ—οΈ Architecture

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

πŸ”’ Security

  • 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

πŸ“ Project Structure

~/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

πŸ–₯️ Pre-installed Development Tools

C, C++, Python, Java 21, JavaScript/Node.js, C# (.NET 8), Ruby, PHP, Perl β€” plus VS Code, Docker, Git, PostgreSQL, SQLite, CMake, and more.

πŸ›‘οΈ Pre-installed Security Tools

Wireshark, Nmap, Burp Suite, OWASP Juice Shop, SQLmap, John the Ripper, Hydra, Aircrack-ng, nikto, tcpdump, and more β€” all running in isolated environments.

βš™οΈ Available Scripts (Scripts/)

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

πŸ“œ License

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

About

EduOS - unified operating system for learning, secure examinations, cybersecurity training, software development, and campus administration

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages