Debian, alternate connectivity

0 views
Skip to first unread message

Mike Easter

unread,
Jun 12, 2022, 8:31:53 PMJun 12
to
This little project was about tweaking a live Debian 11 Mate to be able
to connect normally or by wireguard or by openvpn or by tor.

I was recently exploring Tails 5.0, but the tails philosophy is mainly
about tor all the way whereas my normal behavior is to not vpn and to
not tor, but I do like to 'check out' those other options. I also
'don't like' Gnome as a DE, and Tails 'default' only comes that way.

Instead of just changing Tails DE, I decided that I would tweak a live
Deb 11 Mate non-free to do what I wanted. My free vpn is Proton; Proton
has a set of commands by which one can set up a 'buntu 20.04 network
manager to be able to graphically import a .conf file for wireguard and
proton will also make the .conf file for the user. Trying to do that on
Debian w/o the commands is *tedious* for me.

But, there is no such command set for any other distro or version than
'buntu 20.04 and I found that it is 'too much trouble' (for me, maybe
not someone else) to 'handle' the .conf file 'problem.

In any case, I have good news for those who would do such a project;

- Debian provides a package for enabling a TorBrowser launcher
- the Proton Open VPN client for Debian works just fine
- AND one can use the 'buntu command package at proton on Debian 11
Mate live

https://protonvpn.com/support/official-linux-vpn-debian/ How to install
a VPN on Debian
https://wiki.debian.org/TorBrowser
https://protonvpn.com/support/wireguard-configurations/
> WireGuard configuration files are available
> How to use WireGuard with NetworkManager on Ubuntu 20.04 LTS



--
Mike Easter

Mike Easter

unread,
Jun 13, 2022, 1:45:06 PMJun 13
to
Mike Easter wrote:
> This little project was about tweaking a live Debian 11 Mate to be able
> to connect normally or by wireguard or by openvpn or by tor.
>
I would like to understand better something about make, make install, so
that if I have compiled a package that can be installed to a particular
distro, I could save that compiled package so that I can use it again on
another live boot of the same distro.
>
>  - AND one can use the 'buntu command package at proton on Debian 11
> Mate live
>
> https://protonvpn.com/support/wireguard-configurations/
>> WireGuard configuration files are available
>> How to use WireGuard with NetworkManager on Ubuntu 20.04 LTS
>
There are 2 sets of commands:

> 1. Open Terminal from your Home directory and install WireGuard using the following command:

... which command actually installs a LOT more than just wireguard,
installing 12 different packages incl build-essential

> 2. Clone the NetworkManager plugin from GitHub, compile, and install it using the following commands (hit <enter> after each line):

... which command puts network-manager-wireguard from github into a
local directory and ends w/ the make and make install there.

The result of that operation is that the network manager UI has been
changed (along w/ some other factors) which makes it simple to import
the wireguard .conf file into the nm.

What I would like is if there is some kind of package that results from
the earlier operations that I could save and use again w/o having to
perform all of the above operations again.

--
Mike Easter

J.O. Aho

unread,
Jun 13, 2022, 3:46:38 PMJun 13
to
On 13/06/2022 19.45, Mike Easter wrote:
> Mike Easter wrote:
>> This little project was about tweaking a live Debian 11 Mate to be
>> able to connect normally or by wireguard or by openvpn or by tor.
>>
> I would like to understand better something about make, make install, so
> that if I have compiled a package that can be installed to a particular
> distro, I could save that compiled package so that I can use it again on
> another live boot of the same distro.

In general "make" will build the application, all based on the Makefile.
In the same way in general "make install" will install the files based
on the Makefile.

If you want to make it easy to install, run the "make" and then you make
a tarball of the directory, then you can unarchive it next time and run
"make install" and the application will work if you have all the
dependencies installed next time, unless the application can be built as
a static blob, the you have everything you need in the binary.

You could also look into how to make your own deb package, this way you
can install it with dpkg and if you done it right, it will also pull in
all the needed dependencies.





>> 1. Open Terminal from your Home directory and install WireGuard using
>> the following command:

sudo apt install wireguard

> ... which command actually installs a LOT more than just wireguard,
> installing 12 different packages incl build-essential

wireguard was merged into the kernel source back in the days of kernel
5.6, many distributions do build the wireguard module, so it should just
be to

>> 2. Clone the NetworkManager plugin from GitHub, compile, and install
>> it using the following commands (hit <enter> after each line):

check that you have NetworkManager 1.16 or later, as it has built in
support for wireguard.

Should work fine in Debian Bullseye or later, Ubuntu Focal or later.


--

//Aho


Mike Easter

unread,
Jun 13, 2022, 4:39:55 PMJun 13
to
The default nm has 'wireguard' support, but it can't import the
wireguard .conf from a file.

The beauty of the commands and tools proton provides for wireguard is to
let the user pick a server (free; from .us .jp .nl; paid from many) and
the tool creates a wg .conf file dl/able, then the commands change the
power or feature of the nm to allow the user to import load the .conf
file. At first I didn't think those commands would work for another
distro than a -buntu 20.04, but they did work for Debian 11.

This is the content of the #1 above which only says 'install wireguard'
but actually

> sudo apt install wireguard git dh-autoreconf libglib2.0-dev intltool build-essential libgtk-3-dev libnma-dev libsecret-1-dev network-manager-dev resolvconf

and #2 above about the nm wireguard plugin actually says:

> git clone https://github.com/max-moser/network-manager-wireguard
> cd network-manager-wireguard
> ./autogen.sh --without-libnm-glib
> ./configure --without-libnm-glib --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/NetworkManager --localstatedir=/var
> make
> sudo make install

(hoping that doesn't wrap badly)

That combination makes it point & click on the user's nm.

Similarly, there is a linux openvpn app, protonvpn.


--
Mike Easter

Mike Easter

unread,
Jun 13, 2022, 5:30:47 PMJun 13
to
Mike Easter wrote:
> and #2 above about the nm wireguard plugin actually says:
>
>> git clone https://github.com/max-moser/network-manager-wireguard
>> cd network-manager-wireguard
>> ./autogen.sh --without-libnm-glib
>> ./configure --without-libnm-glib --prefix=/usr --sysconfdir=/etc
>> --libdir=/usr/lib/x86_64-linux-gnu
>> --libexecdir=/usr/lib/NetworkManager --localstatedir=/var
>> make sudo make install

The result of bringing in that n-m-wireguard is:

$ ls -R
.:
appdata includes2strings.py po
auth-dialog linker-script-binary.ver properties
AUTHORS m4 README.md
autogen.sh Makefile.am shared
configure.ac network-manager-wireguard.doap src
COPYING nm-wireguard-service.conf
examples nm-wireguard-service.name.in

./appdata:
network-manager-wireguard.metainfo.xml.in wireguard.png
wireguard-advanced.png

./auth-dialog:
main.c nm-openvpn-auth-dialog.py

./examples:
dbus

./examples/dbus:
dbus.py

./m4:
attributes.m4 compiler_options.m4 git-sha-record.m4

./po:
de.po en_GB.po LINGUAS POTFILES.in

./properties:
gresource.xml nm-wireguard-editor.c
libnm-vpn-plugin-wireguard-editor.ver nm-wireguard-editor.h
libnm-vpn-plugin-wireguard.ver nm-wireguard-editor-plugin.c
libnm-wireguard-properties.ver nm-wireguard-editor-plugin.h
nm-wireguard-dialog.ui

./shared:
import-export.c nm-default.h nm-utils utils.c wireguard.c
import-export.h nm-service-defines.h README utils.h wireguard.h

./shared/nm-utils:
gsystem-local-alloc.h nm-shared-utils.c nm-vpn-plugin-macros.h
nm-glib.h nm-shared-utils.h nm-vpn-plugin-utils.c
nm-macros-internal.h nm-test-utils.h nm-vpn-plugin-utils.h

./src:
nm-wireguard-service.c


--
Mike Easter

Mike Easter

unread,
Jun 13, 2022, 5:38:04 PMJun 13
to
Mike Easter wrote:
>
> The result of bringing in that n-m-wireguard is:
>
> $ ls -R

Then, the result after the configure is:

$ ls -R
.:
aclocal.m4 configure.ac Makefile.am
appdata COPYING Makefile.in
auth-dialog depcomp missing
AUTHORS examples network-manager-wireguard.doap
autogen.sh includes2strings.py nm-wireguard-service.conf
autom4te.cache install-sh nm-wireguard-service.name.in
compile intltool-extract.in po
config.guess intltool-merge.in properties
config.h intltool-update.in README.md
config.h.in libtool shared
config.log linker-script-binary.ver src
config.status ltmain.sh stamp-h1
config.sub m4 test-driver
configure Makefile

./appdata:
network-manager-wireguard.metainfo.xml.in wireguard.png
wireguard-advanced.png

./auth-dialog:
main.c nm-openvpn-auth-dialog.py

./autom4te.cache:
output.0 output.2 requests traces.1 traces.3
output.1 output.3 traces.0 traces.2

./examples:
dbus

./examples/dbus:
dbus.py

./m4:
attributes.m4 intltool.m4 ltoptions.m4
compiler_options.m4 libtool.m4 ltsugar.m4
git-sha-record.m4 lt~obsolete.m4 ltversion.m4

./po:
de.po LINGUAS Makefile.in POTFILES stamp-it
en_GB.po Makefile Makefile.in.in POTFILES.in

Mike Easter

unread,
Jun 13, 2022, 5:49:47 PMJun 13
to
J.O. Aho wrote:
> If you want to make it easy to install, run the "make" and then you make
> a tarball of the directory, then you can unarchive it next time and run
> "make install" and the application will work if you have all the
> dependencies installed next time, unless the application can be built as
> a static blob, the you have everything you need in the binary.

If I make a tarball of the dir after the make, does that mean that I
still need to install all of those tools which were installed in that
command w/ the wireguard? Or maybe just something like the build-essential?

I've looked at the install.sh but I'm not wiser :-)



--
Mike Easter

J.O. Aho

unread,
Jun 14, 2022, 2:03:00 AMJun 14
to
On 13/06/2022 23.49, Mike Easter wrote:
> J.O. Aho wrote:
>> If you want to make it easy to install, run the "make" and then you
>> make a tarball of the directory, then you can unarchive it next time
>> and run "make install" and the application will work if you have all
>> the dependencies installed next time, unless the application can be
>> built as a static blob, the you have everything you need in the binary.
>
> If I make a tarball of the dir after the make, does that mean that I
> still need to install all of those tools which were installed in that
> command w/ the wireguard?  Or maybe just something like the
> build-essential?

You will need all the libraries that you may have installed and make,
not the devel packages.

--

//Aho
Reply all
Reply to author
Forward
0 new messages