Librem tunnel VPN (Windows, Arch, fdroid)

I also needed to install the gobject-introspection package to build in manjaro

In case it helps, for Fedora 30 I did something like:

mkdir -p ~/libremonesetup
cd ~/libremonesetup
pipenv --python 3.7
sudo dnf install cairo-devel gobject-introspection-devel cairo-gobject-devel
pipenv install ldh-client

then searched for the installed nm_tunnel_setup.py and applied the same edit on Line 67 as for Arch (to remove the x86_64-linux-gnu/ from the path to libnm-vpn-plugin-openvpn.so)
CORRECTION: and change ‘/usr/lib’ to ‘/usr/lib64’ as @weswil07 pointed out in a comment below.

After that the following command completed the setup fine:

pipenv run liberty tunnel-setup

Meanwhile, I also found (via https://www.reddit.com/r/Fedora/comments/6m2l5f/automatically_connect_to_vpn/) that you can set up automatic connection to the vpn when connecting to networks that NetworkManager has remembered for you. In summary running

nm-connection-editor

allows you to edit any non-vpn network entry to automatically connect to any vpns you have set up via the General tab.

using pipenv might have been overkill of course! Just edited the post to include making a directory for the Pipfile to go in.

Sorry for the delay and apologies @mladen
It appears to accept my creds then halts with this message.

“Your tunnel service is not active”.

Any ideas? @zOvRWwWcD0Dc You said you got it running on Manjaro, did you do anything else? I am running Gnome stable.

Thanks.

https://docs.puri.sm/Librem_One/First.html#librem-tunnel-activation

Thank you! All good.

All good… Well kinda…
Now that I have tunnel up and running it leads to more questions…

It looks like this may be a TODO in the docs. Is there any way to get .opvn files or pass params to liberty to get more access points configured?

Thanks

For the OpenVPN part, I wrote about it here: Librem One: Generic doc issues
On my setup I am using the Librem Tunnel with only the OpenVPN client and a .ovpn file

Where do you put the ovpn file? I tried simply passing the config to openvpn but joy. How did you use the file you linked to @neowutran ?
Thanks

1 Like

This worked for me on Fedora as well, I did use pipx instead of pip.

In addition to removing x86_64-linux-gnu/ from Line 67, I needed to change /usr/lib/ to /usr/lib64/

@weswil07 I got liberty and the initial tunnel set up. Now I would like to change the access point.

I also can’t seem to find any VPN file.
Also, could someone please post instructions for Windows? The PureOs instructions don’t work. Thanks

@Russ
You have 3 files in a directory:

librem.ovpn pass write_vpn_credential.sh

Librem.ovpn is my config that I pasted in this thread: Librem One: Generic doc issues
You can use this configuration directly ( or use a config file from PIA, or … )
write_vpn_credential.sh is the script that generate the “pass” file. The source code is in the same thread.
You run it like that:

./write_vpn_credential.sh

Then just launch openvpn:

sudo openvpn ./librem.ovpn

( Purism software are easier to use. This is just a solution for people who can’t / don’t want to have a dedicated software to automate those steps )

@neowutran thanks!
I was passing the .ovpn file as a config not with ./
All good appreciate it.
Now can you get it in to networkmanager the gui? :slight_smile:

Ofcourse ^^
A bit too lazy to explain step by step, but:
NetworkManager -> VPN Connections -> Configure VPN -> “+” -> OpenVPN

Authentication type -> Password

& Fill the field on the main page and on the “advanced” page with the data contained in the .ovpn file

You are not the lazy one. I am way too lazy since I wanted a file i could just import but I guess if I have to do it that way I can…

Thanks again.

Yes, my mistake for not including that so I’ve updated my post to reflect. To generalise, if you can find the libnm-vpn-plugin-openvpn.so file, modify those lines to point to it.

on archlinux,
Is the building from source required? or Should I be able to just launchpython setup.py after the modification?
When building from source, it gives trouble for 2 packages,
An error occurred while installing pycairo==1.18.1
An error occurred while installing pygobject==3.32.2
Is there no any other dependencies that we should be aware of?

and when running setup.py it is working until it encounters: https://source.puri.sm/liberty/ldh_client/issues/12
which is essentially the problem from the line 67.

and comparatively to what @gjm has written,
the explicit procedure to build and install with pipenv was : pipenv -install --dev -e . (while being in the directory)
so which one is it then? Because it is not quite the same thing .

where would that be? the installed nm_tunnel_setup.py since we have also to modify it after the installation…
Because the error only points to the binary package and not to modifiable folder : /usr/lib/python3.7/site-packages/ldh_client-0.0.1-py3.7.egg/ So where did you modify it?