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.
Metadata
Release files for darkelf-cli 1.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| darkelf_cli-1.0.5.tar.gz | 22.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| darkelf_cli-1.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.8 kB
Release files / darkelf_cli-1.0.5.tar.gz
| Download URL | darkelf_cli-1.0.5.tar.gz |
|---|---|
| Size | 22.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
25deb510ec9aa60b4aa48cfcc5aeb25529366a8621e4fb4c7c3b2c8da9e132bd
|
|
BLAKE2b-256 checksum How to use checksums |
9fbf9a62edbf3233639b2f3a9bae8c4a9a980f9fd97f64d89088f105a57ced05
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.
Transparency logRelease files / darkelf_cli-1.0.5-py3-none-any.whl
| Download URL | darkelf_cli-1.0.5-py3-none-any.whl |
|---|---|
| Size | 20.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
18987857d19d7a3a590942b958e40ed7c617b5eebb0174c31697383b5e537795
|
|
BLAKE2b-256 checksum How to use checksums |
e9a009f060f871dda6d91a31cdcc677a8c6ea7ce2d010b4fb0e97b3776978264
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.
Transparency log