Skip to main content

VPN & Proxy Detector

Project description

KavachNet

PyPI version Python Versions License

KavachNet is a lightweight, real-time IP intelligence tool that instantly flags VPNs, proxies, and cloud-hosted IPs. It cross-references connections against an extensive database of VPN IP signatures and recognizes addresses from major providers like AWS, Azure, and Google Cloud to help secure your application against anonymized traffic. Developed and maintained by Rishabh KRW.

Features

  • Real-time IP Inspection: Instantly verify if an IP (v4/v6) is a VPN, Proxy, or Tor Exit Node.
  • Infrastructure Analyzer: Deep scan an organization's network (using ASN or Name) to identify potential VPN hosting blocks and detect "clean" ranges.
  • Provider Intelligence: Search and filter fingerprints associated with specific VPN providers like NordVPN, Surfshark, and more.
  • Advanced Detection Engine: Supports CIDR overlap detection and multi-source cross-referencing for higher accuracy.
  • Web Interface: A built-in Streamlit dashboard (kavachnet-web) for visual analytics and infrastructure scanning.
  • Python API: Simple, high-performance integration for your applications with automatic dependency management.
  • Persistent Local Intelligence: Stores data locally in ~/.kavachnet/ using atomic writes and file-locking—fully self-contained with no external database dependencies.
  • Auto-Update System: Integrated engine to fetch and merge live threat intel from dozens of public and private sources.

Installation

Install the package via pip:

pip install kavachnet

Usage

1. Web Interface (CLI)

To launch the interactive web dashboard:

kavachnet-web

2. Python API

You can use kavachnet directly in your Python scripts to check IP addresses.

from kavachnet import is_vpn_ip, refresh_cache

# Check a single IP
ip_to_check = "8.8.8.8"
result = is_vpn_ip(ip_to_check)

if result:
    print(f"{ip_to_check} is a VPN or Proxy IP!")
else:
    print(f"{ip_to_check} appears to be a clean or residential IP.")

# Force update the local cache of VPN IP ranges
refresh_cache()

Data Updates & Storage

KavachNet stores its threat intelligence database locally on your machine to ensure lightning-fast lookups without constant API calls.

  • Storage Location: Data is stored in your home directory at ~/.kavachnet/. The database file (vpn_ip_list.txt) stores a comprehensive list of subnets and IP addresses specifically identified as VPN, Proxy, or Cloud hosting infrastructure.
  • Updating via Web: Click the "Update Database" button in the kavachnet-web dashboard to fetch the latest IP ranges from all sources.
  • Updating via API: Programmatically update the local database using:
    from kavachnet import refresh_cache
    refresh_cache()
    
  • Updating via CLI: You can also refresh the database directly from your terminal:
    python -m kavachnet.vpn_checker refresh
    

This approach ensures that once you update the database through the web interface, the updated data is immediately available to any Python script using the library.

How It Works

KavachNet aggregates public IP ranges from major cloud hosting services and VPN services. When you check an IP, it verifies if the IP falls within these known subnets. The system uses a persistent local cache for high-performance detection. Built and maintained by Rishabh KRW.

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kavachnet-1.1.0.tar.gz (8.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kavachnet-1.1.0-py3-none-any.whl (9.2 MB view details)

Uploaded Python 3

File details

Details for the file kavachnet-1.1.0.tar.gz.

File metadata

  • Download URL: kavachnet-1.1.0.tar.gz
  • Upload date:
  • Size: 8.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kavachnet-1.1.0.tar.gz
Algorithm Hash digest
SHA256 29c6f2ebed274284a365312d1ce9b53fe64d843bf5096b67f1c86a97ad17e5de
MD5 1c242d8545fcee9694a27d912d4bbebb
BLAKE2b-256 b238145a19b2b6aa3720c4728b465f9cfc9a2bdb73fe78b04cd3813d25c93a43

See more details on using hashes here.

File details

Details for the file kavachnet-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: kavachnet-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kavachnet-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 824f1bc1605320cfe0aacb9d6ca07b37e8f3437f1cac03bac2b4c795eb5138a7
MD5 1bb519482fe5ea82556143b88f849af7
BLAKE2b-256 b6ec2df44379d5f8889dd39587327104cc1032de13a5948d0c6e4b54f63ec685

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page