{"id":46118773,"url":"https://github.com/raphaelheinz/leethub-3.0","last_synced_at":"2026-03-02T00:01:53.366Z","repository":{"id":209744602,"uuid":"724843036","full_name":"raphaelheinz/LeetHub-3.0","owner":"raphaelheinz","description":"Automatically push your LeetCode solutions to your GitHub repository","archived":false,"fork":false,"pushed_at":"2026-03-01T01:06:06.000Z","size":22615,"stargazers_count":244,"open_issues_count":15,"forks_count":227,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-01T05:25:21.315Z","etag":null,"topics":["algorithms","chrome-extension","coding-interviews","dsa","leetcode","leethub"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"arunbhardwaj/LeetHub-2.0","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raphaelheinz.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-11-28T22:48:16.000Z","updated_at":"2026-03-01T01:06:10.000Z","dependencies_parsed_at":"2024-03-23T19:23:15.285Z","dependency_job_id":"501b1b3b-4bc5-4267-a2ce-e45ebf6c53ee","html_url":"https://github.com/raphaelheinz/LeetHub-3.0","commit_stats":null,"previous_names":["raphaelheinz/leethub-3.0"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/raphaelheinz/LeetHub-3.0","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelheinz%2FLeetHub-3.0","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelheinz%2FLeetHub-3.0/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelheinz%2FLeetHub-3.0/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelheinz%2FLeetHub-3.0/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raphaelheinz","download_url":"https://codeload.github.com/raphaelheinz/LeetHub-3.0/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelheinz%2FLeetHub-3.0/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29987726,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T22:42:38.399Z","status":"ssl_error","status_checked_at":"2026-03-01T22:41:51.863Z","response_time":124,"last_error":"SSL_read: 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":["algorithms","chrome-extension","coding-interviews","dsa","leetcode","leethub"],"created_at":"2026-03-02T00:01:50.936Z","updated_at":"2026-03-02T00:01:53.357Z","avatar_url":"https://github.com/raphaelheinz.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"assets/logo.png\" alt=\"LeetHub-3.0\"\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/raphaelheinz/LeetHub-3.0/blob/main/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"license\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://chromewebstore.google.com/u/1/detail/leethub-v3/kdkgpjpenaeoodajljkflmlnkoihkmda\"\u003e\n    \u003cimg src=\"https://img.shields.io/chrome-web-store/v/kdkgpjpenaeoodajljkflmlnkoihkmda.svg\" alt=\"chrome-webstore\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://chromewebstore.google.com/u/1/detail/leethub-v3/kdkgpjpenaeoodajljkflmlnkoihkmda\"\u003e\n    \u003cimg src=\"https://img.shields.io/chrome-web-store/d/kdkgpjpenaeoodajljkflmlnkoihkmda.svg\" alt=\"users\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/raphaelheinz/LeetHub-3.0/graphs/contributors\" alt=\"Contributors\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/contributors/raphaelheinz/LeetHub-3.0\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## What is LeetHub-3.0?\n\nA chrome extension that automatically pushes your code to GitHub when you pass all tests on a \u003ca href=\"https://leetcode.com/\"\u003eLeetcode\u003c/a\u003e or \u003ca href=\"https://leetcode.cn/\"\u003eLeetcode CN\u003c/a\u003e problem. It's forked from \u003ca href=\"https://github.com/arunbhardwaj/LeetHub-2.0\"\u003eLeetHub-2.0\u003c/a\u003e which is not compatible with Leetcode anymore since the latest updates.\n\n\n## Why LeetHub?\n\nThere's no easy way of accessing your leetcode problems in one place! Moreover, pushing code manually to GitHub from Leetcode is very time consuming. So, why not just automate it entirely without spending a SINGLE additional second on it?\n\n## Screenshot\n\n\u003ch1 align=\"center\"\u003e\n    \u003cimg src=\"assets/extension/4.png\" alt=\"leetcode view\" width=\"800\"\u003e\n\u003c/h1\u003e\n\n## Supported Platforms\n\nLeetHub-3.0 supports both:\n- **LeetCode.com** (English)\n- **LeetCode.cn** (Chinese/力扣)\n\n## Supported UI\n\nLeetHub-3.0 works with two different Leetcode UIs. There are known issues when using the plugin with the \"non-dynamic layout\". Please use one of the following:\n\n1. **old layout** or\n2. new **\"dynamic layout\"**\n\n\n## Manual synchronization\n\nYour submission may not be successfully uploaded to GitHub if you update the text in the editor too fast. It is necessary to wait for 4 seconds (until the spinner stops) after submitting the solution before entering new characters, switching languages, or switching editors. During this period, your solution is being pushed to GitHub, and the website should maintain its layout without alteration. While this process is less than ideal, we have not found a better solution so far. Sorry for this inconvenience! If you find a fix, your PRs are welcome!\n\nIn the meantime, we have added a manual synchronization button next to notes icon. Please use the manual sync button only after you have successfully submitted your solution to Leetcode. Additionally, you can push previous submissions to GitHub by selecting the submission first and then click on the manual synchronization button.\n\n\n## Installation\n\n\u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://chromewebstore.google.com/u/1/detail/leethub-v3/kdkgpjpenaeoodajljkflmlnkoihkmda\" rel=\"Download leetcode plugin\"\u003e\n        \u003cimg src=\"https://embedsignage.com/wp-content/uploads/2016/04/embed-signage-chromeos-web-store-button.png\" alt=\"Download leetcode plugin\" width=\"300\" /\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n\n1. **Chrome Web Store**\n\n    Install this plugin using Chrome Web Store. Please find the link above. This is the preferred way of installation. Updates are installed automatically.\n\n\n2. **(Optional) Manual installation**\n\n    You can also install the plugin manually. Please follow the steps below.\n\n    * Create your own OAuth app in GitHub (https://github.com/settings/applications/new) and store CLIENT_ID and CLIENT_SECRET confidentially\n        * Application name: [CUSTOM]\n        * Homepage URL: https://github.com/raphaelheinz/LeetHub-3.0\n        * Authorization callback URL: https://github.com/\n    * Download the project ZIP (\u003ca href=\"https://github.com/raphaelheinz/LeetHub-3.0/releases\"\u003eReleases\u003c/a\u003e) or clone this repository\n    * Run ```npm run setup``` to install the developer dependencies\n    * Update CLIENT_ID and CLIENT_SECRET in ```src/js/authorize.js``` and ```src/js/oauth2.js``` with your ids\n    * Go to \u003ca href=\"chrome://extensions\"\u003echrome://extensions\u003c/a\u003e\n    * Enable \u003ca href=\"https://www.mstoic.com/enable-developer-mode-in-chrome/\"\u003eDeveloper mode\u003c/a\u003e by toggling the switch on top right corner\n    * Click **\"Load unpacked\"**\n    * Select the entire LeetHub folder\n\n\n## Setup\n\n1. After installing the LeetHub, launch the plugin\n2. Click on **\"Authorize with GitHub\"** to set up your account with LeetHub\n3. Setup an existing/new repository with LeetHub (private by default) by clicking **\"Get Started\"**\n4. Begin Leetcoding! To view your progress, simply click on the extension!\n\n\n## Supported npm commands\n\n```bash\nnpm run               # Show available commands\nnpm run setup         # Install dependencies\nnpm run format        # Auto-format JavaScript, HTML/CSS\nnpm run format-test   # Test if code is formatted properly\nnpm run lint          # Lint JavaScript\nnpm run lint-test     # Test if code is linted properly\n```\n\n## Contribution\n\nPlease help to further improve this awesome plugin! We would appreciate your support. Your pull requests are welcome!\n\nDon't forget to star this repository for further development of new features. If you want a particular feature, simply [request](https://github.com/raphaelheinz/LeetHub-3.0/labels/feature) for it!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraphaelheinz%2Fleethub-3.0","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraphaelheinz%2Fleethub-3.0","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraphaelheinz%2Fleethub-3.0/lists"}