{"id":20459918,"url":"https://github.com/rational-kunal/netflix-hotkeys","last_synced_at":"2026-03-10T17:33:40.856Z","repository":{"id":172277884,"uuid":"646098977","full_name":"rational-kunal/Netflix-Hotkeys","owner":"rational-kunal","description":"A Chrome extension to enhance your Netflix binging experience!","archived":false,"fork":false,"pushed_at":"2023-09-03T16:28:50.000Z","size":798,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T05:51:41.970Z","etag":null,"topics":["chrome-extension","crawler","netflix"],"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/rational-kunal.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":"2023-05-27T09:29:04.000Z","updated_at":"2024-04-02T18:44:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"15099088-5b9f-477f-9ef6-fe91a098276b","html_url":"https://github.com/rational-kunal/Netflix-Hotkeys","commit_stats":null,"previous_names":["rational-kunal/netflix-hotkeys"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/rational-kunal/Netflix-Hotkeys","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rational-kunal%2FNetflix-Hotkeys","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rational-kunal%2FNetflix-Hotkeys/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rational-kunal%2FNetflix-Hotkeys/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rational-kunal%2FNetflix-Hotkeys/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rational-kunal","download_url":"https://codeload.github.com/rational-kunal/Netflix-Hotkeys/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rational-kunal%2FNetflix-Hotkeys/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30344466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T15:55:29.454Z","status":"ssl_error","status_checked_at":"2026-03-10T15:54:58.440Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["chrome-extension","crawler","netflix"],"created_at":"2024-11-15T12:17:43.557Z","updated_at":"2026-03-10T17:33:40.838Z","avatar_url":"https://github.com/rational-kunal.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"128px\" src=\"public/icons/logo.ico\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Google%20Chrome-4285F4?style=for-the-badge\u0026logo=GoogleChrome\u0026logoColor=white\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/rational-kunal/Netflix-Hotkeys/node.js.yml?style=flat-square\" /\u003e\n\u003cimg src=\"https://img.shields.io/github/package-json/v/rational-kunal/Netflix-Hotkeys?style=flat-square\" /\u003e\n\u003c/p\u003e\n\n# Netflix Hotkeys\n\nIntroducing a Chrome extension that makes watching Netflix even better!\n\nWhy did I create this extension? It's simple. Whenever I opened Netflix on Chrome, I got tired of logging into my profile over and over again. That's when I had an idea: why not create an extension that adds cool features to enhance your Netflix binge-watching on Chrome?\n\n\u003c!-- TODO: Add video / GIF / screenshots --\u003e\n\n## Supported features\n\nEnjoy these handy hotkeys to enhance your Netflix experience:\n\n- 👤 Auto profile log-in\n- ⏩ \u003ckbd\u003eA\u003c/kbd\u003e and \u003ckbd\u003eD\u003c/kbd\u003e to control playback speed\n- 🎬 Auto skip intros, recaps, and end credits\n- 💬 \u003ckbd\u003eC\u003c/kbd\u003e to toggle subtitles\n- 🔊 \u003ckbd\u003eV\u003c/kbd\u003e to toggle audio\n- 📺 \u003ckbd\u003eN\u003c/kbd\u003e for the next episode\n- 🔄 \u003ckbd\u003eR\u003c/kbd\u003e to restart an episode\n\n## How to install\n\n1. Clone the repository:\n   ```shell\n   $ git clone https://github.com/rational-kunal/Netflix-Hotkeys.git\n   ```\n1. Run the following commands to build the extension:\n   ```shell\n   $ cd netflix-hotkeys\n   $ npm install\n   $ npm run build\n   ```\n1. Open `chrome://extensions/` and turn on `Developer mode`.\n1. Click on `Load unpacked` and select the `build` folder.\n\n## Development\n\n_(For the curious minds and my future reference)_\n\n### How it works\n\nThe extension consists of a Controller and a UI. The Controller listens to user events and triggers hotkeys, while the UI enables/disables hotkey features.\n\n### Major Components and Responsibilities\n\nThe extension is implemented with consists of several components, some of the major components with their roles:\n\n- [`Storage`](https://github.com/rational-kunal/Netflix-Hotkeys/blob/main/src/core/Storage/Storage.js): Provides a simple API to the extending class for storing and retrieving data.\n- [`Preferences`](https://github.com/rational-kunal/Netflix-Hotkeys/blob/main/src/core/Preferences/Preferences.js) (extends `Storage`): Manages user preferences.\n- [`usePreferences`](https://github.com/rational-kunal/Netflix-Hotkeys/blob/main/src/UI/hooks/usePreferences.js): Bridges the UI and the storage service to manage the preferences.\n- [`FeatureControl`](https://github.com/rational-kunal/Netflix-Hotkeys/blob/main/src/UI/FeatureControl/FeatureControl.jsx): A UI element that allows users to enable or disable hotkeys.\n- [`NetflixCrawler`](https://github.com/rational-kunal/Netflix-Hotkeys/blob/main/src/core/NetflixCrawler/index.js): Monitors changes in the Netflix DOM and triggers update events. It also provides access to current DOM elements as needed.\n- [`NetflixController`](https://github.com/rational-kunal/Netflix-Hotkeys/blob/main/src/core/NetflixController/index.js): Listens to events from `NetflixCrawler` and triggers hotkeys based on the enabled preferences stored in `Preferences`.\n- [`Executor`](https://github.com/rational-kunal/Netflix-Hotkeys/blob/main/src/core/NetflixController/Executor.js): Executes specific code immediately or after DOM updates.\n\n### How Hotkeys are Triggered\n\nHotkeys are triggered based on user actions, but sometimes the Netflix DOM may not be in the desired state immediately. In such cases, the extension waits for the necessary elements to be added to the DOM before triggering the hotkey. Typically, the DOM changes occur promptly after user interaction.\n\nHotkeys are triggered by manipulating the Netflix DOM. Examples of DOM manipulation include clicking on a button or pasting text into an input field.\n\n---\n\nGenerated by [create-chrome-ext](https://github.com/guocaoyi/create-chrome-ext)\n\n\u003ca href=\"https://www.flaticon.com/free-icons/netflix\" title=\"netflix icons\"\u003eNetflix icons created by Ruslan Babkin - Flaticon\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frational-kunal%2Fnetflix-hotkeys","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frational-kunal%2Fnetflix-hotkeys","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frational-kunal%2Fnetflix-hotkeys/lists"}