https://mullvad.net/en/help/install-mullvad-app-linux

Trying to install VPN and these are the instructions Mullvad is giving me. This is ridiculous. There must be a more simple way. I know how to follow the instructions but I have no idea what I’m doing here. Can’t I just download a file and install it? I’m on Ubuntu.

  • Lvxferre@lemmy.ml
    link
    fedilink
    arrow-up
    200
    arrow-down
    2
    ·
    edit-2
    10 months ago

    It’s less complicated than it looks like. The text is just a poorly written mess, full of options (Fedora vs. Ubuntu, repo vs. no repo, stable vs. beta), and they’re explaining how to do this through the terminal alone because the interface that you have might be different from what they expect. And because copy-pasting commands is faster.

    Can’t I just download a file and install it? I’m on Ubuntu.

    Yes, you can! In fact, the instructions include this option; it’s under “Installing the app without the Mullvad repository”. It’s a bad idea though; then you don’t get automatic updates.

    A better way to do this is to tell your system “I want software from this repository”, so each time that they make a new version of the program, yours get updated.

    but I have no idea what I’m doing here.

    I’ll copy-paste their commands to do so, and explain what each does.

    sudo curl -fsSLo /usr/share/keyrings/mullvad-keyring.asc https://repository.mullvad.net/deb/mullvad-keyring.asc
    echo "deb [signed-by=/usr/share/keyrings/mullvad-keyring.asc arch=$( dpkg --print-architecture )] https://repository.mullvad.net/deb/stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mullvad.list
    sudo apt update
    sudo apt install mullvad-vpn
    

    The first command boils down to “download this keyring from the internet”. The keyring is a necessary file to know if you’re actually getting your software from Mullvad instead of PoopySoxHaxxor69. If you wanted, you could do it manually, and then move to the /usr/share/keyrings directory, but… it’s more work, come on.

    The second command tells your system that you want software from repository.mullvad.net. I don’t use Ubuntu but there’s probably some GUI to do it for you.

    The third command boils down to “hey, Ubuntu, update the list of packages for me”.

    The fourth one installs the software.

    • Critical_Insight@feddit.ukOP
      link
      fedilink
      arrow-up
      35
      arrow-down
      1
      ·
      10 months ago

      Thanks for the explanation. However trying to run the first command gives me sudo: curl: command not found

      So I’m stuck right there in the first step lol

      • NekkoDroid@programming.dev
        link
        fedilink
        arrow-up
        60
        ·
        10 months ago

        I would have guessed that Ubuntu would install it by default since its a very common way to get stuff from the internet (when in the terminal), but apparently not (the other option is wget which is most likely installed, but that uses a different way to get the stuff).

        You should be able to install curl with sudo apt install curl

      • Lvxferre@lemmy.ml
        link
        fedilink
        arrow-up
        14
        ·
        edit-2
        10 months ago

        You have two options: install curl (check @TrickDacy@lemmy.world’s comment) or do it manually. Installing curl is the easiest.

        If you want to do it the hard way (without the terminal), here’s how:

        1. Download the file https://repository.mullvad.net/deb/mullvad-keyring.asc from your web browser.
        2. Open your file browser as administrator. There’s probably some link for that in the Menu.
        3. Move the file that you just downloaded to the directory /usr/share/keyrings/
        • Critical_Insight@feddit.ukOP
          link
          fedilink
          arrow-up
          23
          arrow-down
          4
          ·
          10 months ago

          Really appreciate your replies dude. So many are being a bit of an jerks here, but you (and few other) have been really helpful.

          • Lvxferre@lemmy.ml
            link
            fedilink
            arrow-up
            10
            ·
            edit-2
            10 months ago

            You’re welcome.

            I think that people being jerks take for granted how confusing this might be, if you’re new; we (people in general) tend to take vocab that we already know for granted, as well as solutions for small problems. …except that it doesn’t work when you’re starting out, and we all need to start out somewhere, right.

            • astraeus@programming.dev
              link
              fedilink
              arrow-up
              3
              ·
              10 months ago

              Yeah, once you work in Linux for so long seeing someone ask about curl missing is really easy to take for granted that we all started there, we’ve all been fresh on Linux. A lot of people take pride in their experience, but they shouldn’t lord it over those who are learning to advance themselves. It’s completely counter to why Linux even exists.

      • pmk@lemmy.sdf.org
        link
        fedilink
        arrow-up
        10
        ·
        10 months ago

        curl is a good tool to have in general, you can install it with sudo apt install curl

      • TrickDacy@lemmy.world
        link
        fedilink
        arrow-up
        10
        arrow-down
        1
        ·
        10 months ago

        Wow, interesting. You may be able to install curl to fix that like this:

        sudo apt-get update
        sudo apt-get install curl
        

        Can’t hurt to try

    • jet@hackertalks.com
      link
      fedilink
      English
      arrow-up
      25
      ·
      10 months ago

      This is a great explanation. And really well written. Thank you for taking the time to put it together

    • u/lukmly013 💾 (lemmy.sdf.org)@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      8
      ·
      10 months ago

      Hmm… ProtonVPN team solved this in better way. They put the repo configuration stuff into DEB file, so it’s just a matter of double clicking it and clicking install on Debian-based and Ubuntu-based (I know Ubuntu is Debian-based) distros and then installing the ProtonVPN client through either GUI or CLI package manager, whichever you wish to use. More newbie-friendly.

      Unfortunately, I also just learned they dropped support for Arch Linux :(

      We’d love to support the new app for arch Linux but honestly we’re understaffed and don’t have the bandwidth to be supporting the same distros that we did before with the previous client (4 packages before vs 10 packages now). If anyone from the community is willing to make AUR packages for themselves and publish/maintain them we’re totally fine with that, as long as people keep in mind that it would be an unofficial version because we currently don’t support arch Linux with the new v4 app.

      Also if anyone’s interested: https://boards.eu.greenhouse.io/proton/jobs/4140067101

    • XTL@sopuli.xyz
      link
      fedilink
      arrow-up
      11
      arrow-down
      3
      ·
      10 months ago

      Any instructions that say sudo curl should be thrown out immediately.

      • bjorney@lemmy.ca
        link
        fedilink
        arrow-up
        4
        ·
        10 months ago

        Is curl so untrusted that you would prefer to use 3 commands (one which still needs root permissions) instead?

        • XTL@sopuli.xyz
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          10 months ago

          The point is that an HTTPS request does not need root permissions. Other steps might, and that’s indeed high risk.

          • bjorney@lemmy.ca
            link
            fedilink
            arrow-up
            2
            ·
            10 months ago

            The curl that ships with apt is ubiquitous enough that I trust doing sudo curl xxx yyy more than enough if it means avoiding typing curl xxx /tmp/yyy && sudo mv /tmp/yyy yyy

      • jet@hackertalks.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        10 months ago

        Agreed it’s not best practice. But when somebody is saying the individual step-by-step is too complicated, you want to give them the simplest command possible. Even if it is more risky. It’s a trade off of accessibility versus complexity

    • umbrella@lemmy.ml
      link
      fedilink
      arrow-up
      4
      arrow-down
      1
      ·
      edit-2
      10 months ago

      to be fair all of that should be a flatpak you click once to install

      • Lvxferre@lemmy.ml
        link
        fedilink
        arrow-up
        5
        ·
        10 months ago

        Frankly in this case even a simple bash script would do the trick. Have it check your distro, version, and architecture; if you got curl and stuff like this; then ask you if you want the stable or beta version of the software. Then based on this info it adds Mullvad to your repositories and automatically install it.

        • umbrella@lemmy.ml
          link
          fedilink
          arrow-up
          3
          ·
          10 months ago

          nowadays they always come across as lazy to me, when a bunch of options are available to make installing software on linux painless.

          • Lvxferre@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            10 months ago

            I like them, even for software installation. Partially because they’re lazy - it takes almost no effort to write a bash script that will solve a problem like this.

            That said a flatpak (like you proposed) would look far more polished, indeed.

            • umbrella@lemmy.ml
              link
              fedilink
              arrow-up
              2
              ·
              edit-2
              10 months ago

              oh i meant devs who provide packages but don’t bother with install scripts.

              bash scripts are fine when they exist.

              • Lvxferre@lemmy.ml
                link
                fedilink
                arrow-up
                2
                ·
                10 months ago

                Ah, got it. My bad. Yeah, not providing anything is even lazier, and unlike “lazy” bash scripts it leaves the user clueless.