void-linux / void-packages

The Void source packages collection
https://voidlinux.org
Other
2.59k stars 2.16k forks source link

Package Request: nordvpn #11356

Closed kernle32dll closed 5 months ago

kernle32dll commented 5 years ago

NordVPN is a paid VPN solution. However - its currently not available on Void :(

There are no source etc. to get, but deb files are available. I was able to dangle myself around to getting the binary files, only to find out that there is some systemd stuff going on I don't understand.

Arch's AUR isn't much help either.

Anyone able to sort this out?

jnbr commented 5 years ago

They have documentation for openvpn and IKEv2/IPsec with strongswan. Both, openvpn and strongswan are already packaged.

kernle32dll commented 5 years ago

@jnbr True - it is usable this way. However, both solutions are missing a (at least for me) important feature: That is server auto-selection. Aka - you tell the app the country, and it connects you to the fastest server there. With both the openvpn and strongswan solution, you have to do that yourself. It works, but its annoying.

I might look into cooking up a package myself, but as I said - really no idea what to do with that systemd crud yet. Might be easier as expected tho.

knusbaum commented 5 years ago

It installs at least. Haven't looked at any of the "systemd stuff", but anyone who wants to take this can go for it.

# Template file for 'nordvpn-bin'
pkgname=nordvpn-bin
version=3.0.0v4
revision=1
archs="i686 x86_64 aarch64 armv7l armv6l"
build_style=fetch
short_desc="NordVPN CLI tool for Linux"
maintainer="Kyle Nusbaum <knusbaum+void@sdf.org>"
license="custom"
homepage="https://nordvpn.com"
nopie=true

case "$XBPS_TARGET_MACHINE" in
    x86_64)
        _deb="nordvpn_${version//v/-}_amd64.deb"
        distfiles="https://repo.nordvpn.com/deb/nordvpn/debian/pool/main/nordvpn_${version//v/-}_amd64.deb"
        checksum=a4a9602a9ecc1b29eb4ef9667993bd68999f42fc1962588951845a797d31ecfa
        ;;
    i686)
        _deb="nordvpn_${version//v/-}_i386.deb"
        distfiles="https://repo.nordvpn.com/deb/nordvpn/debian/pool/main/nordvpn_${version//v/-}_i386.deb"
        checksum=2e00ae9e8cf5732a35712066ff72eac1e99149eb219e626151ec7f78be562ab1
        ;;
    aarch64)
        _deb="nordvpn_${version//v/-}_aarch64.deb"
        distfiles="https://repo.nordvpn.com/deb/nordvpn/debian/pool/main/nordvpn_${version//v/-}_aarch64.deb"
        checksum=a36d8f0249125912ca0a8655a9b1a5c5615245ee3a53cc0469913e9f11c2226a
        ;;
    armv7l)
        _deb="nordvpn_${version//v/-}_armhf.deb"
        distfiles="https://repo.nordvpn.com/deb/nordvpn/debian/pool/main/nordvpn_${version//v/-}_armhf.deb"
        checksum=faa61bda229abcea5defcb4cbce92f09d269ffad2918de8f9d1529ce64d2b558
        ;;
    armv6l)
        _deb="nordvpn_${version//v/-}_armel.deb"
        distfiles="https://repo.nordvpn.com/deb/nordvpn/debian/pool/main/nordvpn_${version//v/-}_armel.deb"
        checksum=3203ad6ec2d19f75b4b8219cac48991fb5c13122ac0dabaa3d90d234f3b64162
        ;;
esac

do_install() {

    ar p "${_deb}" data.tar.xz > data.tar.xz
    tar -C "${DESTDIR}" -xJf data.tar.xz

    mv "${DESTDIR}/usr/sbin/nordvpnsd" "${DESTDIR}/usr/bin"
    mv "${DESTDIR}/usr/sbin/nordvpnud" "${DESTDIR}/usr/bin"
    rm -r "${DESTDIR}/usr/sbin"
    rm -r "${DESTDIR}/usr/lib/systemd/"
}
kernle32dll commented 5 years ago

Got it all running after some tinkering. The daemon nordvpnd runs fine as a simple runit service without any frills.

However, something that worries me is that the nordvpn deb file re-distributes its own (I presume) statically built openvpn. For testing purposes I linked /usr/bin/openvpn to /var/lib/nordvpn/openvpn, and it seems to run fine. However, I was unable to find any licensing information that would give me clues about whether or not it would be OK to re-distribute nordvpn this way (without its own openvpn build).

Ingvix commented 4 years ago

However, I was unable to find any licensing information that would give me clues about whether or not it would be OK to re-distribute nordvpn this way (without its own openvpn build).

Why not ask them? They got an easy-to-access service chat. Not sure if they know there but at least an email would probably give an answer. I'm sure there are others like me who would like to easily install it from the local package manager. Or did ask and they didn't like the idea?

ovinsnes commented 4 years ago

@kernle32dll Can you say what specifically was the tinkering that made the app work for you on Void Linux?

And, also, did you ask the nordvpn guys about the licencing concerns?

Ingvix commented 4 years ago

Also even if NordVPN wouldn't like it, you could always just add a restricted flag and it should be quite okay since it doesn't actually create the package in the repo.

ovinsnes commented 4 years ago

A restricted flag in the package template you mean?

Also, what would it take to actually create the package in the repo?

flexibeast commented 4 years ago

Not sure what you mean by your second question, but 'restricted' means it won't be available in the repos, but only via xbps-src: packages are 'restricted' when Void can't distribute them due to license issues. A quick-start guide to using xbps-src to build a restricted package locally can be found here.

Ingvix commented 4 years ago

@ovinsnes templates in this repo are automatically build to package unless they have 'restricted=yes' in them.

kernle32dll commented 4 years ago

I tried to build a package around what I have been using the last few months - I hope I did everything right :sweat_smile: It works for me.

kernle32dll commented 4 years ago

Duh - of course it still hinges on the license. I opened a support ticket at NordVPN.

the-maldridge commented 4 years ago

I'm inclined to not accept this, as it winds up being a frontend to a data package.

github-actions[bot] commented 2 years ago

Issues become stale 90 days after last activity and are closed 14 days after that. If this issue is still relevant bump it or assign it.