From e6f67c7ca32ddf7e41d81002b6da3a0096e4d2fb Mon Sep 17 00:00:00 2001 From: Christian Date: Mon, 8 Jun 2026 19:12:50 -0400 Subject: [PATCH] Delete README.md --- README.md | 67 ------------------------------------------------------- 1 file changed, 67 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index dd90547..0000000 --- a/README.md +++ /dev/null @@ -1,67 +0,0 @@ -# Portage - -**Browser Transitioning Tool** by [pvrz](https://github.com/pvrzz) - -Bulk-migrate chrome extensions and cookies between chromium browsers. Opens chrome web store pages in labeled tab groups for extensions, and provides encrypted JSON export/import for cookies. - -``` -github: https://github.com/pvrzz/portage -``` - -## install (load unpacked) - -1. unzip somewhere stable (chrome points at the folder, not a copy) -2. open `chrome://extensions` -3. enable developer mode (top right) -4. click "load unpacked" and select the folder -5. pin Portage from the puzzle icon - -## features - -**two-pane interface** — top tabs switch between extensions and cookies. each has installed/imported sub-tabs. - -**extensions** — select the ones you want, "open in tab group" opens all their chrome web store install pages in a labeled cyan tab group. drag the group title to detach into its own window. cross-machine works via an HTML export that's also a standalone clickable page. - -**cookies** — grouped by domain, expand to inspect individual cookies (with secure/httpOnly/session flags). export as JSON with optional AES-GCM encryption (passphrase-protected via PBKDF2). import reads the same format and applies cookies back to the browser, preserving security flags. - -## encryption details - -- PBKDF2 with SHA-256, 250,000 iterations -- AES-GCM 256-bit -- 128-bit random salt, 96-bit random IV per export -- format declares algorithm and parameters for forward compatibility -- runs entirely in your browser via Web Crypto API, no library deps - -## permissions - -| permission | reason | -|---|---| -| `management` | list installed extensions | -| `tabs` + `tabGroups` | create the install tab group | -| `downloads` | save export files | -| `cookies` | read and write cookies for migration | -| `` | required for cookies api to access all domains | - -no network access, no remote scripts, no analytics. ~1030 lines across 5 files, all local. - -## file structure - -``` -portage/ -├── manifest.json mv3 manifest -├── popup.html ui structure -├── popup.css styles -├── popup.js logic + crypto -└── icons/ 16/48/128 png -``` - -## known limits - -- popup closes when it loses focus during operations — don't click outside mid-encryption -- cookies file is essentially session tokens. always encrypt for transfer, never send or email; especially when it's unencrypted -- some sites use device fingerprinting or token rebinding that defeats cookie migration. re-login on important services (banking, financial, work portals) -- sideloaded/dev-mode extensions show a "sideload" badge — they won't have web store pages - -## license - -MIT-style: do whatever, attribute if you fork.