Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

680 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SiteScan Logo

SiteScan

A powerful all-in-one tool for discovering information about a website and host.

License: GPL v3 Made with Astro Node.js

πŸš€ Overview

SiteScan is a comprehensive, open-source web application designed to help developers, security researchers, and system administrators quickly gather, analyze, and present open data about any given URL.

Simply feed SiteScan a URL, and it will instantly run over 20 concurrent checks to analyze the target's configuration, security posture, and infrastructure.

πŸ•΅οΈβ€β™‚οΈ Available Checks

SiteScan performs a wide array of non-intrusive OSINT and configuration checks, including:

  • Server Info: IP address, Hosting Provider, ASN, and geographic location.
  • DNS Records: A, AAAA, MX, TXT, NS, CNAME, SOA, and PTR records.
  • DNSSEC: Validates if the domain is protected by DNS Security Extensions.
  • SSL/TLS Certificates: Issuer details, expiration dates, and cipher suites.
  • HTTP Security Headers: Analysis of HSTS, CSP, X-Frame-Options, and more.
  • Mail Security: Verification of SPF, DKIM, and DMARC records to prevent spoofing.
  • Open Ports: Quick scans of common web and infrastructure ports (80, 443, 21, 22, etc.).
  • Firewall/WAF Detection: Detects if the site is behind Cloudflare, AWS WAF, Sucuri, etc.
  • Threat Intelligence: Cross-references the domain and IP against public blocklists and threat feeds.
  • Robots.txt & Sitemap: Extracts crawling rules and sitemap locations.
  • Security.txt: Checks for the presence of a responsible disclosure policy.
  • Cookies: Analyzes cookie flags (Secure, HttpOnly, SameSite) for vulnerabilities.
  • Redirects: Follows and maps out the complete HTTP redirect chain.

✨ Features

  • Blazing Fast: Powered by an Astro frontend and a Node.js API backend.
  • Premium Light Theme: An aesthetically pleasing, responsive, and dynamic user interface.
  • Non-Technical Summaries: Highly technical outputs are automatically simplified and summarized into easily actionable insights.
  • Micro-Animations & Interaction: A dynamic and engaging design out-of-the-box.
  • No Database Required: Fully stateless and easy to deploy.

πŸ› οΈ Tech Stack

  • Frontend: Astro, React, Svelte
  • Styling: SCSS, Emotion, Custom CSS Variables
  • Backend: Node.js, Express
  • Build: Vite, ESBuild

πŸ—οΈ Architecture

graph TD
    Client[πŸ‘¨β€πŸ’» User] -->|Enters URL| Frontend[πŸ–₯️ Astro / React Frontend]
    Frontend -->|Initiates Scan| Backend{βš™οΈ Node.js Express API}
    
    Backend -->|DNS Queries| DNS[(🌐 DNS Servers)]
    Backend -->|TCP/TLS Probes| WebServer[(🌍 Target Web Server)]
    Backend -->|Whois/Geo IP| OSINT[(πŸ” OSINT Data Sources)]
    Backend -->|Threat Analysis| APIs[πŸ›‘οΈ 3rd-Party APIs<br/>Shodan, VirusTotal, etc.]

    DNS -.->|Records & DNSSEC| Backend
    WebServer -.->|Headers & SSL Certs| Backend
    OSINT -.->|Server Info| Backend
    APIs -.->|Threat Intelligence| Backend
    
    Backend -.->|Consolidated JSON Report| Frontend
Loading

πŸš€ Getting Started

Prerequisites

Make sure you have Node.js (v18+) and npm/yarn installed.

Installation

  1. Clone the repository

    git clone https://github.com/Subhan-Haider/site-scan.git
    cd site-scan
  2. Install dependencies

    npm install
  3. Run the development server

    npm run dev

    This will start both the backend API (port 3001) and the Astro frontend (port 4321) concurrently.

  4. Visit the app Open http://localhost:4321 in your browser.

βš™οΈ Configuration

SiteScan works completely out of the box. However, you can configure custom API keys for third-party services to enhance the checks. Rename .env.sample to .env and add your keys!

🀝 Sponsors & Projects

This project is maintained by Subhan Haider. Check out some of my other projects and sponsors:

🐳 Deployment

You can deploy SiteScan easily via Docker or on a bare-metal server.

Option 1: Docker (Recommended)

docker build -t sitescan .
docker run -p 4321:4321 -p 3001:3001 -d sitescan

Note: Make sure to pass your .env variables into the Docker container for API keys to work.

Option 2: Bare-Metal Server (Node.js/PM2)

If you prefer running directly on a Linux server without Docker:

  1. Clone the repository
    git clone https://github.com/Subhan-Haider/site-scan.git
    cd site-scan
  2. Install dependencies
    npm install --legacy-peer-deps
  3. Build the frontend
    npm run build
  4. Start the API and Frontend (You can use PM2 to keep it running in the background)
    npm install -g pm2
    pm2 start server.js --name "sitescan-api"
    pm2 start "npm run preview" --name "sitescan-frontend"

βš™οΈ Changing the Default Ports

By default, the backend API runs on 3001 and the frontend on 4321. To change this, edit your .env file or pass environment variables:

# Change Backend Port
PORT=8080 npm run start

# Change Frontend Port (Astro)
PORT=80 npm run preview

πŸ”„ Updating to the Latest Version

To get the latest features and bug fixes, simply pull the latest code and rebuild:

cd site-scan
git pull origin main
npm install --legacy-peer-deps
npm run build
# Then restart your docker container or PM2 instances
pm2 restart all

🀝 Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“œ License

This project is open-source and available under the GNU General Public License v3.0 (GPLv3).

About

SiteScan is a comprehensive open-source web intelligence, OSINT, and security scanner. Uncover DNS records, SSL certificates, server status, firewall info, and much more in seconds.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages