A project designed to crawl the dark web to extract Bitcoin wallet addresses and visualize their transaction graphs for analysis.
- Dark Web Crawling: Extract Bitcoin addresses from
.onion
sites using the Tor network. - Data Storage: Store crawled data, metadata, and transaction details in a MongoDB database.
- Graph Visualization: Visualize Bitcoin transactions and wallet connections using an interactive graph.
- Tor Browser: Required for crawling
.onion
websites. Install it from Tor Project. - Python: Version 3.7 or higher.
- MongoDB: Install and set up MongoDB for storing crawled data.
- GeckoDriver: Required for controlling the Firefox browser used by
tbselenium
. Download it from Mozilla GeckoDriver Releases.- Important: Ensure that the GeckoDriver is added to your system's
PATH
variable. This step is compulsory for the application to work correctly.
- Important: Ensure that the GeckoDriver is added to your system's
-
Clone this repository:
git clone <repository-url> cd DarkWebCryptoHunter
-
Install Python dependencies:
pip install -r requirements.txt
-
Configure the project:
- Update the
config.py
file with the following:- TOR_PATH: Path to your Tor browser.
- DB_NAME: Name of the MongoDB database.
- URL: Seed
.onion
URL for the crawler.
- Update the
-
Start MongoDB:
mongod --dbpath <your-db-path>
Run the main.py
script to initiate the crawling process:
python backend/main.py
Open the frontend:
cd frontend
open index.html
- Nodes: Bitcoin wallet addresses.
- Edges: Transactions between addresses.
DarkWebCryptoHunter/
│
├── frontend/ # Frontend for visualization
│ ├── index.html # Main webpage
│ ├── css/
│ │ └── style.css # Styles for the website
│ └── js/
│ └── script.js # Logic for graph visualization
│
├── backend/ # Backend for crawling and processing data
│ ├── crawler.py # Dark web crawler
│ ├── database.py # Handles database operations
│ ├── bitcoin_address_extractor.py # Extracts Bitcoin addresses from raw data
│ ├── config.py # Configuration constants
| ├── analysis.py # Analyze the extracted addresses to generate graphs
│ └── main.py # Entry point for backend logic
│
├── requirements.txt # Python dependencies
└── README.md # Project documentation
While the current implementation provides static data visualization, the following enhancements can be added:
- Real-Time Crawling: Enable live crawling of the dark web for updated Bitcoin transaction data.
- Advanced Analytics: Add statistical analysis features to identify suspicious patterns automatically.
- Depth Customization: Allow users to customize the depth of transaction analysis in the graph.