A minimal web browser built with C++ and WebKitGTK
- Desktop window using GTK3
- Embedded browser using WebKitGTK
- Address bar with navigation
- Enter any URL (e.g.,
google.com) - Search terms automatically search via Google
- Auto-adds
https://if missing
- Enter any URL (e.g.,
git clone https://github.com/Hrpavi/hrBrowser.git
cd hrBrowsersudo apt-get update
sudo apt-get install -y \
build-essential \
cmake \
pkg-config \
libgtk-3-dev \
libwebkit2gtk-4.1-devmkdir -p build
cd build
cmake ..
make -j4./hrBrowser- Enter a URL (e.g.,
google.com,github.com,wikipedia.org) in the address bar - Press Enter to navigate
- To quit, close the window or press Ctrl+C in the terminal
- URL without protocol: Auto-adds
https:// - Plain text (no dots): Treated as Google search
- Full URLs: Navigates directly
hrBrowser/
├── AGENTS.md
├── CMakeLists.txt
├── CODEX_SESSION.txt
├── LICENSE.txt
├── OPENCODE_SESSION.txt
├── README.md
├── browser
│ ├── browser.cpp
│ └── browser.h
├── src
│ └── main.cpp
└── ui
├── address_bar
│ ├── address_bar.cpp
│ └── address_bar.h
├── backward_button
│ ├── backward_button.cpp
│ └── backward_button.h
├── forward_button
│ ├── forward_button.cpp
│ └── forward_button.h
├── refresh_button
│ ├── refresh_button.cpp
│ └── refresh_button.h
├── ui.cpp
└── ui.
sudo apt-get install build-essential cmake pkg-config libgtk-3-dev libwebkit2gtk-4.1-dev# Ubuntu 20.04 (uses webkit2gtk-4.0)
sudo apt-get install libwebkit2gtk-4.0-devThe original goal was using Chromium Embedded Framework (CEF), but the official binary downloads were corrupted. To use CEF properly:
- Download CEF from https://cef-builds.spotifycdn.com/index.html
- Extract to
cef_binary/ - Copy generated headers to
cef/include/
For more details, see CEF Documentation.
MIT License - See LICENSE.txt
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Note: This project uses WebKitGTK instead of CEF because the official CEF binary distributions were corrupted during download. WebKitGTK is also much simpler to integrate and has fewer dependencies.