mhogomchungu / media-downloader

Media Downloader is a Qt/C++ front end to yt-dlp, youtube-dl, gallery-dl, lux, you-get, svtplay-dl, aria2c, wget and safari books..
GNU General Public License v2.0
1.54k stars 117 forks source link

Cookies #159

Closed trimechee closed 2 years ago

trimechee commented 2 years ago

Hello, i tested this software two days ago, but it does not allow me to choose the dash audio format of youtube that i want to donwload so I uninstalled it, and Media-Dowloader obviously remains my favorite donwloader :)

after installation of hitomi, I took a look in the settings and I saw that Hitomi offers an option to import cookies from the web browser and it contains other interesting options such as downloading torrents and the use of scripts and supports M3U8....

so it will be great if Media-Dwloander adds an important option like importing cookies in order to be able to download videos from protected sites....

https://github.com/KurtBestor/Hitomi-Downloader

mhogomchungu commented 2 years ago

Assuming you are using yt-dlp as a backend to download media:-

  1. Look at below image and you will see there is a GUI option to set a path to a cookie file if you already have it. There are tools you can use to extract cookie values from a web browser and store them in a text file.

  2. If you want yt-dlp to load up cookie entries without first extracting them from a web browser, you can give it an option named "--cookies-from-browser" that tells it to fetch itself cookies from your preferred web browser and you can put the option in the "default download options" field seen in the same below image.

This is the best i can do with cookie support.

yt-dlp has a bazzilion different options and its not possible to put all of them in a GUI because different users want different options and my solution is to give GUI options for users to add the options they want to use themselves.

The documentation for "--cookies-from-browser" option says:-

--cookies-from-browser BROWSER[+KEYRING][:PROFILE]
                                The name of the browser and (optionally) the
                                name/path of the profile to load cookies
                                from, separated by a ":". Currently
                                supported browsers are: brave, chrome,
                                chromium, edge, firefox, opera, safari,
                                vivaldi. By default, the most recently
                                accessed profile is used. The keyring used
                                for decrypting Chromium cookies on Linux can
                                be (optionally) specified after the browser
                                name separated by a "+". Currently supported
                                keyrings are: basictext, gnomekeyring, kwallet

If you do not have it then set

Screenshot_20220626_074042

trimechee commented 2 years ago

Great ! Thank you very much for yout precious help :)

trimechee commented 2 years ago

Hello, another question please, the description of stream-detector extension says :
"Also assembles readymade youtube-dl (yt-dlp)/FFmpeg/Streamlink/hlsdl/N_m3u8DL-CLI commands which (should) include all of the necessary cookies and headers", so if i use this extension, i will not need any more to use this command line "--cookies-from-browser" ?

https://github.com/rowrawer/stream-detector

mhogomchungu commented 2 years ago

This extension seems to call its backends and gives them expected cookie values through CLI arguments so you should not need to set "--cookies-from-browser".

trimechee commented 2 years ago

Interesting ! thank you for your precious help :)