Download the extension for: Chrome/Chromium | Firefox | Edge
The Chrome Web Store version can be installed on any Chromium-based browser, such as Edge, Brave, Opera and many more.
Do you have a favourite YouTube channel, but don't know what to watch? This extension is for you!
The Random YouTube Video extension adds a 'Shuffle' button to YouTube channel, video and shorts pages, which will play a truly random video from the current channel. You can use the extension's popup to customize your experience further.
Highlighted Features:
Do you have ideas for new features or have encountered a bug? Please open an issue.
The main
branch of this repository should always be stable. If you want to test the newest unreleased features, follow the steps below to create a local version of the extension that you can install in the browser of your choice.
You can find out what new changes will be coming in the next version in the changelog.
Did you find any bugs with the version you tested? Please let me know by opening an issue!
npm install
in the root directory of the project.npm run build
to build a distribution for each browser environment.
npm run build:chromium
builds a distribution for Chrome/Chromium only.npm run build:firefox
builds a distribution for Firefox only.build
with dev
in the above commands to build a development version of the extension that updates automatically when you make changes to the code.dist/<environment>
directories.chrome://extensions
.Load unpacked
and choose the dist/chromium
folder.Loading the extension like this will persist it until you remove it manually.
about:addons
.Debug Add-ons
.Load Temporary Add-on...
and choose the dist/firefox/manifest.json
file.Loading the extension like this will persist it only until you restart Firefox.
You may also test the extension with Firefox by running npm run dev:firefox
, which uses web-ext
to load the extension in a temporary Firefox profile.
The Firefox for Android version of this extension is still under development. The extension as a whole or parts of it may not function as expected.
adb devices
to get the device ID of your device or emulator.dev:android
script in package.json
with the ID you just got. The default is emulator-5554
.npm run dev:android
to load the extension in Firefox for Android.The project contains a number of different test suites, for different environments and purposes:
npm run test:all
npm test
npm run test:compatibility
and optionally the :headless
or :headful
suffixes
puppeteer
to start a browser session and interact with the extension.The manifest.json
contains two version numbers: version
and version_name
.
Packages that are released/uploaded to web stores will have both of these version numbers set to the same value.
During development, smaller changes may get pushed to the main
branch.
These packages will have the same version
number as the latest release, but a newer version_name
number, often including a -beta
suffix, to distinguish them from the latest release.
This naming scheme is used to allow users to test and distinguish new changes before their release, while still keeping the integrity of the automated release pipeline, which uses the version
property to determine when a new release should be created.
If you enjoy this extension and want to say thanks, consider buying me a coffee or sponsoring this project.