Play YouTube videos ad-free using an iframe embed served from localhost
- Install script.user.js with a userscript manager or from Greasy Fork
- Serve index.html on
localhost:8823using a local web server, some options are as follows:
- run
python -m http.server 8823in the project directory after cloning the repository - run the convenience script yt-iframe.py (ensure the
setproctitlePython package is installed), this will start a process with the nameyt-iframeso it can be easily found and killed if needed
Note: The server must be running whenever you use YouTube with this script enabled.
For Chromium-based browsers, set the flag local-network-access-check to Disabled as otherwise the browser will not allow a local iframe inside public sites including YouTube.
This script is designed to be minimally invasive, overlaying the localhost iframe on top of the original player.
Use YouTube as normal with the exception of playlists. Switch videos by clicking the playlist icon inside the player instead of the YouTube playlist sidebar to avoid reloading the page.
-
Playlists:
- Not all videos in a playlist may load into the embed player. If this happens, try refreshing the page.
- The playlist may reset to the first video when entering and exiting miniplayer mode.
- This issue may be partially mitigated by entering and exiting miniplayer mode on the first video before you start watching the playlist.
-
Video Info:
- The video title may be empty when switching videos with the miniplayer active. Refresh the page to fix.