Cookie editor for Chrome — View, create, edit, delete, protect, and export browser cookies with a fast Rust/WebAssembly-powered interface.
chrome://extensions/dist/chromium/ folder# Clone repository
git clone https://github.com/Malaccamaxgit/EditCookieMalaccamax.git
cd EditCookieMalaccamax
# Install npm dependencies (for Playwright tests)
npm install
# Add WASM target
rustup target add wasm32-unknown-unknown
# Install Oxichrome
cargo install oxichrome
# Build (includes post-build asset copy)
.\scripts\Build-Extension.ps1 -Release
Click the extension icon to view and edit cookies for the current site.
Each cookie row displays:
| Action | Icon | Description |
|---|---|---|
| Edit | — | Click cookie row to expand and modify fields |
| Save | Floppy disk | Commit changes to Chrome |
| Delete | Trash | Remove cookie |
| Protect | Lock | Toggle read-only (auto-restores if modified) |
| Copy | Clipboard | Copy to clipboard in configured format |
| Duplicate | Copy | Create copy with _copy suffix |
chrome.storage.localConfigure in Settings → Appearance → Copy format:
| Format | Example |
|---|---|
| JSON | {"name":"session","value":"abc123",...} |
| Netscape | .example.com TRUE / TRUE 1735689600 session abc123 |
| Semicolon pairs | session=abc123 |
Click the gear icon to open settings.
| Option | Description |
|---|---|
| Show cookie domain | Display domain next to cookie name |
| Show domain before name | Place domain before name |
| Show command labels | Show text labels next to icons |
| Option | Description |
|---|---|
| Show context menu | Add right-click menu option |
| Refresh after submit | Reload page after saving |
| Show confirmation alerts | Confirm before destructive actions |
| Skip cache refresh | Skip browser cache refresh on save |
| Option | Description |
|---|---|
| Limit cookie expiration | Auto-expire cookies after max age |
| Max age | Time limit (days or hours) |
| Option | Description |
|---|---|
| Theme | Light / Dark |
| Sort cookies by | Domain, Name, or Expiration |
| Copy format | JSON / Netscape / Semicolon pairs |
| Permission | Purpose |
|---|---|
cookies |
Read, modify, delete cookies |
storage |
Save preferences, protected cookies, and custom descriptions |
contextMenus |
Add right-click menu option |
clipboardWrite |
Copy cookies to clipboard |
downloads |
Export cookies to file with Save As dialog |
src/
├── lib.rs # Entry point, extension definition
├── chrome_api.rs # Chrome API bindings (cookies, tabs, storage, downloads)
├── background/
│ ├── mod.rs # Service worker setup
│ ├── cookie_monitor.rs # onChanged listener, auto-restore, RAII guards
│ ├── context_menus.rs # Right-click menu
│ └── devtools.rs # DevTools panel registration
├── popup/
│ ├── mod.rs # Main popup UI, theme, settings modal, filter logic
│ ├── cookie_list.rs # Cookie list, detail view, actions, descriptions
│ ├── cookie_editor.rs # Standalone editor form (reserved)
│ └── search.rs # Search bar, filter toggles, cookie count
├── options/
│ ├── mod.rs # Options page
│ └── preferences.rs # Settings form
├── core/
│ ├── cookie.rs # Cookie CRUD operations
│ ├── storage.rs # Typed chrome.storage.local wrapper
│ └── rules.rs # Filter matching, read-only checks, age clamping
├── shared/
│ ├── types.rs # Cookie, Preferences, Filter, etc.
│ ├── helpers.rs # Tab queries, theme, stylesheet injection
│ └── known_cookies.rs # Built-in cookie description dictionary
└── devtools/
└── mod.rs # DevTools panel UI
public/
├── popup.html # Popup shell
├── options.html # Options shell
├── css/ # Stylesheets (popup, options, devtools, Font Awesome)
├── webfonts/ # Font Awesome webfont files (woff2 + ttf)
├── devtools/ # DevTools HTML pages
├── js/ # DevTools page loader
└── icons/ # Extension icons (16–128px)
scripts/
├── Build-Extension.ps1 # Build + post-build asset copy
├── Verify-Build.ps1 # Automated build verification
└── secret-scanner.js # Pre-commit secret detection
tests/
├── extension.spec.js # Playwright E2E test suite (29 tests)
└── fixtures.js # Playwright shared fixtures
npx playwright test
The test suite (29 tests) covers popup rendering, cookie CRUD, search/filter, theme toggle, settings modal, all action buttons (save, delete, lock, copy, duplicate), description editor, and badges.
cargo clippy --target wasm32-unknown-unknown -- -D warnings
| Category | Technology |
|---|---|
| Language | Rust (2024 edition) |
| WASM Toolchain | wasm-bindgen, wasm-bindgen-futures |
| UI Framework | Leptos 0.8 (CSR) |
| Browser APIs | web-sys, js-sys |
| Build Tool | Oxichrome |
| Test Runner | Playwright (29 tests) |
| Target | Chrome Manifest V3 |
GNU General Public License v3.0 or later — see LICENSE for details.
Issues: GitHub Issues Discussions: GitHub Discussions