Skip to content

kushagra-singhh/safeInternet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›‘οΈ Internet Security Checker

Internet Security Checker Flask Python License Multilingual

A modern, responsive tool to evaluate website, email, and connection security against industry standards


πŸ“‹ Overview

Internet Security Checker is a comprehensive web application for testing your internet presence against modern security standards. This tool provides detailed security assessments of websites, email configurations, and internet connections with an intuitive, responsive user interface and detailed scoring reports. Available in English, Hindi, and Bengali, with light and dark themes.

Internet Security Checker Light Theme Internet Security Checker Dark Theme

✨ Key Features

  • Responsive Design - Optimized for desktop and mobile devices
  • Multilingual Support - Full English, Hindi, and Bengali language support
  • Theme Switching - Toggle between light and dark themes
  • Comprehensive Testing - Website, email, and connection security analysis
  • Interactive Results - Detailed, easy-to-understand test cards
  • Modern UI/UX - Clean, intuitive interface with visual feedback

πŸ”’ Security Test Categories

🌐 Website Security

  • IPv6 Support - Verify websites are accessible over IPv6
  • DNSSEC Validation - Check domain name security extensions
  • TLS/HTTPS Security - Analyze HTTPS implementation quality
  • Security Headers - Scan for critical security headers
  • Cookie Security - Evaluate cookie configuration best practices

πŸ“§ Email Security

  • SPF, DKIM, DMARC - Check email authentication protocols
  • STARTTLS Support - Verify email transmission encryption
  • MX Records - Analyze mail exchanger configuration

πŸ”Œ Connection Security

  • IPv6 Connectivity - Test client IPv6 support
  • Network Security - Evaluate connection security measures
Mobile Results View Desktop Results View

πŸš€ Quick Start Guide

πŸ“¦ Installation

  1. Clone the repository

    git clone https://github.com/yourusername/internet-security-checker.git
    cd internet-security-checker
  2. Set up environment (using provided scripts)

    # On Windows
    setup.bat
    
    # On macOS/Linux
    ./setup.sh
  3. Or manually set up

    python -m venv venv
    
    # On Windows
    venv\Scripts\activate
    
    # On macOS/Linux
    source venv/bin/activate
    
    pip install -r requirements.txt

πŸƒβ€β™‚οΈ Running the Application

# On Windows
run.bat

# On macOS/Linux
./run.sh

# Or manually
python app.py

The application will be accessible at http://localhost:5000

�️ Usage Instructions

  1. Open your browser and navigate to http://localhost:5000
  2. Choose your preferred language (English, Hindi, or Bengali) using the language toggle
  3. Select your preferred theme (Light or Dark) using the theme toggle
  4. Enter a domain name in the input field
  5. Select the test type: Website, Email, or Connection
  6. Click "Start Test" to begin the security analysis
  7. Review the detailed test results organized in test cards
Input Form

🌐 API Documentation

The application provides a RESTful API for programmatic access to security tests.

Website Security Test

curl -X POST http://localhost:5000/api/test/website \
  -H "Content-Type: application/json" \
  -d '{"domain": "example.com"}'

Email Security Test

curl -X POST http://localhost:5000/api/test/email \
  -H "Content-Type: application/json" \
  -d '{"domain": "example.com"}'

Connection Test

curl -X GET http://localhost:5000/api/test/connection

🚒 Deployment Guide

Deploying to Render

  1. Create a Render account at render.com
  2. Create a new Web Service
  3. Connect your GitHub repository
  4. Configure your service:
    • Build Command: pip install -r requirements.txt
    • Start Command: gunicorn app:app
    • Environment Variables: Add the required environment variables (see Configuration section)

Deploying to Other Platforms

The application can be deployed to any platform that supports Python applications:

  • Heroku: Use a Procfile with web: gunicorn app:app
  • AWS: Deploy using Elastic Beanstalk or containerize with Docker
  • Azure: Use App Service for Python
  • Digital Ocean: Deploy via App Platform

βš™οΈ Configuration

Create a .env file based on .env.example with the following settings:

Variable Description Default
SECRET_KEY Flask secret key dev-key-for-security-checker
DEBUG Enable debug mode False
DATABASE_URL Database connection string sqlite:///security_checker.db
CONN_TEST_DOMAIN Domain for connection tests internet.nl
SMTP_EHLO_DOMAIN Domain for SMTP EHLO commands internet.nl
API_URL URL for API endpoint Set automatically based on host
CHECK_SUPPORT_IPV6 Enable IPv6 tests True
CHECK_SUPPORT_DNSSEC Enable DNSSEC tests True
CHECK_SUPPORT_MAIL Enable mail tests True
CHECK_SUPPORT_TLS Enable TLS tests True
CHECK_SUPPORT_APPSECPRIV Enable app security tests True

πŸ”§ Troubleshooting

If you encounter dependency issues, use the provided fix scripts:

# On Windows
fix_deps.bat

# On macOS/Linux
./fix_deps.sh

For more detailed troubleshooting, see the Dependency Fix Guide.

πŸ—οΈ Project Structure

internet-security-checker/
β”œβ”€β”€ app.py                 # Main Flask application
β”œβ”€β”€ config.py              # Configuration settings
β”œβ”€β”€ requirements.txt       # Python dependencies
β”œβ”€β”€ static/                # Static assets
β”‚   β”œβ”€β”€ css/               # Stylesheets
β”‚   β”œβ”€β”€ js/                # JavaScript files
β”‚   └── images/            # Images and icons
β”œβ”€β”€ templates/             # HTML templates
β”‚   └── index.html         # Main application template
β”œβ”€β”€ tests/                 # Test modules
β”‚   β”œβ”€β”€ website_tests.py   # Website security tests
β”‚   β”œβ”€β”€ email_tests.py     # Email security tests
β”‚   β”œβ”€β”€ connection_tests.py# Connection security tests
β”‚   └── ...                # Other test modules
└── scripts/               # Utility scripts
    β”œβ”€β”€ setup.sh/bat       # Setup scripts
    └── run.sh/bat         # Run scripts

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add some amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

πŸ™ Acknowledgements

  • Inspired by the Internet.nl project
  • Built with Flask
  • Special thanks to all contributors and the open-source security testing community

Made with ❀️ for a safer internet