Skip to content

AlexanderPotiagalov/Clean-the-Web-Extension

Repository files navigation

Clean The Web

Protecting users from phishing, scams, and shady websites — in real time.

license last-commit repo-top-language repo-language-count

Built with:

JavaScript Node.js Express.js MongoDB Chrome Extension Axios Google Safe Browsing API WhoisXML API



📜 Table of Contents

📖 Overview

Clean The Web is a modern cybersecurity Chrome extension and full-stack system that detects phishing, fake, and scam websites.

It uses real technical signals like SSL certificates, domain age, suspicious keywords, and crowdsourced reports to determine a website’s trust score — giving users an instant, clear verdict on site safety.


📸 Extension Screenshots


✨ Features

🚀 Feature Description
🧹 Real-Time Site Check Analyze current website instantly inside your browser
🧠 Smart Trust Score Based on SSL, domain age, suspicious keywords, and user reports
📈 Trust Score Visualization Animated circular indicator showing trust percentage
📜 Explanation Panel Shows exactly why a site was rated Safe / Suspicious / Scam
🔒 Google Safe Browsing API Real-time lookup of known phishing/malware URLs
📢 Crowdsourced Reporting Users can report suspicious sites to strengthen the system
🧩 Full-Stack Backend Node.js API with MongoDB database to handle reports and site data

🛠️ Tech Stack

Technology Usage
Chrome Extension APIs Building the browser extension
Node.js + Express.js Backend server to process site checks
MongoDB + Mongoose Database to store site reports, domain metadata
Axios API communication with backend and WhoisXML
WhoisXML API Checking domain registration age
Google Safe Browsing API Real-time threat lookup for URLs
Frontend (HTML/CSS/JavaScript) Extension popup and dashboard UI
(Future) Next.js Public web dashboard (optional)

🎯 Trust Score Calculation

The trustScore starts at 100 and is dynamically adjusted based on the following:

  1. Start:
    trustScore = 100

  2. SSL Check:
    ❌ No SSL certificate → trustScore -= 40

  3. Domain Age Check:
    ❌ Domain age < 6 months → trustScore -= 30

  4. Suspicious Keywords Check:
    ❌ Domain contains suspicious words (login, verify, account, paypal) → trustScore -= 20

  5. User Reports Check:
    ❌ Each report → trustScore -= 10

  6. Clamp:
    ❌ If trustScore < 0 → Clamp to 0

  7. Set Status:

    • trustScore ≥ 80Safe
    • ⚠️ trustScore < 80 and ≥ 50Suspicious
    • trustScore < 50Scam

Rating Guide:

  • Safe: No major red flags—SSL valid, established domain, no reports, AND not flagged by Google Safe Browsing.
  • Suspicious: Minor concerns (young domain, or one warning) but not outright malicious.
  • Scam: Significant issues (multiple reports, or any Google Safe Browsing flag).

✅ TrustScore and Explanation are both displayed to the user for full transparency.


📂 Project Structure

/extension
  ├── popup.html
  ├── popup.js
  ├── styles.css
  ├── icons/ (browser action icons)

 /backend
  ├── server.js
  ├── routes/
  │   └── siteRoutes.js
  ├── models/
  │   └── Site.js
  ├── .env (Mongo URI + Whois API Key + Google Safe Browsing API Key)

 /database
  └── MongoDB Atlas (Cloud database)

🚀 Getting Started

📋 Prerequisites

Before getting started with Clean The Web, ensure your environment meets the following:

  • Programming Language: JavaScript (Node.js)
  • Package Manager: npm
  • Database: MongoDB Atlas (or local MongoDB)
  • Chrome Browser: For extension testing

🛠️ Installation

Install Clean The Web using the following steps:

Build from source:

  1. Clone the repository:
git clone https://github.com/AlexanderPotiagalov/clean-the-web
  1. Navigate to the project directory:
cd backend
  1. Install backend dependencies:
npm install
  1. Create a .env file:
MONGO_URI=your-mongodb-connection-string
WHOIS_API_KEY=your-whoisxmlapi-key
SAFE_BROWSING_API_KEY=your-safebrowsingapi-key
  1. Start the server:
npm run dev

✅ Server will run at:

http://localhost:5000

🧩 Chrome Extension Setup

  1. Open Chrome → Go to chrome://extensions
  2. Enable Developer Mode (top right)
  3. Click Load Unpacked
  4. Select the /extension folder
  5. 🎉 The extension is now active!

Contributing

🧑‍💻 Author

Built by Alexander Potiagalov

Protecting users from online scams, one website at a time.

About

Protecting users from phishing, scams, and shady websites — in real time.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published