A Browser extension to help you avoid extended scrolling by blocking your screen or redirecting you to a more productive site.
Note
This project was created as a learning Project for DHBW Stuttgart.
- tracking how much time you spend on different sites
- actions when a limit is exceeded - sending you a message - creating a popup - showing an image with the popup - redirecting you to a different URL - also in arbitrary combinations
Note
aka TO-DO list
- custom image popup
Much thanks to MDN and fnya for providing examples. this was a great help in understanding how to create an extension and what you can do with them.
- head over to the releases
- select one you like (we recommend the latest)
- select the .xpi file
- allow firefox to install the addon
- you are ready to use the extension
- get a zip file from a release
- open Firefox and go to
about:addons - select the gear (tools for add-ons)
- select install add-on from file
- you are ready to use the extension
Note
This will be gone when you restart your browser
- type in your url bar
about:debugging - go to This Firefox
- click load temporary Add-on
- choose the
manifest.jsonfile from this repo. or the .xpi file from the release - that should be it. you can now try the extension.
Note
this is not the way Firefox intended extensions to be installed
you can only install from source if you have a Firefox build which supports not certified extensions. This is for example a Firefox Developer build. This section will roughly describe how to install an unsigned extension on such a Build.
- type in
about:configin your URL bar. - disable the setting
xpinstall.signatures.required. This will allow you to install unsigned extensions.
Caution
changing these settings can mess up your browser pretty bad. don't go changing things if you don't know what it does.
- download the extension files from this repository
- create a zip file of the folders
assets,srcand the filemanifest.json - follow the instructions from
installing via zip file
BrainSoap
├───assets
│ ├───icons
│ ├───misc
│ ├───nav
│ └───visuals
├───docs
├───src
│ ├───background
│ ├───browser
│ ├───config
│ ├───content
│ ├───services
│ ├───ui
│ │ ├───dashboard
│ │ │ ├───nav
│ │ │ ├───rules
│ │ │ ├───settings
│ │ │ ├───stats
│ │ │ └───vendor
│ │ └───popup
│ └───utils
└───tests
web-ext and unit tests are performed on any commit to the main or dev Branch
all code is verified with web-ext. web-ext is a command line tool that allows you to test your extension locally. it also provides warnings for unsafe code like improperly sanitized variables.
unit tests are applied to important central functionality, like the storage manager. for browser dependent components a mock system is created to simulate actual browser behavior. This allows testing the components without installing the extension in an actual browser.
are performed on an installed installation to test how much it can handle without slowing down. the Results can strongly depend on the machine.
manual tests ensure all systems work together as a whole. They are performed regularly during development and before release.