Skip to content

NexusSync is a Flask-based Super Admin Portal for managing system configs, monitoring, and threat intelligence — built to be the foundation for any scalable web app.

License

Notifications You must be signed in to change notification settings

sudo0xn14r/NexusSync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NexusSync

NexusSync is a powerful, secure, and modular Flask-based super admin portal designed to make managing infrastructure, monitoring system performance, and staying ahead of security threats much easier. It’s built with scalability and security at its core, giving super administrators all the tools they need to configure, monitor, and audit their systems with confidence. More than just an admin panel, NexusSync is meant to be the starting point for any Flask web application. Whether you're working on a CRM, ERP, ecommerce platform, or any other enterprise-level project, NexusSync lays down a solid foundation you can build on — with the structure, flexibility, and features to grow as your application does.


🚀 Features

  • 🧩 Core Functionalities

    • Centralized system configuration.
    • Key x Value entries for a friendly setup.
    • Necessary fallbacks. (Temporary until project completion).
    • Change superadmin password.
    • All actions are logged via a centralized logger.
    • Audit log viewing, filtering, exporting, and wiping.
  • 🛢️ Database Tools

    • Health check & diagnostics.
    • Export and import database backups.
    • Run custom SQL queries safely inside the web app.
    • Basic and extended database configuration management.
  • 🌐 IP Management

    • IP whitelist and blacklist configuration.
    • Manual banning of IPs or ranges.
    • Integration with Spamhaus DROP list.
    • Integration with AbuseIPDB for risk scoring.
  • 🧠 Threat Intelligence (EXPERIMENTAL AT THIS STAGE)

    • Early warning system with port scanning and honeypot correlation.
    • Threat scoring from local + external sources.
    • GeoIP and ASN analysis for context.
    • Partially working advanced correlation engine (in progress).
  • 📊 System Monitoring

    • Real-time CPU, memory, disk, and DB metrics.
    • Historical monitoring with timeline graphing.
    • Wipe metric history.
    • Export metrics as PNG or CSV.
    • Anomaly detection based on metrics (Coming Soon).
  • 📬 Email & Notifications

    • Email server setup and test tool (Partially implemented).
    • SMTP configuration UI.
    • Editable email templates in the UI (Coming Soon).
    • Email contacts lists and broadcast system (Coming Soon).
  • ⚙️ System Configuration

    • Live-editable config values stored in the database.
    • Startup Config Defaults.
    • Add/edit environment variables from the admin UI (Partially implemented).
  • 🛡️ Security & Logging

    • OWASP Secure Coding Practices (Planned).
    • Role-based access control.
    • CSP & HTTPS enforcement. (HTTPS is currently experimental)
    • SIEM export in CEF, LEEF, JSON, and syslog formats (Under Development).

🖼️ Screenshots

🏠 Landing Page

Landing Page

🔐 Login Portal

Login Portal

🧑‍💼 Super Admin Dashboard

Super Admin Dashboard

⚙️ System Configuration

System Configuration

🌐 IP & Threat Intelligence Management

IP & Threat Intelligence Management

📈 Monitoring Dashboard

Monitoring Dashboard

📝 Audit Logs

Audit Logs

✉️ Email Configuration

Email Configuration

🏗️ Project Structure

SuperAdminPortal/
├── app/
│   ├── __init__.py
│   ├── extensions.py
│   ├── blueprints/
│   │   ├── main/
│   │   │   ├── __init__.py
│   │   │   └── views.py
│   │   ├── filters/
│   │   │   └── __init__.py
│   ├── superadmin/
│   │   ├── __init__.py
│   │   ├── routes/
│   │   │   ├── __init__.py
│   │   │   ├── main.py
│   │   │   ├── audit_logs.py
│   │   │   ├── cli_config.py
│   │   │   ├── config_keys.py
│   │   │   ├── decorators.py
│   │   │   ├── geoip.py
│   │   │   ├── logger.py
│   │   │   └── *.py
│   │   ├── models/
│   │   │   └── *.py
│   │   ├── forms.py
│   ├── core/
│   │   ├── cookies.py
│   │   ├── error_handlers.py
│   │   ├── forms_shared.py
│   │   ├── location.py
│   │   ├── rate_limits.py
│   │   ├── security.py
│   ├── models/
│   │   ├── __init__.py
│   │   └── *.py
│   ├── intelligence/
│   │   ├── __init__.py
│   │   ├── behavioral.py
│   │   ├── blocklist.py
│   │   ├── constants.py
│   │   ├── correlation.py
│   │   ├── geoip.py
│   │   ├── scanning.py
│   │   ├── siem.py
│   │   ├── spamhaus.py
│   ├── templates/
│   │   ├── base.html
│   │   ├── includes/
│   │   │   └── alerts.html
│   │   ├── errors/
│   │   │   └── 404.html, 500.html, ...
│   │   ├── main/
│   │   │   └── index.html
│   │   ├── superadmin/
│   │       └── *.html
│   ├── static/
│   │   ├── css/
│   │   │   └── style.css
│   │   ├── js/
│   │       └── script.js
├── static/
│   ├── css/
│   └── js/
├── instance/
│   ├── app.db
│   ├── GeoLite2-*.mmdb
│   └── superadmin_audit.log
├── requirements.txt
├── README.md
├── main.py
└── project_tree.py

⚙️ Setup ✅ Prerequisites

Make sure you have the following installed:

Python 3.10+

pip

git

A terminal or command prompt

Installation

🪟 Windows Installation

Clone the repository

git clone https://github.com/sudo0xn14r/NexusSync.git cd NexusSync

Create a virtual environment

python -m venv venv

Activate the environment

venv\Scripts\activate

Install dependencies

pip install -r requirements.txt

Run the app

python main.py

🐧 Linux/macOS Installation

Clone the repository

git clone https://github.com/sudo0xn14r/NexusSync.git cd NexusSync

Create a virtual environment

python3 -m venv venv

Activate the environment

source venv/bin/activate

Install dependencies

pip install -r requirements.txt

Run the app

python3 main.py

🔐 Configuration 🔑 Default Credentials

You can log in using the built-in superadmin account:

Username: superadmin

Password: iamthesuperadmin123!

🔧 Optional .env File

You can also create a .env file for easier configuration:

SECRET_KEY=your-secret-key FLASK_ENV=development SQLALCHEMY_DATABASE_URI=sqlite:///instance/app.db ABUSEIPDB_API_KEY=your-api-key

Alternatively, all of this can be configured directly from the SuperAdmin dashboard.


🔗 Application Entry Points


🧭 Roadmap

🚧 In Progress

  • Enhance in-app database CLI capabilities for executing and managing SQL operations with improved usability and safety
  • Extend email functionality with editable templates:
    • User registration confirmation
    • Two-factor authentication prompts
    • Critical system notifications
  • Add startup and periodic health checks for system diagnostics
  • Introduce privacy tooling to manage and audit personally identifiable information (PIIs)
  • Enhance the Threat Intelligence Hub and correlation engine

🗓️ Planned

  • Integration of Redis for request rate limiting and abuse protection
  • Expand database management to support multiple DB instances (local/cloud):
    • View, modify, and alter external databases
  • Implement full data retention policies for logs and metrics
  • Enhance security configuration section to align with OWASP's latest web application security recommendations

About

NexusSync is a Flask-based Super Admin Portal for managing system configs, monitoring, and threat intelligence — built to be the foundation for any scalable web app.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published