ShieldNet uses a custom-trained Random Forest classifier (trained on 650k+ URLs, 94% accuracy) to detect malicious URLs in real time. It includes a React dashboard, Chrome extension, scan history, threat logs, and PDF report generation — all backed by a FastAPI + SQLite backend with Google OAuth.
Backend — Python, FastAPI, scikit-learn, SQLAlchemy, SQLite, NumPy, Pandas
Frontend — React 18, TypeScript, Vite, Tailwind CSS, ShadCN UI, Framer Motion, Recharts, TanStack Query
Extension — Chrome Extensions API (Manifest V3)
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtAdd a .env file to backend/ — see .env.example.
uvicorn app.main:app --reload --port 8000cd backend/ml
# Add your dataset as malicious_phish.csv
python train_model.pycd frontend
npm install
npm run devGo to chrome://extensions → Enable Developer mode → Load unpacked → select extension/
ShieldNet/
├── frontend/ # React + Vite
├── backend/
│ ├── app/ # FastAPI routes, models, auth
│ └── ml/ # Training script + model
└── extension/ # Chrome extension
