You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

6.3 KiB

How To Setup A Lokinet Exit Node for "Normies" aka newbies aka non-developers.

by: yidakee (aka @super_duderino)

if you appreciate this tutorial and would like to buy me a beer, feel free to send some loki love over to L58ck1CcByFHaQu18c4YQg6UkH1vTX1SBKYL6ecRxY87if4iNKcBAH55GS9ahVt6hS6oLP7LC5TA1Lmdb8B8o5MuSyohRJ4

#A Lokinet Exit Node is a next-generation onion routing service that works like a VPN.

It is similar to TOR or I2P, though a heck of a lot better. You will be able to surf Lokinet as well as regular 'ol clearnet (the "real" main internet everyone uses) with complete state-of-the-art privacy and anonymity. For example, if you are a TOR regular, you likely use a VPN for that extra protection against ISP snooping. Well, now you can just use a Lokinet Exit Node for a vastly superior protection in comparisson to regular VPNs

You can find free Lokinet Exit Nodes around, although performance mileage may vary. Alternatively, some super high performance Exit Nodes exist, where for a very small fee you will be able to surf the entire internet with great performance. You can find offers over at http://cafe.loki

Alternatively, you can run your own Exit Node!

This guide is intended for everyone out there who struggles with classic build instructions given by developlers. What is terribly logical to them is often weird and alien to the rest of us.

The purpose of this tutorial is to give you an idiot-proof copy/paste procedure that should work with virtually any VPS (virtual private server) running Ubuntu 18.04 or Ubuntu 20.04. Other flavours are likely to work, however not tested.

A Lokinet Exit is very CPU dependent. Be sure to buy a quality dedicated server, or a very high quality VPS. Recommended is 2 or more cores, and 4GB RAM. RAM is not so important, but the more cores with higher frequencies, the better.

Be sure to check their bandwidth limitations and your personal usage to avoid nasty surprises come billing.

Alright, enough talk, let's get our hands dirty.

Brief list of VPS poviders -

URL Specs Bandwidth Storage Price/month
https://vultr.com 2vCPU 4GB 3 TB 60GB $20
https://digitalocean.com 2vCPU 4GB 4 TB 80GB $100 Free Trial
https://www.hetzner.com/ 2vCPU 4GB 20TB 40TB 4,90€
https://contabo.com/ 4 CPU 8GB Unlimited 200 GB 4,99€
https://www.linode.com/ 2vCPU 4GB 4TB 80GB $20
https://www.ovh.com/ 2vCPU 7GB ? 50GB $26.40
  • Link to Digital Ocean free $100 Trial (must provide Credit Card) - https://try.digitalocean.com/performance/

  • There are thousands of VPS providers out there, these are just "usual suspects" to help get you started.

  • There are way better deals out there. duckduckgo is your friend.

  • These are not suggestions for high preformance Exit Node VPS!

  • Start by selecting a VPS provider, spin up a node selecting Ubuntu 18.04 or Ubuntu 20.04

Initial server Setup

First off, the usual system update and upgrade. SSH into your server as root

apt update && apt upgrade -y

Next, we need to add some goodies. We will likely add some redundant packages. However, given the evolution of Lokinet they may all not be required. Nevertheless, we'll add them just in case.

apt-get install -y gnupg gnupg2 policykit-1 htop build-essential cmake git libcap-dev curl libuv1-dev libsodium-dev libcurl4-openssl-dev pkg-config pkg-config gunicorn curl

Now we'll create a system user. Right now you are logged in as root, but typical linux good practice is to set up stuff as a user. You can use whatever name you want, but for this tutorial we will use a user called user123

adduser user123

You will be prompted for a password and some extra info. Select your pssword, but you can simply skip the extra info by pressing Enterall the way to the end.

Next, add user to sudoers list, and change from root over to user123

usermod -aG sudo user123
su - user123

Next, we'll install jagerman42's (aka Professor Podnocker, aka Jason) public keys that is used to sign binaries.

curl -s https://deb.imaginary.stream/public.gpg | sudo apt-key add -

Next, we'll find the packages

echo "deb https://deb.imaginary.stream $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/imaginary.stream.list

Now to resync package repositories...

sudo apt update

... and install Lokinet

sudo apt install lokinet

#Congrats!

Lokinet is now running in the background, but we're not done just yet. Lokinet is running and you can already find your Lokinet address, but it will not be persistant in case of a service restart or server reboot. So let's go ahead and create a persistant Lokinet address.

Let's edit the file lokinet.ini and add an entry.

sudo nano /etc/loki/lokinet.ini

Copy the following and add to the `[network] section

keyfile=/var/lib/lokinet/exit.private

To save, press CTRL+xand confirm with Y and press Enter

Now, we can restart Lokinet, and it will create a persitant Lokinet address

sudo systemctl restart lokinet

You can check your Lokinet address by issuing this commands

dig @127.3.2.1 -t cname +short localhost.loki

Final steps - Enable Exit Node functionality

We're almost there!

To enable Exit Node functionality, we need to go back and edit a few entries in lokinet.ini again.

sudo nano /etc/loki/lokinet.ini

If some settings are commented out, enable them by removing the #symbol at the beggining of the line`. Carefully check and modify to these settings

[router]
min-connections=8
max-connections=16

[network]
exit=true
keyfile=/var/lib/lokinet/exit.private
reachable=1
ifaddr=172.16.0.1/16
hops=1
paths=8

To save, press CTRL+xand confirm with Y and press Enter

Finally, we need to create some iptable rules

Let's edit the file /etc/rc.local and add some stuff

sudo nano /etc/rc.local

Add This

#!/bin/sh
iptables -t nat -A POSTROUTING -s 172.16.0.1/16 -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward