Skip to content

Add Vivaldi to supported browsers - #27

Draft
Spence1115 wants to merge 1 commit into
drogers0:mainfrom
Spence1115:feat/vivaldi-support
Draft

Add Vivaldi to supported browsers#27
Spence1115 wants to merge 1 commit into
drogers0:mainfrom
Spence1115:feat/vivaldi-support

Conversation

@Spence1115

Copy link
Copy Markdown

Add Vivaldi to supported browsers

Registers kooky's Vivaldi finder (via a one-line blank import) so gh-image can extract a GitHub user_session cookie from Vivaldi, alongside the browsers already supported. Vivaldi is a mainstream Chromium-based browser that wasn't detected before.

Draft — blocked on an upstream kooky release

Vivaldi support isn't in a released kooky yet. This PR depends on browserutils/kooky#114, consumed here through a temporary replace directive pointing at the fork:

replace github.com/browserutils/kooky => github.com/Spence1115/kooky <pseudo-version>

This stays draft until that kooky PR merges and is released. At that point: bump the kooky require to the released version and delete the replace directive (the go.mod comment notes this). CI here builds green against the fork in the meantime.

Changes

  • internal/cookies/cookies.go — blank-import browser/vivaldi. The existing selection logic is browser-agnostic, so nothing else changes functionally.
  • Docs — add Vivaldi to the supported-browser lists in README.md, documentation/architecture.md, and the bundled skill.
  • go.mod / go.sum — temporary fork replace (see above).

Verification (macOS)

  • go build ./..., go vet ./..., go test ./..., golangci-lint run (v2.12.2) all pass.
  • gh image check-token authenticates via the browser cookie store.
  • Confirmed the Vivaldi finder decrypts a real github.com user_session through this module's dependency graph (value not printed).

I can only verify the macOS key store at runtime; the Linux/Windows paths ride on kooky's existing per-OS decryption (see browserutils/kooky#114).

Register kooky's Vivaldi finder so gh-image can extract a GitHub session
cookie from Vivaldi, alongside the existing browsers.

Vivaldi support isn't in a released kooky yet, so this points at a fork
(browserutils/kooky#114) via a temporary replace directive. Once that lands
upstream and is released, bump the kooky require and drop the replace.

Verified on macOS: `check-token` authenticates via the browser cookie store,
and the Vivaldi finder decrypts a real github.com user_session through this
module's dependency graph.
@drogers0 drogers0 added the upstream Caused by a limitation in an upstream dependency (kooky, sqlite3) label Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

upstream Caused by a limitation in an upstream dependency (kooky, sqlite3)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants