Skip to content
philppplikPublic

About

cust*m Tab - a custom new-tab page for Chrome (MV3). Privacy-first dashboard or your own URL. Hybrid-ready for Firefox/Brave/Edge.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

cust*m Tab cover


cust*m Tab — Your tab. Your rules.

CI CodeQL Latest release MIT

Website · Privacy · Technical docs · Contributing


cust*m Tab replaces the new tab page with either a dashboard you configure or a URL of your own. It has no account, no telemetry, and no server behind it.

Runs in Chrome 121+ and Firefox 142+ from one source tree. Vanilla HTML, CSS and JavaScript, no runtime dependencies, and no build step needed to run it.

What it does

Bookmarks you edit in place. Add, rename, delete and drag to reorder tiles directly on the tab. Changes persist immediately.

26 search engines, privacy-forward first. DuckDuckGo and Brave lead the list. Each engine carries an honest badge saying whether that provider builds a profile of you. Type ct in the address bar to search without opening a tab; ct brave cats forces a specific engine for one query.

Backgrounds you choose. Six gradient palettes, any solid colour via a picker, a photo from Pexels, or your own picture from disk. Pick a flat colour and the interface derives its own text contrast from that colour's WCAG luminance, so a pale background gets dark text rather than being disallowed.

An interface you shape. Glass, frosted or solid material. A clock you can resize, reweight, restyle or switch off. A greeting that says the time of day with your name, your own headline instead, or nothing. Turn all of it off and the tab is a search bar over a background — which is a legitimate answer, so it is one you can pick.

Photo backgrounds on your own key. Set a search term and get a new photo every day, every hour, or on every tab. The photographer is always credited. See docs/PEXELS.md.

A sunrise reveal. The background rises and blooms as the tab opens, animated on the compositor so it never delays first paint. Skipped automatically under prefers-reduced-motion.

Or skip the dashboard. Point the new tab at any URL, including a local file or another extension page.

Opt-in sync. Mirror preferences across devices if you want to. Bookmarks and your API key never leave the device.

Privacy

The extension collects nothing. Four things can leave your browser, each only because you asked:

When What is sent To
You press Enter in the search bar Your query The engine you selected
You enable photo backgrounds Your search term and your own API key api.pexels.com
You switch the icon source to remote Each bookmark's hostname icons.duckduckgo.com
You switch the icon source to sites A request for /favicon.ico Each bookmarked site

By default, bookmark icons resolve from the browser's own on-device cache, with locally drawn letter tiles as the fallback.

Versions before 1.2.0 requested every bookmark icon from Google on every new tab, which contradicted the privacy promise in this README. That is fixed; see the changelog.

Full policy: https://philppplik.github.io/custm-tab/privacy.html

Install

Store listings are pending. Until then, take the packages from the latest release:

Chrome, Edge, Brave - unzip custm-tab-chrome-*.zip, open chrome://extensions, enable Developer mode, choose Load unpacked, select the folder.

Firefox - unzip custm-tab-firefox-*.zip, open about:debugging#/runtime/this-firefox, choose Load Temporary Add-on, select manifest.json.

A four-step wizard opens on first run.

Develop

git clone https://github.com/philppplik/custm-tab.git
cd custm-tab
npm install
npm run verify
Command What it does
npm run verify Everything CI runs: format, lint, manifest validation, tests
npm test Unit and integration tests
npm run test:coverage Tests plus coverage thresholds
npm run build Per-browser packages into dist/
npm run lint:ext web-ext lint against the Firefox package
npm run screenshots Serve the preview harness to regenerate store assets
npm run generate:icons Re-vendor the search engine brand glyphs (needs network)

extension/ loads unpacked in both browsers as-is. The Node tooling lints, tests and packages; it never compiles the source.

See CONTRIBUTING.md for the full workflow and extension/TECHNICAL.md for the architecture.

Repository layout

extension/     the add-on itself (this is what ships)
docs/          GitHub Pages site, privacy policy, Pexels and store guides
screenshots/   store assets, generated from the real UI
scripts/       manifest validator and per-browser packaging
tests/         Vitest suites with an in-memory chrome.* mock
tools/preview/ harness that renders the real UI for screenshots

Security

Report vulnerabilities privately through GitHub Security Advisories, not a public issue. See SECURITY.md.

CodeQL, Dependabot, dependency review, and secret scanning with push protection all run on this repository.

License

MIT. See LICENSE.

About

cust*m Tab - a custom new-tab page for Chrome (MV3). Privacy-first dashboard or your own URL. Hybrid-ready for Firefox/Brave/Edge.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages