- Project Structure
- Prerequisites
- Local Setup Instructions
- Correct Runtime Command
- How to Use the App
- Dependencies Explained
- Main API Areas
- How to Test
User-Friendly-System-Call-Interface-for-Enhanced-Security/
βββ backend/
β βββ app.py
β βββ config.py
β βββ database/
β βββ routes/
β βββ utils/
β βββ ssci_files/
βββ frontend/
β βββ index.html
β βββ css/
β βββ js/
β βββ pages/
βββ database/
βββ docs/
βββ requirements.txt
Before running the project, make sure you have:
- Python 3.10 or newer
pip- A browser like Chrome, Edge, or Firefox
git clone https://github.com/sushantranjan912/User-Friendly-System-Call-Interface-for-Enhanced-Security.git
cd User-Friendly-System-Call-Interface-for-Enhanced-Securitypython -m venv venv
venv\Scripts\activatepython3 -m venv venv
source venv/bin/activateThe dependency file is in the project root.
pip install -r requirements.txtThe app reads values from a .env file through python-dotenv.
You can create a .env file inside backend/ and add values like these:
SECRET_KEY=your-secret-key
JWT_SECRET_KEY=your-jwt-secret
DATABASE_PATH=database/database.db
ENCRYPTION_KEY=your-fernet-keyIf you skip this step, the project uses development defaults, but custom values are better for real use.
Go into the backend folder and start Flask directly.
cd backend
python app.pyOn Windows, if python does not work, try:
py app.pyVisit:
http://localhost:5000
The Flask server serves the frontend from the same address, so there is no separate frontend startup command.
This project uses Flask, not FastAPI.
So the correct command is:
python app.pyNot:
uvicorn main:app --reload- register or log in
- upload or manage allowed files
- run only permitted system commands
- view personal logs and history
- restore deleted files from the recycle bin if allowed
- manage users and view broader system activity
- see audit logs and security events
- monitor file actions and command history
- review unauthorized or failed actions
- access only limited read-only actions
- no edit or destructive permissions
Flask is the web framework used to build the backend server and API routes.
This helps the frontend talk to the backend during local development.
Used to create and verify login tokens after authentication.
Used to hash passwords safely before storing them in the database.
Loads values from a .env file so secret settings do not have to be hard-coded.
Used here for secure encryption and decryption of sensitive log details.
The backend is organized into separate routes for clarity:
/api/authβ register, login, logout/api/systemβ approved system command execution and history/api/filesβ file manager actions/api/recycle-binβ restore or permanently delete removed files/api/logsβ audit logs and log statistics
- Open the project in your editor and check that
README.mdhas clear setup steps. - Create and activate the virtual environment.
- Install dependencies with
pip install -r requirements.txt. - Run the backend using
python app.pyfrom thebackendfolder. - Open
http://localhost:5000in your browser. - Check that the frontend loads and the API responds normally.
You can also test the API by opening:
http://localhost:5000/api/test
based on your requirements.