Repository navigation
Surfscape 1.0
Surfscape 1.0 · Initial stable release (06/09/2025)
Surfscape is a lightweight, customizable web browser built with PyQt6, designed to work well on Linux (great with tiling WMs), and buildable for Windows.
Highlights
- Tabbed browsing with session restore
- Bookmarks, history, and download manager
- Advanced ad‑blocking (EasyList support)
- Private browsing and Do Not Track
- Built‑in developer tools: console, elements, network monitor
- AI assistant panel (Claude) with configurable model/API key
- Rich Settings UI: themes (system/light/dark/custom), fonts, UI scale, custom CSS/JS, spell check
- Proxy support: None/HTTP/SOCKS5 with Tor and I2P toggles
- Keyboard shortcuts for common actions
- Source viewer, find‑in‑page, performance controls (hardware acceleration, cache size)
Build and packaging
- Cross‑platform Makefile with targets for build, run, package, and CI
- PyInstaller spec for single‑file executables
- Debian package (static build) with desktop entry and icon
Requirements
- From source: Python 3.8+; see requirements.txt (PyQt6, PyQt6‑WebEngine, adblockparser, anthropic, pyaudio, SpeechRecognition, markdown, aiohttp)
- Bundled executables: no Python needed at runtime
Quick start
- Run from source
make venv deps make run # or python3 surfscape.py - Build executable
make build # output in dist/ - Debian package
./build-deb.sh sudo dpkg -i ../surfscape_*.deb sudo apt-get -f install
Tor and I2P
- Tor: set ControlPort 9051, SocksPort 9050, and CookieAuthentication 1 in
torrc; toggle in Settings - I2P: start the router (e.g.,
i2prouter start), then enable in Settings
Known issues and tips
- PyAudio may require system headers; use your distro packages or the Makefile’s system‑deps target
- If packaging misses modules, add hidden imports in surfscape.spec
- To reduce executable size, review dependencies and
excludesin the spec - AI assistant requires your own API key (configure in Settings)
License
GPL‑3.0 (see LICENSE)
Credits
Developed and maintained by André Machado (machaddr)
Full Changelog: https://github.com/machaddr/surfscape/commits/main