A lightweight, high-performance terminal browser with a btop-style interface.
- btop-style UI - Modern four-panel layout with rounded borders
- Lightweight - Binary size < 1MB, memory usage < 50MB
- Fast startup - Launch in < 500ms
- Vim-style navigation - j/k scrolling, / search, g/G jump
- Keyboard-driven - Full keyboard navigation with function key shortcuts
- Themeable - Multiple color themes (default, nord, gruvbox, solarized)
- Configurable - TOML-based configuration
╭──────────────────────────────────────────────────────────────────────────────╮
│[◀] [▶] [⟳] ╭────────────────────────────────────────────────────────╮ [⚙] [?]│
│ │https://example.com │ │
│ ╰────────────────────────────────────────────────────────╯ │
├──────────────────────────────────────────────────────────────────────────────┤
│ Example Domain │
├──────────────────────────────────────────────────────────────────────────────┤
│This domain is for use in illustrative examples in documents. │
│ │
│[1] More information... │
│ │
├────────────────────────────────────────┬─────────────────────────────────────┤
│📑 Bookmarks │📊 Status │
│ example.com │ ⬇ 1.2 KB 🕐 0.3s │
├────────────────────────────────────────┴─────────────────────────────────────┤
│[F1]Help [F2]Bookmarks [F3]History [F10]Quit │
╰──────────────────────────────────────────────────────────────────────────────╯
macOS (Homebrew):
brew install cmake gumbo-parser openssl ftxui cpp-httplib toml11Linux (Debian/Ubuntu):
sudo apt install cmake libgumbo-dev libssl-devgit clone https://github.com/m1ngsama/TUT.git
cd TUT
cmake -B build -DCMAKE_PREFIX_PATH=/opt/homebrew # macOS
cmake -B build # Linux
cmake --build build -j$(nproc)./build/tut # Start with blank page
./build/tut https://example.com # Open URL directly
./build/tut --help # Show help| Key | Action |
|---|---|
j / ↓ |
Scroll down |
k / ↑ |
Scroll up |
Space |
Page down |
b |
Page up |
g |
Go to top |
G |
Go to bottom |
Backspace |
Go back |
f |
Go forward |
| Key | Action |
|---|---|
Tab |
Next link |
Shift+Tab |
Previous link |
Enter |
Follow link |
1-9 |
Jump to link by number |
| Key | Action |
|---|---|
/ |
Start search |
n |
Next result |
N |
Previous result |
| Key | Action |
|---|---|
Ctrl+L |
Focus address bar |
F1 / ? |
Help |
F2 |
Bookmarks |
F3 |
History |
Ctrl+D |
Add bookmark |
Ctrl+Q / F10 / q |
Quit |
Configuration files are stored in ~/.config/tut/:
~/.config/tut/
├── config.toml # Main configuration
└── themes/ # Custom themes
└── mytheme.toml
[general]
theme = "default"
homepage = "https://example.com"
debug = false
[browser]
timeout = 30
user_agent = "TUT/0.1.0"
[ui]
word_wrap = true
show_images = trueTUT/
├── CMakeLists.txt # Build configuration
├── README.md # This file
├── LICENSE # MIT License
├── cmake/ # CMake modules
│ └── version.hpp.in
├── src/ # Source code
│ ├── main.cpp # Entry point
│ ├── core/ # Browser engine, HTTP, URL parsing
│ ├── ui/ # FTXUI components
│ ├── renderer/ # HTML rendering
│ └── utils/ # Logger, config, themes
├── tests/ # Unit and integration tests
│ ├── unit/
│ └── integration/
└── assets/ # Default configurations
├── config.toml
├── themes/
└── keybindings/
| Library | Purpose | Version |
|---|---|---|
| FTXUI | Terminal UI framework | 5.0+ |
| cpp-httplib | HTTP client | 0.14+ |
| gumbo-parser | HTML parsing | 0.10+ |
| toml11 | TOML configuration | 3.8+ |
| OpenSSL | HTTPS support | 1.1+ |
- No JavaScript - SPAs and dynamic content won't work
- No CSS layout - Only basic text formatting
- No images - ASCII art rendering planned for future
- Text-only - Focused on readable content
Contributions are welcome! Please read the coding style guidelines:
- C++17 standard
- Google C++ Style Guide
- Use
.hppfor headers,.cppfor implementation - All public APIs must have documentation comments
MIT License - see LICENSE file for details.
- m1ngsama - GitHub