Add Vivaldi browser support#114
Open
Spence1115 wants to merge 1 commit into
Open
Conversation
Vivaldi is a Chromium-based browser whose cookies use the standard Chromium encryption scheme, but under its own key-store entry: the "Vivaldi Safe Storage" Keychain account on macOS, and the "com.vivaldi.Vivaldi" xdg-desktop-portal application id on Linux (KWallet/portal key storage). Add a self-contained browser/vivaldi package mirroring the Edge finder: per-OS profile roots (~/Library/Application Support/Vivaldi on macOS, ~/.config/vivaldi[-snapshot] on Linux, %LocalAppData%\Vivaldi\User Data on Windows/WSL) and a finder that sets the portal application id so the Linux KWallet/portal key lookup resolves. Registered in browser/all. Verified end-to-end on macOS: decrypts real github.com cookies from a live Vivaldi profile.
Spence1115
marked this pull request as ready for review
July 10, 2026 17:28
Spence1115
marked this pull request as draft
July 10, 2026 17:29
Spence1115
marked this pull request as ready for review
July 10, 2026 17:30
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add Vivaldi browser support
Vivaldi is a mainstream Chromium-based browser that kooky doesn't currently detect. This adds a self-contained
browser/vivaldipackage and registers it inbrowser/all.Why it's more than a Brave clone
Vivaldi encrypts cookies with the standard Chromium scheme, but stores the encryption key under its own entry:
Vivaldi Safe StorageKeychain account. Derived automatically fromBrowserStr = "vivaldi", so no extra config is needed there.com.vivaldi.Vivaldi. This repo'sinternal/chrome/chrome_linux.goalready has a KWallet fallback branch commented "used by Vivaldi, newer Chromium" that readsportalAppIDValue(); the finder now callsSetPortalAppID("com.vivaldi.Vivaldi")so that path resolves.Profile roots
~/Library/Application Support/Vivaldi~/.config/vivaldiand~/.config/vivaldi-snapshot(+ Windows roots under WSL)%LocalAppData%\Vivaldi\User DataThe finder mirrors the Edge finder's structure (per-OS root files in-package + a finder that customizes the store), so it stays consistent with the existing Chromium-derivative pattern.
Verification
go build ./...,go vet ./...,go test ./...pass.browser/vivaldifor darwin, linux, windows, android, ios, js/wasm, aix, freebsd.go run ./cmd/kooky -b vivaldi -d github.comdecrypts real cookies from a live Vivaldi profile (correctlogged_in/user_sessionvalues).I don't have a Linux/Windows machine to verify those key stores at runtime — the paths and the portal id follow Vivaldi's documented locations and this repo's existing Linux key-storage code, but a maintainer with those platforms confirming would be welcome.
Closes #115