DarkCrawler is a high-performance, concurrent web crawler built with Python and Flask. It recursively scans websites, detects common admin paths, and displays the website structure in a sleek terminal-style interface with a dark green theme.
| Full support with PowerShell and CMD | Full support with Terminal | Full support with Bash and Terminal |
- Recursive website crawling with configurable depth
- Concurrent crawling using multithreading for blazing speed
- Detection of common admin and sensitive paths
- Terminal-style website structure display with intuitive file icons
- Responsive and accessible web UI with smooth terminal text animation
- Efficient handling of large websites with thread-safe data structures
- Concurrency Model: Uses Python's
threadingmodule with a thread pool to fetch multiple URLs in parallel. - Queue Management: URLs to visit are managed in a thread-safe queue to avoid race conditions.
- HTML Parsing: Utilizes BeautifulSoup for robust HTML parsing and link extraction.
- Admin Path Detection: Checks URLs against a comprehensive list of common admin paths.
- File Structure: Builds a hierarchical tree structure representing the website's files and directories.
- Frontend: Flask serves a responsive UI with a terminal-style display and animated typing effect using JavaScript.
git clone https://github.com/yourusername/DarkCrawler.git
cd DarkCrawlerpython -m venv venv
venv\Scripts\activatepython3 -m venv venv
source venv/bin/activatepip install -r requirements.txtRun the Flask server:
python server.pyOpen your browser and navigate to:
http://localhost:5000
Enter the URL you want to crawl and start the crawl.
| Parameter | Description | Default |
|---|---|---|
| max_threads | Number of concurrent threads for crawling | 10 |
| max_depth | Maximum crawl depth | 7 |
- The crawler starts from the given URL.
- It fetches pages concurrently using multiple threads.
- Parses HTML to find links and resources.
- Detects common admin paths and flags them.
- Builds a hierarchical tree of the website structure.
- Displays the results in a terminal-style UI with animated typing effect.
- Python 3.8+
- Flask web framework
- Requests for HTTP requests
- BeautifulSoup for HTML parsing
- Threading and Queue for concurrency
- HTML, CSS, and JavaScript for frontend UI
Contributions are welcome! Please open issues or submit pull requests.
This project is licensed under the MIT License.
