Skip to content
This repository has been archived by the owner on Nov 15, 2024. It is now read-only.
/ stream-locker Public archive

🌐 Browser extension: Block annoying popups and load streaming sites videos in the lightweight native HTML5 player.

License

Notifications You must be signed in to change notification settings

mebeim/stream-locker

Repository files navigation

Logo Stream Locker

Note

As of June 2024, after the decision of Chrome to switch to Manifest v3, this extension is no longer maintained. I am keeping the project up so that its source code may be useful to others, but will not update the extension anymore.

License: GPL v3

Stream Locker helps you avoid the pain of watching videos in sites with clumsy players you're not familiar with and full of annoying ads and popups. Whenever you visit a blacklisted streaming site, any annoying popup is automatically blocked, and as soon as you get to the video, if compatible with HTML5, it is captured by Stream Locker and loaded in the lightweight native player of your browser, full size, in a new page without any additional element but the player, and with a set of intuitive keyboard shortcuts to play, pause, fast-forward, change volume, etc. Try Stream Locker out, and you'll never want to watch another stream online without it!

Player keyboard/mouse shortcuts:

  • space or mouse left click: play/pause (browser's default).
  • F or mouse double left click: toggle full screen.
  • + or mouse scroll up: volume +5%.
  • - or mouse scroll down: volume -5%.
  • : skip forward 10 seconds (15 on Firefox).
  • : skip backward 10 seconds (15 on Firefox).
  • : skip forward 30 seconds.
  • : skip backward 30 seconds.

Installation

From the store

Simply visit the Chrome Web Store page or the Firefox Add-ons store page and install in one click.

From source

Feel free to install any version of the extension from source. You can either check the available releases or clone the repo and build it yourself (see how in the next section).

If you're bothering with this I'm going to assume you know what you're doing. I mean, you obviously know that installing from source is possible dragging and dropping the extension's .zip file in chrome://extensions (for Chrome) or about:debugging (for Firefox), right?. You probably also already know that installing from unsigned source will make your browser complain, but if you want to have fun, go ahead!

Building

Building requires Python 2.7, GitPython and web-ext.

$ pip install GitPython
$ npm install -g web-ext

Just clone this repo and build running the build.py script.

$ git clone https://github.com/mebeim/stream-locker.git
$ cd stream-locker
$ ./build.py

You can also specify a custom build directory with --build-dir and a custom target browser (e.g. chrome or firefox). By default, the build directory is ./build, and the target is all, which builds all the targets.

Don't bother with the --release and --deploy options, They're only there for me to automate releases and deployment, and also need a bunch of environment variables to work, including secret API tokens which obviously you don't have.


Copyright © 2017-19 Marco Bonelli. Licensed under the GNU General Public License v3.0.