YouTube Cobalt Tools Download Button

Adds a download button to YouTube videos using Cobalt API for downloading videos or audio.

Ili estas versioj de tiu ĉi skripto, kie la kodo estas ĝisdatigita. Montri ĉiujn versiojn

  • v1.5.2 2024/12/01

    Changelog:

    • Make regexing the Qualities and Formats from the raw HTML a backup, for if the variables are out of sync, so if they are in sync it will be able to access them immediately bypassing the loading.
    • Make the initial Quality and Format fetching "Loading..." consistent.
  • v1.5.1 2024/11/26

    Changelog:

    • Disable innate download button until qualities and formats are loaded.
  • v1.5.0 2024/11/26

    Changelog:

    • Regex to extract Formats and Qualities from Raw HTML, so to not rely on static YouTube variables and require a refresh every time.
    • Code optimization
    • Remove unnecessary uses of "unsafeWindow"
  • v1.4.3 2024/11/25

    Changelog

    • Darkmode for Quality selection box.
    • Make download button match native YouTube one more.
  • v1.4.2 2024/11/16

    Changelog:

    • Minor Bug fixes, and better error catching.
  • v1.4.1 2024/11/05

    Changelog:

    • Click the overflow menu button before removing overflow download button, to make sure it's loaded.
  • v1.4.0 2024/10/28

    Changelog

    • Use new instance list (this one is worse, but apparently I'm only allowed to use instances that give "consent". Read below.)
    • Navigate to download URL in new tab for efficiency, and better transparency.
    • GM.xmlHttpRequest on more requests, in case they use CORS.
    • Webm default format, it's better, and supports more things.
    • Check if turnstile is enabled for the instance before using.
    • Navigate to cobalt.tools, if can't find public API instance.
    • Some other stuff I probably forgot.

    Rant

    So previously I was using my own version of Kwiat's Cobalt Instances list, with the ones he removed. But then they contacted me on their Discord, asking me to take it down, because apparently they don't want me using instances that don't give explicit "consent". Which in my opinion is stupid, if you have something publicly accessible on the internet with no security (I use V10 API now, so it's very easy to add such security), then in my opinion is open for anyone to use. That's like saying since YouTube did not say I can use their website, then I can't. But whatever, so you are likely often going to not be able to download directly, and will be redirected to cobalt.tools. Theirs not much I can do, I'm afraid if I just ignored them, that they'd block me, you can host your own instance list and change the URL to yours (you can Ctrl + Find for the comment "Change this URL to change what instance list is used."), but note I am not responsible if you use instances without consent from the owner. I have completely lost motivation to keep maintaining this because of this, so this will likely be the last update, I'm sorry, but mabye if the Cobalt devs decide to host their own free open API (Like they have been doing since the start up until V10), then mabye I'll reconsider, but until then...

  • v1.3.1 2024/10/21

    Changelog:

    • Use API v10
    • New list scraper
    • Error descriptions
  • v1.3 2024/10/15

    Changelog:

    • Better Cobalt instance scraping.
  • v1.2.1 2024/10/15

    Changelog:

    • Better Error communication.
  • v1.2 2024/10/14

    Changelog:

    • Remove need for CORS proxy. (I got GM.xmlHttpRequest working.)
  • v1.1 2024/10/14
  • v1.1 2024/10/14

    ChangeLog:

    • Clicking off to close download popup works after initial click, but not if already initiated download.
    • Disable changes to Quality and Format, after initiating download.
  • v1.0 2024/10/14

    Biggest Update Yet!

    Changelog:

    • Reworked quality fetching, much more reliable, uses built in YT variables now, however this does mean that you'll have to reload to use since the variables don't update on page change, if anyone's got a better workaround for this please LMK.
    • Fetches a V7 API Cobalt public instance from here, because the official V7 API instance is going to shut down soon.
    • Reworked Cobalt API request, should get right quality and such now.
    • Dynamically gets formats now in the same way it gets qualities, should only show ones that Cobalt will actually take.
    • Optimizations.
  • v0.4 2024/06/25

    Only initilize Download button on video player URLs.

  • v0.3 2024/06/14

    Added

    • When clicking outside the Download Menu, it is now closed.

    Fixed

    • Download URL using old URL when navigating between videos.
  • v0.2 2024/06/14

    Added

    • Now remove the native YouTube Premium download button.
    • Enhanced the quality scraping logic for better accuracy and performance.
    • Automatically closes the download menu when a new page is loaded.

    Changed

    • Improved the logic for injecting the download button, ensuring more reliable placement and functionality.
  • v0.1 2024/06/13