compat: persist cookies so consent/login survive restarts, use native UA by default

- tab webviews now share a WebContext backed by the profile dir
  (~/.local/share/RustyWolf); WebKitGTK keeps cookies in memory unless a
  persistent store is set, which made youtube.com re-show the consent
  wall on every launch and made logins impossible to keep
- default user agent is WebKit's native one instead of the malformed
  fake-Chrome + RustyWolf string that pushed sites into Chromium-only
  code paths; --ua-chrome adds a clean Chrome UA as fallback
- --private keeps using an ephemeral in-memory session
- README: document --ua-chrome and the persistent profile
This commit is contained in:
Martin Dvořák 2026-10-11 18:51:41 +02:00
commit 56f548bd1d
3 changed files with 201 additions and 91 deletions

View file

@ -44,6 +44,9 @@ cargo run -- --title "RustyWolf"
cargo run -- --private
cargo run -- --dry-run
# compatibility
cargo run -- --ua-chrome # Chrome UA for sites that block WebKit
# Linux backend controls
cargo run -- --linux-backend x11
cargo run -- --linux-backend wayland
@ -51,6 +54,12 @@ cargo run -- --linux-disable-dmabuf
cargo run -- --linux-backend x11 --linux-disable-dmabuf
```
Sessions are persistent: cookies and site data live in `~/.local/share/RustyWolf`,
so logins and consent choices survive restarts. `--private` gives an ephemeral
session instead. The default user agent is WebKit's native one (best match for
the engine); `--ua-chrome` is a last-resort fallback for sites that refuse to
run on WebKit.
## Privacy Notes
RustyWolf applies baseline hardening in page context: