Flask • Machine Learning • Intrusion Prevention System
SafeNetIPS is a Flask-based AI-powered Intrusion Prevention System (IPS) designed to detect and prevent cyber attacks such as phishing emails, brute-force logins, insider threats, malware, and application-layer attacks using machine learning and simulated real-time threat analysis.
- Real-time intrusion detection using a trained ML model (
intrusion_model.pkl) - Blocks malicious IPs (managed via
blocked_ips.txt) - Simulated threat analysis and alerting
- Simple Flask web UI with authentication (login) and admin dashboard
Place three images inside the
screenshots/folder with the exact filenames below, or update the paths inside this README to match your filenames.
Caption: Main landing / status page of SafeNetIPS.
Caption: Login page showing authentication form and sample validation.
Caption: Admin dashboard showing detected events, blocked IPs and model stats.
- Clone the repo:
git clone https://github.com/adis1212/SafeNetIPS.git
cd SafeNetIPS- (Recommended) Create a virtual environment and activate it:
python -m venv venv
# Windows
venv\Scripts\activate
# macOS / Linux
source venv/bin/activate- Install dependencies
If you have a
requirements.txtfile, runpip install -r requirements.txt. If not, install common dependencies used by Flask ML apps:
pip install flask scikit-learn pandas numpy- Run the app:
python app.pyOpen http://127.0.0.1:5000 in your browser.
SafeNetIPS/
├─ app.py # Flask app entrypoint
├─ intrusion_model.pkl # Trained ML model used for detection
├─ blocked_ips.txt # Manual/auto-blocked IPs
├─ templates/ # HTML templates for website, login, dashboard
├─ static/ # CSS, JS, images
└─ screenshots/ # Add the 3 screenshots here
-
Save your three screenshots using these filenames inside the
screenshots/folder: -
Commit and push:
git add screenshots/website.png screenshots/login.png screenshots/dashboard.png README.md
git commit -m "Add README + screenshots"
git push origin main- If your web UI uses different image names or locations, update the image paths above to match.
- For production, do not run Flask’s development server publicly — use a production WSGI server (gunicorn/uvicorn) behind a reverse proxy.
- Consider adding a
requirements.txtfile and a shortCONTRIBUTING.mdfor contributors.
PRs welcome — open an issue or submit a pull request with the change and a short description.
MIT License.
Created by adis1212 — feel free to open issues on the repo for questions or feature requests.





