This project is a comprehensive Dark Web monitoring solution designed to crawl .onion websites, attempt IP and geolocation reveals, filter dark web sites based on keywords and risk scores, and track seller profiles. The tool includes both backend (Python) and frontend (HTML5, CSS3, JavaScript) components.
- Tor Crawling: Crawl
.onionwebsites on the Dark Web using the Tor network. - IP and Geolocation Reveal: Attempt to reveal the true IP and geolocation of Dark Web sites.
- Keyword and Risk Filtering: Filter sites based on predefined keywords like "drugs", "murder", "arms", etc., and calculate a risk score.
- Seller Tracking: Track seller profiles and activities on Dark Web marketplaces.
- VPN Support: Mask IPs and prevent tracking using VPN connections.
- Web Archive Proxy: View old versions of websites using web archive proxies.
- Multi-Browser Support: Support for TOR, I2P, Freenet, and TAILS browsers.
- Geolocation Identification: Identify geographic locations associated with Dark Web sites.
- Quick Start
- Installation
- Real Service Integration
- Usage
- Backend Structure
- Frontend Structure
- Dark Web Scripts
- Dependencies
- Security Considerations
- License
For a quick setup with all dependencies and configurations:
# Clone the repository
git clone https://github.com/yourusername/dark-web-monitoring-tool.git
cd dark-web-monitoring-tool
# Run the setup script
python setup.py
# Start the backend server
python backend/app.py
# Open the frontend in your browser
# Simply open frontend/index.html in your web browserBefore you begin, ensure that you have the following installed:
- Python 3.7 or higher
- Tor Browser (for crawling
.onionsites) - OpenVPN (for VPN connections)
- Virtual environment (recommended)
- Clone the repository:
git clone https://github.com/yourusername/dark-web-monitoring-tool.git
cd dark-web-monitoring-tool- Create and activate a virtual environment (recommended):
python -m venv venv
# On Windows
venv\Scripts\activate
# On macOS/Linux
source venv/bin/activate- Install backend dependencies:
pip install -r backend/requirements.txt- Create required directories:
mkdir -p backend/vpn_configs
mkdir -p backend/cache/web_archive
mkdir -p backend/data
mkdir -p backend/logs
mkdir -p backend/data_storage
mkdir -p backend/exports- Configure the environment:
# Copy the example .env file
cp backend/.env.example backend/.env
# Edit the .env file with your settingsThis tool has been updated to use real services instead of simulations. Here's how to set up each component:
The tool uses OpenVPN for secure connections. To set up:
- Place your OpenVPN configuration file in
backend/vpn_configs/vpn_config.ovpn - Place any required certificate files (ca.crt, client.crt, client.key) in the same directory
- Update the VPN settings in
backend/.env:
VPN_PROVIDER=OpenVPN
VPN_CONFIG_FILE=vpn_config.ovpn
For real TOR network integration:
- Install Tor Browser or the Tor service
- Ensure Tor is running on the default ports (9050 for SOCKS, 9051 for control)
- For Tor control port access, add these lines to your torrc file:
ControlPort 9051
CookieAuthentication 1
- Update Tor settings in
backend/.env:
TOR_CONTROL_PORT=9051
TOR_SOCKS_PORT=9050
For accurate IP information:
-
Sign up for free API keys from services like:
- ipinfo.io
- ip2location.io
- abuseipdb.com
- shodan.io
-
Add your API keys to
backend/.env:
IPINFO_API_KEY=your_ipinfo_api_key
IP2LOCATION_API_KEY=your_ip2location_api_key
ABUSEIPDB_API_KEY=your_abuseipdb_api_key
SHODAN_API_KEY=your_shodan_api_key
The tool now uses real archive.org access:
- No API key is required for basic access
- The tool implements caching to avoid rate limits
- Configure cache settings in
backend/.env:
WEB_ARCHIVE_CACHE_TTL=86400 # 24 hours in seconds
The tool now integrates with Filebase for decentralized storage:
- Sign up for a Filebase account at filebase.com
- Create a bucket for your data
- Generate access keys
- Update your
.envfile:
FILEBASE_BUCKET=your-bucket-name
FILEBASE_ACCESS_KEY=your-access-key
FILEBASE_SECRET_KEY=your-secret-key
FILEBASE_ENDPOINT=https://s3.filebase.com
STORAGE_TYPE=filebase
For detailed setup instructions, see FILEBASE_SETUP.md.
For additional dark web browsers:
- I2P: Install I2P from https://geti2p.net/
- Freenet: Install Freenet from https://freenetproject.org/
- TAILS: Use TAILS OS from https://tails.boum.org/
The tool will automatically detect and use these browsers if available.
- Navigate to the project root directory
- Start the Flask server:
python backend/app.pyThis will start the backend API on http://localhost:5000.
- Open the
frontend/index.htmlfile in a browser to view the monitoring dashboard. - The frontend will communicate with the backend API to display the crawled data, filtered results, IP details, and seller profiles.
-
Crawling Dark Web Sites:
- Select a browser (TOR, I2P, Freenet, TAILS)
- Enter keywords (e.g., "drugs, arms")
- Enter geo-location (e.g., "Russia")
- Click "Start Crawling"
-
Revealing IP Details:
- Enter a Dark Web URL (e.g., "example.onion")
- Click "Reveal IP"
-
Checking Web Archives:
- Enter a URL to check archives
- Click "Check Archives"
-
Exporting Data:
- After crawling, use the export buttons to save data as CSV or Excel
The backend is built with Flask and Python. Here's a brief overview of the structure:
backend/
├── app.py # Main entry point for Flask app
├── config.py # Configuration loader
├── logger.py # Logging configuration
├── crawler.py # Handles crawling and scraping of .onion sites
├── vpn_connect.py # Manages VPN connection for IP masking
├── utils.py # Helper functions like IP reveal, geolocation, etc.
├── web_archive.py # Web archive access functionality
├── dark_web_filters.py # Filtering and risk assessment
├── i2p_connect.py # I2P browser integration
├── freenet_connect.py # Freenet browser integration
├── tails_connect.py # TAILS browser integration
├── data_storage/ # Folder for storing crawled data
├── cache/ # Cache for web archive and other data
├── vpn_configs/ # VPN configuration files
├── logs/ # Log files
└── requirements.txt # Backend dependencies
The frontend consists of HTML, CSS, and JavaScript files that handle the UI and interact with the backend API.
frontend/
├── index.html # Main HTML page
├── styles.css # CSS file for styling the UI
├── script.js # JavaScript file for core functionality
├── browser-selector.js # Browser selection functionality
├── dark-mode-toggle.js # Dark/Light mode toggle
├── filter.js # Data filtering functionality
├── ip-details.js # IP reveal functionality
├── web-archive.js # Web archive functionality
├── export.js # Data export functionality
├── vpn-status.js # VPN status monitoring
└── assets/ # Images and other assets
The dark-web-scripts/ folder contains specialized scripts for dark web operations:
dark-web-scripts/
├── tor_crawler.py # Specialized TOR crawler
├── ip_reveal.py # Advanced IP revelation techniques
├── dark_web_filters.py # Content filtering and categorization
└── seller_tracking.py # Seller profile tracking
The tool requires several Python packages. The main dependencies are:
- Core: Flask, Requests, BeautifulSoup4, lxml
- Tor: Stem, PySocks
- VPN: psutil, pycryptodome, cryptography
- IP Analysis: geoip2, maxminddb, ipwhois, dnspython
- Data Processing: pandas, openpyxl
- Web Archive: waybackpy
- Configuration: python-dotenv
All dependencies are listed in backend/requirements.txt and can be installed with:
pip install -r backend/requirements.txtWhen using this tool, please be aware of the following security considerations:
-
Legal Compliance: Ensure you're using this tool in compliance with all applicable laws and regulations.
-
VPN Usage: Always use a VPN when accessing the Dark Web to protect your identity.
-
API Keys: Keep your API keys secure and never commit them to public repositories.
-
Tor Configuration: Properly configure Tor to prevent identity leaks.
-
Data Handling: Be careful with the data you collect and how you store it.
-
System Isolation: Consider running this tool in an isolated environment.
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is provided for educational and research purposes only. The developers are not responsible for any misuse or illegal activities conducted with this tool.