This is a Plasmo extension project bootstrapped with plasmo init
.
LeetCode Torture is an extension designed to make you productive to ace those technical interviews. When you activate this extension, you won't be able to access any websites except LeetCode until you solve your randomly assigned LeetCode problem. Here's the video on YouTube.
- Random Problem Assignment: Get a random LeetCode problem every day
- Website Blocker: Prevents you from accessing any websites until you solve your problem
- Have Node.js Installed on your machine
- Clone or download the repo
- Navigate to the root directory
- Install pnpm if you don't have it (it's recommended to use it from plasmo)
- Run
pnpm install
to install the required dependencies
- In the terminal run the command
pnpm dev
ornpm run dev
- Open Chrome and open up your extensions page
- Enable Developer Mode using the toggle at the top right of the page
- Click on the Load unpacked button on the top left of the page
- Locate and select the appropriate development build. For example, if you are developing for the chrome browser, using manifest v3, use:
build/chrome-mv3-dev
. - The extension should now be installed have fun
- You can start editing the popup by modifying
popup.tsx
. It should auto-update as you make changes.
- Make sure your Firefox is on version 109 (we're using manifest v3)
- In the terminal run the command
pnpm dev --target=firefox-mv3
ornpm run dev-firefox
- In the build folder you should now see
build/firefox-mv3-dev
- In Firefox type about:debugging in the URL.
- Go to "This Firefox"
- In Temporary Extensions click "Load Temporary Add-on"
- Select any file from your folder
- Go to leetcode.com and right click the extension, and give the extension permission
- Do the same for any websites you visit (Firefox, doesn't give permissions automatically like chrome which is why we have to do this, it's annoying)
Just for fun
Nope, anybody can contribute to this torture machine, skill level does not matter. I made this project with no knowledge about making extensions
Read our CONTRIBUTING.md file to learn how to help make this extension more painful for everyone
That's perfectly fine, take some time and read the code to understand what's going on. You don't have to make super big changes, they can be as small as fixing my dumb typos on these files or adding helpful comments to the code.
For further guidance, visit our Documentation