# favbox **Repository Path**: zhangsubao/favbox ## Basic Information - **Project Name**: favbox - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-13 - **Last Updated**: 2026-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FavBox
FavBox is a local-first **experimental** browser extension that enhances and simplifies bookmark management without cloud storage or third-party services. It extends your browser's native bookmarking features. Key features: π Syncs with your browser profile \ π No thirdβparty data sharing. No ads. No tracking. \ π¨ Minimalist, clean UI\ π·οΈ Tag support for easy organization\ π Advanced search, sorting, and filtering by tags, domains, folders, and keywords\ π Multiple display modes\ π Light and dark themes\ ποΈ Detects broken and duplicate bookmarks\ β¨οΈ Hotkeys for quick search access\ ποΈ Local notes support\ β€οΈ Free and open source ### Concept  ### Implementation FavBox scans all bookmarks in the browser, then makes requests to the saved pages and extracts data from them such as title, description, image, and meta tags to improve the search. All the data is stored in local storage IndexedDB. The extension also tracks all browser events related to bookmarks and synchronizes the data. It only extends the standard functionality and does not attempt to replace it. You can work with bookmarks both through the extension and the native browserβs built-in bookmark features. FavBox is a fully local application. To keep tags synced across devices, it uses a trick. Since bookmarks are synchronized between devices, to keep tags synchronized, the app adds them to the page title. For example, if you have a bookmark titled `Google Chrome β Wikipedia`, to save tags across devices, extension appends them to the title like this: `Google Chrome β Wikipedia π· #wiki #browser` This way, your tags become available on other devices without using any cloud services β only through the standard Google Chrome profile sync. ``` βββ public # Static assets (icons, etc.) β βββ icons βββ src # Source code β βββ assets # Global styles β βββ components # Shared UI components β β βββ app β βββ composables # Vue composables β βββ constants # Application constants β βββ ext # Browser extension β β βββ browser # FavBox main app β β β βββ components β β β βββ layouts β β β βββ views β β βββ content # Content scripts β β βββ popup # Extension popup β β βββ sw # Service worker β βββ parser # HTML metadata parser β βββ services # Utility services (HTTP client, bookmarks API, tags, hash) β βββ storage # IndexedDB storage β βββ idb βββ tests βββ integration βββ unit ``` ### Permissions | Permission | Why needed | |------------|------------| | `bookmarks` | Read and manage bookmarks| | `activeTab` | Capture page screenshot for visual previews | | `tabs` | Get current tab info when saving bookmarks | | `storage` | Store sync status and extension settings | | `alarms` | Keep service worker alive for background sync | | `contextMenus` | Add "Save to FavBox" to right-click menu | | `