Darkelf CLI 
A privacy-focused command-line web browser for the terminal.
Darkelf CLI is a lightweight terminal web browser written in Python that provides a fast, keyboard-driven browsing experience. It features DuckDuckGo search, multiple browsing modes, page rendering, tab management, history, Markdown rendering, customizable themes, and privacy-oriented networking features—all without requiring a graphical interface.
Features
- 🌐 Terminal-based web browser
- 🔍 DuckDuckGo HTML search
- 🔗 Open any HTTP or HTTPS URL
- 📄 Readable page rendering
- 🔖 Link extraction and navigation
- 📚 Browsing history
- 📑 Multi-tab browsing
- 🎨 Multiple built-in themes
- 🔎 Search within pages
- 📝 Markdown page rendering
- 📤 Export links to text files
- 📂 Heading navigation
- 🛡️ Stealth request mode
- 🔒 Session isolation
- 🎲 Randomized request headers
- 🚫 Basic tracker detection
- ⚡ Lightweight with minimal dependencies
Installation
Install from PyPI:
pip install darkelf-cli
Quick Start
Launch Darkelf CLI:
darkelf-cli
Start directly in browser mode:
darkelf-cli --browser
Display help:
darkelf-cli --help
Browser Controls
| Key | Action |
|---|---|
| ↑ / ↓ | Scroll page |
| W / S | Scroll page |
| J / K | Vim-style scrolling |
| O | Open link |
| U | Open URL |
| B | Back |
| H | View history |
| T | Manage tabs |
| t | Change theme |
| F | Search DuckDuckGo |
| / | Search within page |
| N | Next search match |
| G | Jump to heading |
| M | Render page as Markdown |
| L | List links |
| E | Export links |
| ? | Help |
| Q | Quit |
CLI Mode
Commands:
search <query>
open <url>
debug <query>
stealth
help
exit
Example:
darkelf> search python requests
darkelf> open https://python.org
Themes
Darkelf CLI includes several built-in themes.
- Blue
- Dark
- Hacker
- Light
Themes can be changed at runtime while browsing.
Privacy Features
Darkelf CLI includes several privacy-oriented capabilities designed to reduce unnecessary information leakage during normal browsing.
- Randomized User-Agent headers
- Randomized Accept-Language headers
- Configurable request delays
- Session isolation
- Optional stealth mode
- Tracker detection and blocking
- Minimal logging outside debug mode
These features are intended to help reduce browser fingerprinting and improve privacy while browsing.
Requirements
- Python 3.11 or newer
Dependencies:
- requests
- beautifulsoup4
- rich
Project Layout
darkelf-cli/
├── darkelf_cli.py
├── pyproject.toml
├── README.md
├── LICENSE.md
└── .gitignore
License
Licensed under the GNU Lesser General Public License v3.0 (LGPL-3.0-or-later).
See the LICENSE file for complete licensing information.
Disclaimer
Darkelf CLI is provided for educational, research, privacy, and legitimate Open Source Intelligence (OSINT) purposes.
Users are solely responsible for ensuring that their use of this software complies with applicable laws, regulations, export controls, and the terms of service of any websites or services they access.
Contributing
Contributions are welcome.
Bug reports, feature requests, documentation improvements, and pull requests are appreciated.
If submitting a bug report, please include:
- Operating system
- Python version
- Darkelf CLI version
- Steps to reproduce
- Expected behavior
- Actual behavior
Roadmap
Future development may include:
- Bookmark management
- Download manager
- Cookie management
- Reader mode
- Additional search engines
- Plugin architecture
- Configuration file support
- Improved HTML rendering
- Accessibility enhancements
- Performance optimizations
Author
Dr. Kevin Moore
Support
If you find Darkelf CLI useful:
- ⭐ Star the repository
- 🐞 Report bugs
- 💡 Suggest new features
- 🤝 Contribute improvements
Darkelf CLI — A fast, privacy-focused browser built for the terminal.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file darkelf_cli-1.0.5.tar.gz.
File metadata
- Download URL: darkelf_cli-1.0.5.tar.gz
- Upload date:
- Size: 22.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25deb510ec9aa60b4aa48cfcc5aeb25529366a8621e4fb4c7c3b2c8da9e132bd
|
|
| MD5 |
ef39377e2aac3794b5e015a725aa4332
|
|
| BLAKE2b-256 |
9fbf9a62edbf3233639b2f3a9bae8c4a9a980f9fd97f64d89088f105a57ced05
|
Provenance
The following attestation bundles were made for darkelf_cli-1.0.5.tar.gz:
Publisher:
python-app.yml on Darkelf-Labs/Darkelf-CLI-Browser
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
darkelf_cli-1.0.5.tar.gz -
Subject digest:
25deb510ec9aa60b4aa48cfcc5aeb25529366a8621e4fb4c7c3b2c8da9e132bd - Sigstore transparency entry: 2310168235
- Sigstore integration time:
-
Permalink:
Darkelf-Labs/Darkelf-CLI-Browser@f0b7d4909f0cb2524ce34c98e069bc67b1ef04e9 -
Branch / Tag:
refs/tags/v.1.0.5 - Owner: https://github.com/Darkelf-Labs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-app.yml@f0b7d4909f0cb2524ce34c98e069bc67b1ef04e9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file darkelf_cli-1.0.5-py3-none-any.whl.
File metadata
- Download URL: darkelf_cli-1.0.5-py3-none-any.whl
- Upload date:
- Size: 20.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18987857d19d7a3a590942b958e40ed7c617b5eebb0174c31697383b5e537795
|
|
| MD5 |
e6b0d0a00390275bcd62f9f49f59e909
|
|
| BLAKE2b-256 |
e9a009f060f871dda6d91a31cdcc677a8c6ea7ce2d010b4fb0e97b3776978264
|
Provenance
The following attestation bundles were made for darkelf_cli-1.0.5-py3-none-any.whl:
Publisher:
python-app.yml on Darkelf-Labs/Darkelf-CLI-Browser
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
darkelf_cli-1.0.5-py3-none-any.whl -
Subject digest:
18987857d19d7a3a590942b958e40ed7c617b5eebb0174c31697383b5e537795 - Sigstore transparency entry: 2310168246
- Sigstore integration time:
-
Permalink:
Darkelf-Labs/Darkelf-CLI-Browser@f0b7d4909f0cb2524ce34c98e069bc67b1ef04e9 -
Branch / Tag:
refs/tags/v.1.0.5 - Owner: https://github.com/Darkelf-Labs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-app.yml@f0b7d4909f0cb2524ce34c98e069bc67b1ef04e9 -
Trigger Event:
push
-
Statement type: