The official browser extension for GitShelf — capture and curate GitHub repositories and profiles with a single click.
- One-click Capture: Directly save repositories or user profiles while browsing GitHub.
- Smart Star Badge: The extension icon automatically displays a yellow star (★) badge when browsing a repository or profile that is already saved in your GitShelf.
- Background Sync: Synchronizes authentication state from the GitShelf web application session using an encrypted bridge.
- Interface Actions: Interactive popup with theme switching (Dark/Light) and a dedicated Sign Out icon to manage account sessions.
- Standalone Operation: Fetched data is saved to IndexedDB independently once synchronized.
- Encrypted Synchronization: User tokens are synchronized via an offscreen
ext-bridgeusing AES-GCM encryption, preventing plain-text exposure in storage. - Origin Verification: Communicates strictly with authorized GitShelf origins and matches encrypted session IDs to prevent unauthorized data access.
- Manifest V3: Built using modern browser extension standards for better security and performance.
- Offscreen Processing: Utilizes an offscreen document to interact with Shared IndexedDB, as background service workers lack direct DOM/IndexedDB access in some contexts.
- Open Edge and go to
edge://extensions. - Toggle Developer mode (bottom-left).
- Select Load unpacked and choose this folder.
- Open Chrome and go to
chrome://extensions. - Toggle Developer mode (top-right).
- Select Load unpacked and choose this folder.
- Initial Sync: Open the GitShelf web application to allow the extension to securely bridge your GitHub credentials.
- Browsing: Navigate to any repository (
github.com/owner/repo) or user profile (github.com/username). - Capture: Click the GitShelf icon in your browser toolbar, then select Save to Shelf.
- Theme / Sign out: Use the header icons to switch display modes or sign out from the extension.
Compatible with Microsoft Edge, Google Chrome, and other Chromium-based browsers that support Manifest V3.
This project is licensed under the MIT License. See the LICENSE file for details.