https://github.com/raicem/impulse-blocker
Block distracting websites when you are browsing the web. Use for procrastination.
https://github.com/raicem/impulse-blocker
firefox-extension webextensions
Last synced: 5 months ago
JSON representation
Block distracting websites when you are browsing the web. Use for procrastination.
- Host: GitHub
- URL: https://github.com/raicem/impulse-blocker
- Owner: raicem
- License: mit
- Created: 2017-02-18T10:37:23.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-02-13T11:37:21.000Z (over 3 years ago)
- Last Synced: 2024-04-15T07:27:40.366Z (about 2 years ago)
- Topics: firefox-extension, webextensions
- Language: JavaScript
- Homepage: https://blog.cemunalan.com.tr/2017/05/17/impulse-blocker-guide/
- Size: 2.28 MB
- Stars: 166
- Watchers: 8
- Forks: 24
- Open Issues: 47
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Impulse Blocker
Block distracting websites when you are browsing the web. Written using [WebExtensions](https://developer.mozilla.org/en-US/Add-ons/WebExtensions) so it will be compatible with the future releases of Firefox.
## Installation and Usage
If you want to install and use the extension please head over to [here](https://addons.mozilla.org/en-US/firefox/addon/impulse-blocker/).
Simple usage guide can be found [here](https://blog.cemunalan.com.tr/2017/05/17/impulse-blocker-guide/).
## Building
If you want to build the extension yourself using the source code, follow these steps.
### Dependencies
Make sure you have `node` (version 11) and `npm` (version 6) installed on your machine.
Then clone this repository:
```bash
git clone https://github.com/raicem/impulse-blocker.git
```
Then install the dependencies using `npm`
```bash
npm install
```
If you want to build it to sideload the extension without using the Mozilla's [AMO](https://addons.mozilla.org) use this command.
```
npm run release
```
This will create a zip file in the `web-ext-artifacts` folder. This file contains everything the Firefox needs to run the extension. You can install it following instructions [here](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Distribution) and [here](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Distribution_options/Sideloading_add-ons).
Again just a reminder, you can install the extension from the official [add-ons page](https://addons.mozilla.org/en-US/firefox/addon/impulse-blocker/). Simple usage instructions are [here](https://blog.cemunalan.com.tr/2017/05/17/impulse-blocker-guide/).
## Contributing
The extension is open for any kinds of contribution. Please note that it requires a basic knowledge about [WebExtensions API](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons) and [React](https://reactjs.org/).
After following the steps explained in the Building section above, all you have to do is run these commands in parallel.
`npm run watch` will start the Webpack watcher. This will immediately build the extension and create files to be loaded into the Firefox.
`npm run browser` will load the built files into the isolated Firefox instance and you will be able to see the changes you make immediately.
## Testing
Make sure you run through these steps to make sure the extension works.
Impulse Blocker testing
### Starting and stopping
- [ ] Start the blocker with no blocked websites. It should not interfere.
- [ ] Start blocking a website. It should be blocked.
- [ ] Add a second website to the block list. It should also be blocked.
- [ ] Stop the blocker. Websites should now be free to access.
- [ ] Start the blocker again. See the websites are blocked again.
### Pausing
- [ ] Pause the blocker. Websites should be free to access.
- [ ] Cancel the pause. Websites should be blocked.
- [ ] Pause the blocker again and restart the browser. It should still be paused.
- [ ] Close the browser again and wait for pause period to finish. When you open the browser it should not be in pause state and websites must be blocked.
- [ ] Add a website when the blocker is paused. It should still be paused.
### Options page
- [ ] Add website from the options page. It should be blocked.
- [ ] Remove website from the options page. It should be now accessible.
- [ ] Stop extension from the options page. It should stop the blocker.
- [ ] Start the extension from the options page. It should start the blocker.
- [ ] Tick and check options and check they have the desired effect on the popup.
## Contributors
Huge thanks to contributors!
- [Crote](https://github.com/Crotek)
- [pkonneker](https://github.com/pkonneker)
- [Thynix](https://github.com/Thynix)
- [xeBuz](https://github.com/xeBuz)
- [Mattwmaster58](https://github.com/Mattwmaster58)
- [LorenzoAncora](https://github.com/LorenzoAncora)