Skip to content

Surfscape 1.0

Choose a tag to compare

@machaddr machaddr released this 06 Sep 19:22
· 205 commits to main since this release

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 excludes in 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