Adds a floating button to download YouTube videos, Shorts, and music in high quality, with built-in ad blocking for a fast and smooth experience.
These are versions of this script where the code was updated. Show all versions.
Β· Corrected the external link: βDownload 6β ππ₯
Β· π New download links available! ππThe URL 'ytmp4.biz' has been removed because it is no longer working. β οΈ
π₯ Major Improvements:π§ AdBlock Engine Refactorβ’ Reworked and optimized ad selector systemβ’ Improved support for Shorts ads, feed ads, and engagement panel adsβ’ Removed redundant and outdated selectorsβ’ Cleaner and more future-proof structureβ‘ Performance Optimizationβ’ Replaced basic setInterval URL watcher with smarter monitoringβ’ Added visibilitychange supportβ’ Dynamic interval adjustment (800ms / 3000ms)β’ Implemented requestAnimationFrame batchingβ’ Prevented duplicate updates using scheduling flagβ’ Reduced CPU usage in background tabsπ Download System Redesignedβ’ Support for 2 URLsβ’ Option with encodeURIComponent (for full links)β’ Structure ready to easily add more serversβ’ Now includes a selection menuπ― Improved Video ID Detectionβ’ More robust RegExp for:β’β’ watch?v=β’β’ /shorts/β’β’ youtu.beβ’ Added safe error handlingβ’ Reduced false positivesπ± Better Touch Supportβ’ Safe detection of Touch / TouchEventβ’ Automatic fallback to .click() if unsupportedβ’ Improved cross-browser stabilityπ₯ UI & Fullscreen Enhancementsβ’ Improved floating button visibility in fullscreenβ’ Smart auto-hide after inactivityβ’ Dynamic left/right menu positioningβ’ Improved drag handling for desktop and mobileπ§Ή Code Quality Improvementsβ’ Refactored structureβ’ Cleaner logic separationβ’ Removed redundanciesβ’ Improved maintainabilityπ Summary: Version 12.0 is a structural upgrade focused on:π‘οΈ Stronger AdBlock systemπ Better performanceβ Multiple URLsπ§ Improved compatibilityπ§© Cleaner and more maintainable codebase
β’ π An earlier version of 11.7 will be used temporarily. I will proceed with the analysis, incorporating any necessary corrections to ensure performance improvements. Afterwards, a new update will be released, including the adjustments made.
π Improvementsβ’ π Page-targeted executionβ’ The script now runs only on:β’β’ /watchβ’β’ /shortsβ’β’ music.youtube.comβ Improved performance and reduced CPU usage.π― Anti-Ad system restructuredβ’ Observer now monitors only #movie_playerβ’ Uses requestAnimationFrame() to prevent redundant executionsβ Lighter and more efficient.β‘ Improved ad skipping logicβ’ Now checks for .ad-showing before executingβ Avoids unnecessary operations.π Modernized SPA navigation handlingβ’ Removed setIntervalβ’ Added support for:β’β’ yt-navigate-finishβ’β’ popstateβ’β’ history.pushState interceptionβ Better compatibility with YouTubeβs internal navigation system.π± Improved fullscreen behaviorβ’ Auto-hide button only on desktop (>768px)β’ Better mobile experience.π§ Optimized element handlingβ’ Reuses existing reference when possible.π§Ή Dedicated observer for Premium overlaysβ More modular and organized structure.π Internal Changesβ’ Refactored removePlayerADβ’ Better separation of concernsβ’ Cleaner and more performant code structure
π¨ Modification β GM_addStyleβ’ π¨ Performance β Smaller CSS for faster injectionβ’ β All functions, observers, and behavior fully preserved
π§ Internal Changes (Refactor)β’ π Renamed const servers to const MultiURLβ’ π Updated servers.forEach(server => { to MultiURL.forEach(link => {β’ π Renamed internal variable server to linkβ’ β No logic changesβ’ β No functional changesβ’ β No visual changesβ’ β 100% compatibility maintained
β’ Fixed URL link on Server 1 ππ οΈ
β¨ New server selection menuβ’ The button now opens a menu with 2 server optionsβ’Fallback system in case one server goes offlineπ§ Smart menu positioningβ’ Automatically detects screen positionβ’ Opens to the left or right accordinglyβ’ Closes when clicking outsideπ± Improved fullscreen behaviorβ’ Auto-hide after 3 seconds in fullscreenβ’ Reappears when moving the mouse or touching the screenπ¨ More modern interfaceβ’ Reorganized structure (wrapper + button + menu)β’ Smoother transitionsβ’ More professional lookπ§ More modular codeβ’ Prepared for easy addition of new serversπ‘ AdBlock unchangedβ’ Same robust ad-blocking and automatic ad-skip system on YouTube
Β· π« Expanded blocking: Shorts, overlays, banners, Music/Premium promotions, and persistent ads.Β· π― Uses modern CSS (:has()) to remove ads more accurately.Β· π Floating button and ad removal work even when the URL changes (Single Page App).
β New Features / Improvements:β’ π« Blocked more types of ads in player, Shorts, YouTube Music & home.β’ π’ Floating download button now more stable.β’ β© Improved ad skip & fixed Premium / Shorts overlays.β’ π Better overall performance & smoother experience.β’ π Link error fixed.
π’ Removedβ’ The βDownloadβ button inside the YouTube player (playerBtnID) has been removed.β’ All related functions, including:addPlayerButton()getBypassURL() usage for the player buttonCalls to addPlayerButton() in update()β’ References to lastVideoId for tracking player button state.πΉ Updatedβ’ The floating button (ytPunisherBtn) code simplified slightly:open() now directly concatenates the URL instead of calling getBypassURL(vid).β’ update() function now only manages the floating button.β Unchangedβ’ Ad-blocking logic (cssSelectorArr, generateRemoveADHTMLElement, removePlayerAD) remains the same.β’ Skip ads functionality and auto-play after ads.β’ Floating button CSS and behavior, including drag-and-drop and auto-hide.β’ Supported browsers, matches, grants, and metadata remain unchanged except version/date.
Less visual clutterConsistent indentationLogical grouping of functionsCompact CSSClear event flows
β New Features & ImprovementsUpdated to v11.0 RTM with performance and stability enhancements.Expanded ad-blocking coverage to remove more types of ads, including: Shorts ads Promotions and overlays Sparkles ads Endscreen and side-panel adsCode reorganized and optimized while keeping the floating button and player button fully functional.Interface and naming slightly updated for clarity (PC & Mobile instead of PC & Celular).π FixesAdjusted ad-blocking behavior to reduce interference with videos.Removed duplicated CSS and redundant functions.π§ NotesDownload behavior and bypass URLs remain unchanged.Experience continues to be ad-free and compatible with both desktop and mobile.
Script name change
β All original features preserved: AdBlock, ad removal, floating button, and download functionality work exactly as before.π§ Removed &bypassAge=1 parameter from download links for cleaner code and better compatibility with future YouTube updates.π Improved stability on YouTubeβs SPA (Single Page Application) pages using a MutationObserver to detect DOM changes.π¨ Minor CSS and variable adjustments for easier future maintenance.π Added future-proof support for YouTube and YouTube Music layout changes:Download button now automatically searches multiple possible containers.Compatible with new menus, action groups, and mobile layouts.
π‘οΈ New: AdBlocker FeaturesAutomatic ad blocking:Top banners (#masthead-ad)Video ads (.video-ads.ytp-ad-module)Sidebar and suggestions (ytd-ad-slot-renderer)YouTube Premium popupsSkip video ads automatically:Clicks the βSkip Adβ button when availableAdvances the video to the end of the adEnsures uninterrupted playbackRemove overlays and popups that block the screenWorks dynamically using MutationObserver:Detects ads appearing after page loadKeeps the viewing experience clean for videos and shortsπ New: Age Restriction BypassAutomatically bypasses YouTube age-restricted videosNo login or age confirmation requiredUses youtube-nocookie embed fallbackWorks alongside AdBlocker and Downloaderπ Improvements & AdjustmentsSimplified metadata (removed multi-language descriptions)Buttons and design remain unchanged for consistencyMore stable and safe across different YouTube domains
β New Featuresβ¨ Smart auto-hide floating buttonThe floating download button now automatically hides after a few seconds of inactivity on desktop devices.The button reappears instantly when mouse movement, clicks, or keyboard input are detected.π±οΈ Improved desktop interactionThe floating button no longer obstructs the interface when idle, providing a cleaner viewing experience.π οΈ Improvementsπ Updated conversion endpointConversion service URL updated to wefightyourtickets.ca for improved availability and stability (previously evdfrance.fr).π― Refined drag & drop behaviorCursor state is now properly restored from βgrabbingβ to βgrabβ after releasing the floating button.π¨ Enhanced visual polishAdded smooth opacity transitions when showing and hiding the floating button.π FixesNo regressions introduced.Mobile touch support remains unchanged and fully compatible.π Technical NotesVideo ID detection continues to support standard videos, Shorts, and YouTube Music.Dynamic page navigation handling remains stable without requiring page reloads.The main Download button is still injected contextually into the YouTube and YouTube Music UI.
Migration of image hosting infrastructure; icon improvements.
Link error fixed; download button image updated.
β¨ AddedFull support for YouTube Music (music.youtube.com).Draggable floating download button for quick access at any time.Support for YouTube Shorts.Automatic detection of URL changes without page reload.Continuous DOM observation for higher resistance to YouTube layout changes.Floating button with screen boundary limits.Touch and mobile support.Cleaner, modern, and minimal UI.More modular and readable code using use strict, async/await, and arrow functions.π§ ImprovedMore robust video ID extraction.Correct button placement for both YouTube and YouTube Music.Dynamic update of download links.Improved stability in SPA navigation (Single Page Application).Better overall performance and maintainability.Increased resistance to frequent YouTube interface updates.π FixedButton not reappearing after internal navigatin.Broken download links when switching videos.Issues caused by outdated DOM selectors.Limitations of the old video ID regex.
Unnecessary Check Removal: Empty block removed.Added Transitions: Added a smooth transition for the button and CSS to improve the user experience.Use of MutationObserver: The code now uses MutationObserver to detect changes in the DOM more efficiently.Improved URL Checking: The extractYT function has been improved to handle more YouTube URL formats.Instant Button Link Update: The button link is updated immediately after the button is added.
New link, no ads.
Fixed URL and button color change equal to subscriber's YT.
Link returned back: tubemp3.to
Fixed script button.
New link, no ads and new lines of script code.
Fixed - Remove line.
Fixed link.
Fix: You no longer need to go to YouTube to re-upload [F5] a video for the first time and some fixes on the download button.
Remove "@antifeature referral-link" for script.
New layout for YouTube.
Fixed the link.
Show all script versions