{"id":30000249,"url":"https://github.com/fyzanshaik/glimpse","last_synced_at":"2025-08-05T05:08:05.205Z","repository":{"id":305405343,"uuid":"1022796162","full_name":"fyzanshaik/glimpse","owner":"fyzanshaik","description":"Glimpse is a powerful, lightweight Chrome extension that improves browsing efficiency by allowing you to instantly preview any link in a clean, modal overlay without leaving your current page.","archived":false,"fork":false,"pushed_at":"2025-07-19T21:21:18.000Z","size":38,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-19T23:52:55.957Z","etag":null,"topics":["extension-chrome","javascript","tabs","zen"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fyzanshaik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-19T21:05:06.000Z","updated_at":"2025-07-19T21:23:12.000Z","dependencies_parsed_at":"2025-07-19T23:52:58.076Z","dependency_job_id":"526058b6-b5e4-497f-95a1-0847f75df4f0","html_url":"https://github.com/fyzanshaik/glimpse","commit_stats":null,"previous_names":["fyzanshaik/glimpse"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/fyzanshaik/glimpse","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fyzanshaik%2Fglimpse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fyzanshaik%2Fglimpse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fyzanshaik%2Fglimpse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fyzanshaik%2Fglimpse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fyzanshaik","download_url":"https://codeload.github.com/fyzanshaik/glimpse/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fyzanshaik%2Fglimpse/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268837794,"owners_count":24314982,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-05T02:00:12.334Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["extension-chrome","javascript","tabs","zen"],"created_at":"2025-08-05T05:02:38.672Z","updated_at":"2025-08-05T05:08:05.195Z","avatar_url":"https://github.com/fyzanshaik.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 👁️ Glimpse: Instant Link Previews\n\nGlimpse is a powerful, lightweight Chrome extension that fundamentally improves your browsing efficiency. It allows you to preview any link in a clean, modal overlay without ever leaving your current page. Say goodbye to endless context switching and tab management.\n\n[![Glimpse Preview](https://media0.giphy.com/media/v1.Y2lkPTc5MGI3NjExM3pnanY1aDRienlsOXMxb3RmMHRhdnk3c3FzYmlvZmJ5YWdxOTRzaSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/CVaJcEMA3mFZ5eMWxF/giphy.gif)](https://github.com/fyzanshaik/glimpse)\n\n---\n\n## ✨ Core Features\n\n*   **🖱️ Instant Previews:** Hold `Ctrl` (or `Cmd` on Mac) and click any link to instantly open it in a Glimpse window.\n*   **🖼️ Modern Modal UI:** Previews appear in a large, centered overlay with a blurred background, focusing your attention.\n*   **🚀 Works Everywhere:** Glimpse is designed to work on everything from simple blogs to complex, JavaScript-heavy web apps.\n*   **🔐 Secure \u0026 Private:** Glimpse is built with a \"privacy-first\" philosophy. It requests minimal permissions, processes everything locally, and collects no user data.\n*   **UX-Focused:**\n    *   Click anywhere outside the preview or press `Escape` to close it.\n    *   The background page is locked from scrolling while a preview is active.\n    *   Seamlessly open the original link in a new tab with the \"Reopen\" button.\n\n---\n\n## 🚀 Installation\n\n### Official Version (Coming Soon)\n\n\u003e **Status:** Glimpse is currently under review for publication on the Chrome Web Store.\n\n### From Source (For Developers)\n\n1.  **Download or Clone:** Get the code from this repository: `git clone https://github.com/fyzanshaik/glimpse.git`\n2.  **Open Chrome Extensions:** Navigate to `chrome://extensions/` in your browser.\n3.  **Enable Developer Mode:** Turn on the \"Developer mode\" toggle in the top-right corner.\n4.  **Load the Extension:** Click \"Load unpacked\" and select the cloned repository folder.\n5.  **Ready to Go!** Glimpse is now active and ready to use.\n\n---\n\n## 🔧 How It Works: A Technical Deep Dive\n\nGlimpse uses a sophisticated, multi-layered approach to provide a seamless and secure preview experience.\n\n### 1. The Trigger: `mousedown` Event Listener\n\nInstead of listening for a `click` event, Glimpse listens for `mousedown`. This event fires earlier, allowing the extension to reliably intercept a link activation before a website's own scripts can interfere. This is crucial for compatibility with complex, single-page applications.\n\n### 2. The Sandbox: A Secure `\u003ciframe\u003e`\n\nPreviews are loaded into a sandboxed `\u003ciframe\u003e`. This is a critical security measure that isolates the previewed content from the main page and the extension itself. We use a strict sandbox policy (`allow-scripts allow-same-origin allow-forms allow-popups allow-top-navigation-by-user-activation`) that prevents the loaded page from executing malicious actions, such as trying to redirect the top-level page.\n\n### 3. The Network Layer: `declarativeNetRequest`\n\nMany websites use security headers like `X-Frame-Options` and `Content-Security-Policy` to prevent themselves from being embedded in other sites. To enable previews for these sites, Glimpse uses the `declarativeNetRequest` API to modify these headers.\n\nThis is a powerful permission, and we use it in a highly restricted manner:\n*   The header modification rule applies **only** to requests with a `resourceType` of `\"sub_frame\"`.\n*   This means Glimpse does not and cannot interfere with network requests for your normal, top-level browsing. Its modifications are precisely targeted only at content being loaded into the Glimpse preview frame.\n\n---\n\n## 🛡️ Our Commitment to Privacy \u0026 Security\n\nTransparency is a core value of this project. Here is a detailed explanation of the permissions Glimpse requires and why they are absolutely necessary for the extension to function.\n\n| Permission                  | Justification                                                                                                                                                                                                                                                                                         |\n| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `declarativeNetRequest`     | Essential for the core preview functionality. It is used in a narrowly scoped way (see \"How It Works\" above) to allow websites to be embedded in the preview frame.                                                                                                                                        |\n| `host_permissions: \u003call_urls\u003e` | This is required for two reasons: **1)** To inject a script into every page to listen for the `Ctrl+Click` action. **2)** To allow `declarativeNetRequest` to function for any potential link destination. Without this, the preview feature would be limited to a small, predefined set of websites. |\n\n### Why Not Use `activeTab`?\n\nThe `activeTab` permission is a more secure alternative to `\u003call_urls\u003e`, but it only grants access to a page after a user clicks the extension's toolbar icon. Glimpse's functionality is triggered by an on-page action (`Ctrl+Click`), which requires a content script to be present and listening *before* the user acts. For this reason, `activeTab` is not a viable alternative for Glimpse's specific interaction model.\n\n### Data Handling\n\n*   **No Data Collection:** Glimpse does not collect, store, or transmit any personal data or browsing history.\n*   **Local Processing:** All logic and data handling (like accessing a clicked URL) happens locally on your machine.\n*   **No Remote Code:** The extension does not fetch or execute any remote code, ensuring its behavior is fixed and verifiable from the source code in this repository.\n\n---\n\n## 🤝 Contributing\n\nThis project is open-source and contributions are welcome. Feel free to open an issue or submit a pull request.\n\n## 📄 License\n\nGlimpse is licensed under the **MIT License**. See the `LICENSE` file for details. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffyzanshaik%2Fglimpse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffyzanshaik%2Fglimpse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffyzanshaik%2Fglimpse/lists"}