64 votes

Cobalt – a media downloader that doesn't piss you off

31 comments

  1. [14]
    kaylon
    Link
    Probably the fanciest YT2MP3 website I have ever seen in my entire life.

    Probably the fanciest YT2MP3 website I have ever seen in my entire life.

    22 votes
    1. [13]
      fxgn
      Link Parent
      It's also probably the only one that cares about users, so it implements its own downloader instead of just wrapping youtube-dl https://github.com/wukko/cobalt/issues/95

      It's also probably the only one that cares about users, so it implements its own downloader instead of just wrapping youtube-dl

      https://github.com/wukko/cobalt/issues/95

      12 votes
      1. [7]
        DrStone
        Link Parent
        What are you referring to as indicating they “care about users” in that issue? Wukko’s short reasoning to roll their own downloader reads mostly as Not-Invented-Here Syndrome to me.

        What are you referring to as indicating they “care about users” in that issue? Wukko’s short reasoning to roll their own downloader reads mostly as Not-Invented-Here Syndrome to me.

        31 votes
        1. [2]
          teaearlgraycold
          Link Parent
          It looks unnecessarily salty. But I think slinging "Not-Invented-Here Syndrome" around is a bit too common and feels like a logically fallacy. There are tremendous benefits from knowing every line...

          It looks unnecessarily salty. But I think slinging "Not-Invented-Here Syndrome" around is a bit too common and feels like a logically fallacy. There are tremendous benefits from knowing every line of an important module. And, most of the time, it's honestly easier to rewrite something from scratch than to read the existing code.

          10 votes
          1. DrStone
            Link Parent
            People “sling” NIHS around commonly because it is extremely common. Almost every developer who is interested in the field beyond money has fallen to the temptation at least once in their career,...

            People “sling” NIHS around commonly because it is extremely common. Almost every developer who is interested in the field beyond money has fallen to the temptation at least once in their career, if not more. The points wukko chose to bring up against the established and in favor of their own (and not elaborate upon), save for one or two, are exactly the kind of vague and arrogant ones typically used to justify NIHS. No specific critical technical pain points, no performance bottlenecks, no licensing issues, nothing. Not even the perfectly valid goal of a challenge/learning was listed.

            The one I’ll give them is the cross-language interaction, and if that was their primary focus then I’d be a bit less confident in my assessment.

            10 votes
        2. creesch
          Link Parent
          Some if it yeah, some points can be valid. Point 2,3 and possibly 4 are related to the fact that they are building cobalt in node.js which does complicate things with youtube-dl seemingly being...

          Wukko’s short reasoning to roll their own downloader reads mostly as Not-Invented-Here Syndrome to me.

          Some if it yeah, some points can be valid. Point 2,3 and possibly 4 are related to the fact that they are building cobalt in node.js which does complicate things with youtube-dl seemingly being python based.

          I do agree that the other points pretty seem to be their own bias for working with code they wrote themselves.

          9 votes
        3. [3]
          fxgn
          Link Parent
          Yeah, it does. But I meant that they definitely would not have done that if they didn't care about users and just wanted to make money like the other sites.

          Yeah, it does. But I meant that they definitely would not have done that if they didn't care about users and just wanted to make money like the other sites.

          2 votes
          1. creesch
            Link Parent
            I wouldn't bet on that to be honest. A lot of programmers prefer working with code they wrote and know. Often they mistake that familiarity with their own code with it being "better code". Purely...

            I wouldn't bet on that to be honest. A lot of programmers prefer working with code they wrote and know. Often they mistake that familiarity with their own code with it being "better code".

            Purely the fact that a dev wants to implement something themselves doesn't mean a lot. That, for a lot of dev teams, is a weekly recurring discussion they are having with their stubborn team members.

            If it was just a quick money grab it is indeed less likely they would have implemented it themselves.
            But, then it also wouldn't be an open source project to begin with. And even that doesn't always say everything. There are enough examples of service oriented projects like this that end up having a free version and a subscription version with closed source components down the line.

            To be clear, the way the project is set up and the license used it all looks pretty okay. But, it doesn't hurt to be slightly critical, either.

            13 votes
          2. DrStone
            Link Parent
            There’s plenty of reasons one might want to build their own that have nothing to do with how they feel about their users. Intellectual challenge, learning experience, resume material,...

            There’s plenty of reasons one might want to build their own that have nothing to do with how they feel about their users. Intellectual challenge, learning experience, resume material, ego/pride/arrogance, and more.

            8 votes
      2. DefiantEmbassy
        Link Parent
        It's good to have alternative downloaders, but as said, I think saying that other projects "don't care about their users" because they use yt-dlp is reductionist at best.

        It's good to have alternative downloaders, but as said, I think saying that other projects "don't care about their users" because they use yt-dlp is reductionist at best.

        21 votes
      3. [4]
        vord
        Link Parent
        Like, many of the complaints are "yt-dlp is an old code base with a large numbers of workarounds and not in my tech stack". I don't think it's a bad thing to roll your own downloader... but...

        Like, many of the complaints are "yt-dlp is an old code base with a large numbers of workarounds and not in my tech stack".

        I don't think it's a bad thing to roll your own downloader... but they're gonna find a lot of their own legacy spaghetti code over time because they're constantly fighting against one of the largest corps in the world.

        More of their complaints apply more to the older youtube-dl, which is not nearly as actively developed anymore.

        16 votes
        1. [3]
          lou
          Link Parent
          yt-dlp not only works every time, it's extremely fast.

          yt-dlp not only works every time, it's extremely fast.

          11 votes
          1. [2]
            vord
            Link Parent
            Tight integration with ffmpeg is also killer.

            Tight integration with ffmpeg is also killer.

            7 votes
            1. lou
              (edited )
              Link Parent
              I also remembered it works with less reputable websites. A friend told me.

              I also remembered it works with less reputable websites. A friend told me.

              8 votes
  2. g33kphr33k
    Link
    Not a bad download list. Yt-dlp will remain my go-to for a while longer. Another worthy downloader I wandered across was get_iplayer. Awesome tool.

    Not a bad download list. Yt-dlp will remain my go-to for a while longer.

    Another worthy downloader I wandered across was get_iplayer. Awesome tool.

    5 votes
  3. [14]
    Rucker
    Link
    Tried it for the hell of it. It's pretty nice. I don't really see a reason not to use yt-dlp over this but I can understand why someone who is less tech savvy might be interested in this. Cool...

    Tried it for the hell of it. It's pretty nice. I don't really see a reason not to use yt-dlp over this but I can understand why someone who is less tech savvy might be interested in this. Cool find OP!

    4 votes
    1. [13]
      fxgn
      Link Parent
      I'm using yt-dlp on my laptop, but this will be really useful for when I need to download something on my phone or one someone else's computer. I have set up a custom Kagi bang, so on my phone I...

      I'm using yt-dlp on my laptop, but this will be really useful for when I need to download something on my phone or one someone else's computer. I have set up a custom Kagi bang, so on my phone I can just type !dl <url> in the browser search bar and it'll download that via cobalt.

      3 votes
      1. [5]
        bugsmith
        (edited )
        Link Parent
        That is absolutely genius, and I am now going to exactly the same thing. Edit: Hm. Bit trickier to implement than I initially expected. I assumed there would just be an GET endpoint I could throw...

        That is absolutely genius, and I am now going to exactly the same thing.

        Edit: Hm. Bit trickier to implement than I initially expected. I assumed there would just be an GET endpoint I could throw a URL at. Would you mind sharing how you have set this up in Kagi?

        1 vote
        1. [4]
          fxgn
          Link Parent
          There is a GET endpoint. Cobalt has a ?u parameter for url, so my bang url is set to https://cobalt.tools/?u=%s

          There is a GET endpoint. Cobalt has a ?u parameter for url, so my bang url is set to

          https://cobalt.tools/?u=%s

          3 votes
          1. [3]
            bugsmith
            Link Parent
            Thank you. Was that in the documentation somewhere, and I just missed it?

            Thank you.

            Was that in the documentation somewhere, and I just missed it?

            1. [2]
              fxgn
              Link Parent
              It's not documented, I found it in GitHub Issues of the project https://github.com/wukko/cobalt/issues/234

              It's not documented, I found it in GitHub Issues of the project

              https://github.com/wukko/cobalt/issues/234

              2 votes
              1. bugsmith
                Link Parent
                I must have looked everywhere except the issues! Thanks again for sharing, it works wonderfully.

                I must have looked everywhere except the issues! Thanks again for sharing, it works wonderfully.

                1 vote
      2. [7]
        Rucker
        Link Parent
        First time I am ever hearing about this. A paid search engine is pretty interesting. Kinda out of scope of the thread but would you say it is worth it?

        Kagi

        First time I am ever hearing about this. A paid search engine is pretty interesting. Kinda out of scope of the thread but would you say it is worth it?

        2 votes
        1. 0xSim
          Link Parent
          Not who you asked, but yeah, 100% worth it. I've been happily using it since April 2022. The only area it's worse than Google is for image search, but they're constantly improving on that front.

          Not who you asked, but yeah, 100% worth it. I've been happily using it since April 2022. The only area it's worse than Google is for image search, but they're constantly improving on that front.

          4 votes
        2. [4]
          mattgif
          Link Parent
          I used it for three months and generally liked it, but it had major issues with private mode searching due to requiring a login. Firefox private mode simply didn't work, even after installing the...

          I used it for three months and generally liked it, but it had major issues with private mode searching due to requiring a login. Firefox private mode simply didn't work, even after installing the three or so add ons they suggest.

          Probably a minor issue for most people, but I use private mode constantly for session sandboxing as a web dev. Too much friction for me vs Google.

          3 votes
          1. [3]
            fxgn
            Link Parent
            What instructions did you follow? There's only one addon needed: the official Kagi addon Also you need to make sure you enable "run in private windows" for that addon in settings

            Firefox private mode simply didn't work, even after installing the three or so add ons they suggest.

            What instructions did you follow? There's only one addon needed: the official Kagi addon

            Also you need to make sure you enable "run in private windows" for that addon in settings

            1 vote
            1. [2]
              mattgif
              Link Parent
              The official response was to add another extension to enable monkeying with custom search, and managing session keys. The problems with private mode in Firefox are documented here, and the...

              The official response was to add another extension to enable monkeying with custom search, and managing session keys.

              The problems with private mode in Firefox are documented here, and the associated GitHub page:

              https://kagifeedback.org/d/1949-firefox-for-android-kagi-addon-no-longer-works-when-searching-in-private-tabs/3

              They're actively working on it, so maybe things are smoother than they were over the summer

              1 vote
              1. fxgn
                Link Parent
                Oh, you're talking about Firefox Android. In that case - yeah, maybe. It works for me in Firefox Desktop, but I haven't tried the Android version

                Oh, you're talking about Firefox Android. In that case - yeah, maybe. It works for me in Firefox Desktop, but I haven't tried the Android version

        3. fxgn
          Link Parent
          Yes, it is worth it for me. I wrote a detailed comment about that here

          Yes, it is worth it for me. I wrote a detailed comment about that here

          3 votes
  4. [2]
    vord
    (edited )
    Link
    Anybody self-hosting? If so, does it retain files on the local server? My #1 unfilled use case for my media server is a simple way for my wife to paste in a youtube link and have it downloaded to...

    Anybody self-hosting? If so, does it retain files on the local server? My #1 unfilled use case for my media server is a simple way for my wife to paste in a youtube link and have it downloaded to the server. This could fill that niche.

    Edit: Self hosting it is a bit of a mess. I'm checking out a yt-dlp web frontend instead.

    3 votes
    1. gco
      Link Parent
      I've self hosted metube in the past and it was good. Stopped because I needed some flexibility in download options and it's easier to have a shell script do that dynamically for me. But if you...

      I've self hosted metube in the past and it was good. Stopped because I needed some flexibility in download options and it's easier to have a shell script do that dynamically for me. But if you intent is to keep settings somewhat static it's a pretty good tool and other users should find it easy to use.

      2 votes