Skip to content

TSHsoft/GitShelf-Extensions

Repository files navigation

🧩 GitShelf Extensions

The official browser extension for GitShelf — capture and curate GitHub repositories and profiles with a single click.

License: MIT Main Project Live App Star GitShelf
Manifest V3 Platform: Edge/Chrome


🚀 Core Features

  • 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.

🛡️ Security & Architecture

  • Encrypted Synchronization: User tokens are synchronized via an offscreen ext-bridge using 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.

📦 Installation (Manual)

Microsoft Edge

  1. Open Edge and go to edge://extensions.
  2. Toggle Developer mode (bottom-left).
  3. Select Load unpacked and choose this folder.

Google Chrome

  1. Open Chrome and go to chrome://extensions.
  2. Toggle Developer mode (top-right).
  3. Select Load unpacked and choose this folder.

📖 How to Use

  1. Initial Sync: Open the GitShelf web application to allow the extension to securely bridge your GitHub credentials.
  2. Browsing: Navigate to any repository (github.com/owner/repo) or user profile (github.com/username).
  3. Capture: Click the GitShelf icon in your browser toolbar, then select Save to Shelf.
  4. Theme / Sign out: Use the header icons to switch display modes or sign out from the extension.

🌐 Compatibility

Compatible with Microsoft Edge, Google Chrome, and other Chromium-based browsers that support Manifest V3.

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.


Made with ❤️ by TSHsoft — Part of the GitShelf Ecosystem

About

A browser extension for one-click saving of GitHub repositories and profiles to your GitShelf.

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors