Main Page

From lokinet wiki
Revision as of 17:50, 24 May 2023 by Jeff (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The Lokinet Wiki is a free online repository of information and resources about Lokinet, an ip packet onion router.

Lokinet is maintained by the OPTF and many community members world wide.

On this wiki, you can find .loki address directories, Lokinet documentation, and Lokinet communication channels.

For editing privs please ask on irc: irc://irc.probably.loki/lokinet

Exit Nodes

see list of exits

Guides

xmpp server

Lokinet Exit Node Setup Guide

Running lokinet inside an LXC

Supported Platforms

Currently Lokinet is in development to support Windows, macOS, Android and various Linux distributions. Additionally Lokinet has been ported for use as an access point and in embedded devices for which there is support for OpenWrt. Lokinet provides support to both x86_64, 32/64 bit ARM and has been successfully compiled in both glibc and musl which has resulted in the ability to offer a wide range of support. Release beta builds are offered for Windows, macOS, Android, Debian, Ubuntu, Fedora 34, OpenSUSE, CentOS and Raspberry Pi OS.

Current Lokinet Platform Support
Distro Support Release Version GUI Resolver Notes: Download Link
Debian Official Buster, Bullseye v0.9.11 yes resolvconf https://deb.oxen.io/ or http://deb.loki
Ubuntu Official Bionic, Focal, Groovy, Hirsute v0.9.11 yes systemd-resolvd https://deb.oxen.io/ or http://deb.loki
Windows Official 10, 11 v0.9.11 yes ? https://lokinet.org/windows
macOS Official Big Sur v0.9.11 yes ?
Android Official Red Velvet Cake, Snow Cone v0.9.8 yes beta https://oxen.rocks/oxen-io/lokinet/lokinet-android-v0.9.8.apk
Rapsberry Pi OS Unofficial Buster, Bullseye v0.9.11 yes NetworkManager/resolvconf requires installation of resolvconf "full" https://github.com/Botspot/pi-apps
Fedora Unofficial 33, 34, 35 v0.9.11 no systemd-resolvd http://rpm.oxen.io/ or http://rpm.loki/
CentOS Unofficial 8 v0.9.11 no NetworkManager requires disabling NetworkManager dns management http://rpm.oxen.io/ or http://rpm.loki/
openSUSE Unofficial Tumbleweed v0.9.11 no NetworkManager requires disabling NetworkManager dns management http://rpm.oxen.io/ or http://rpm.loki/
OpenWrt Unofficial 19.07 v0.9.11 yes dnsmasq Requires custom OpenWrt build for opkg unreleased
LabyrinthAP Unofficial 2.4 v0.9.11 yes dnsmasq supports Raspberry Pi OS and Armbian OS https://github.com/necro-nemesis/LabyrinthAP
Docker Official Docker linux/amd64 Rolling no resolvconf experimental https://github.com/oxen-io/oxen-docker/tree/main/lokinet
Docker Unofficial Docker linux/amd64 Rolling no resolvconf beta https://codeberg.org/massivebox/dockerlokinet or http://8bb19w1gugu7yq3cyck63gbo18udodab1b6zr1uykdphm37ushco.loki/massivebox/dockerlokinet

Lokinet User Interface

Lokinet runs a daemon which is controlled by system services. It is intended to be enabled thus starting and running in the background. Lokinet is efficient and when idle uses very little system resources to remain in this state thus ready to be used when called upon. To start or stop Lokinet daemon; which typically there is no requirement, commands are sent to halt or restart it's daemon service. lokinet and lokinet-vpn also have command line options that can be used to control it's behavior. The most common use of these commands is to control lokinets connection to exits via the lokinet-vpn application. A list of these various applications and their associated Lokinet commands are provided below. In addition to command line interface lokinet and lokinet-vpn are often associated with various graphical user interface controls (GUI) which differ dependent on the platform. The most common of these interfaces is Lokinet-Control-Panel of which operation is demonstrated here.

Command Line

Lokinet command line usage
Lokinet Lokinet-vpn Lokinet daemon
Usage:
lokinet [OPTION...] positional parameters

-v, --verbose Verbose
-h, --help help
--version version
-g, --generate generate client config
-r, --router run as router instead of client
-f, --force overwrite
-c, --colour colour output (default: true)
-b, --background background mode (start, but do not connect to the
network)
Usage:
lokinet-vpn [OPTION...]

-v, --verbose Verbose
-h, --help help
--kill kill the daemon
--up put vpn up
--down put vpn down
--exit arg specify exit node address
--rpc arg rpc url for lokinet
--endpoint arg endpoint to use
--token arg exit auth token to use
--auth arg exit auth token to use
--status print status and exit
--range arg ip range to map
Usage:
sudo systemctl [OPTION] lokinet

enable
disable
start
stop
status

Typical Lokinet command line usage examples:

Start Lokinet daemon

   sudo systemctl start lokinet

Disable Lokinet from starting automatically

   sudo systemctl disable lokinet

Connect to an exit node

   lokinet-vpn --up --exit <exitaddress.loki>

Connect to an exit node that requires authorization token

   lokinet-vpn --up --exit <exitaddress.loki> --token <token>

Disconnect from an exit

   lokinet-vpn --down

Links

Use these links to begin exploring Lokinet.

Warning: The creation of a username associated to the time you are connecting and your browser fingerprint can build a behavior usage profile that may in future help to identify your lokinet usage.

When typing .loki addresses in the url bar of some browsers, it may send <whatever>.loki to your default search engine if you do not start with http:// or end with a trailing slash. If you use Firefox (or a fork e.g. librewolf), visit "about:config" in the url bar, and create a new entry called "browser.fixup.domainsuffixwhitelist.loki" with boolean value "true". This treats .loki as a normal domain suffix and avoids having to type http:// or a trailing slash.

Lokinet developments and tools

OXEN crypto currency

Social media, movies, games, web ...

remote nodes

  • node.loki [s5bh63t79qwez17m74sbour7yysiwsjb4gmq6d4f6b5xgudzybby.loki] port 22023 (run by randyr)
  • iem11wkptro6azr31438ye5okh6rjurdunyj6a6pju434473tg1y.loki port 80 (run by jeff)

IRC

FugNET irc network:

  • irc.probably.loki (plaintext 6667)

channels: #general, #lokinet

BonoboNET IRC network:

Read the rules of the network: http://deavmi.assigned.network/projects/bonobonet/rules/

  • i1g1zk3kraz9hherbrys9oaenux7kjro9c8dwjjtkong4m6eydfy.loki (plaintext: 6667, tls: 6697) (run by deavmi)
  • sh61zhc8xhsmuken9qxnxs7spgdtmxx3x4qyq8orwcoge3k7q3ko.loki (plaintext: 6667, tls: 6697) (run by deavmi)
  • kfswfco7mfb38dj7hsm4b8gs13ppjnog886y8zcgzno4jt16cepy.loki (plaintext: 6667, tls: 6697) (run by deavmi/rany)
  • priv.loki (plaintext: 6667, tls: 6697) (run by v)

Channels of interest: #crxn, #general, #programming and #networking

XMPP

  • maybe.loki (self signed cert)
  • chiefsnapp.loki (run by Chief36 , on a VPS. Contact: admin for support; muc:- MUC)

Mumble (Voice chat)

Any mumble client should work

  • probably.loki:64738
  • f59q8xa7m3bmkfi11oijuh4w77ar49hgx8pdexoqonehcywnifsy.loki:64738
  • 5yhxp5cg46tafur6mmuhqjqujecfbhswf5p8xi9u8917q6mdfciy.loki:64738 (run by deavmi)
  • meetup.loki:64738 (run by UrMom)

Note: People aren't always online here, might be empty

Routing services

Non-English

Magic Wormhole

  • Relay server: tcp:chiefsnapp.loki:4001
  • Rendezvous server: ws://chiefsnapp.loki:4000/v1

Magic Wormhole User Guide

Lokinet Installation and Setup Information

Debian / Ubuntu

Add the Oxen deb package repository on your system by running these three commands:

   sudo curl -so /etc/apt/trusted.gpg.d/oxen.gpg https://deb.oxen.io/pub.gpg
   echo "deb https://deb.oxen.io $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/oxen.list
   sudo apt update

To add Lokinet service to your system without the GUI (command line interface only):

   sudo apt install lokinet

or

To add Lokinet service, desktop entry and GUI:

   sudo apt install lokinet-gui

Resolver Setup

If your OS utilizes systemd-resolved you should not require any changes. If you wish to utilize resolvconf for dns resolution ensure the following:

Check if resolvconf is installed

   dpkg -s resolvconf

If not install resolvconf

   sudo apt install resolvconf

Edit the head file for resolvconf

   sudo nano /etc/resolvconf/resolv.conf.d/head

Append entries in the head file with

   nameserver 127.3.2.1

Save these changes.

   Ctrl x y

Update the changes made to /etc/resolvconf with

   sudo resolvconf -u

Restart Lokinet service

   sudo systemctl restart lokinet

Raspberry Pi OS

The automated installer from Pi-Apps is highly recommended for configuring Lokinet on Raspberry Pi OS.

Automated Installation (Desktop environment via Pi-Apps installer)

Open terminal

Copy and Paste in the following command:

    wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash

Allow the script to finish and close terminal

From Raspberry Pi OS Desktop

   Start Pi-Apps from desktop entry
   Select category "Internet"
   Select "Lokinet"
   Select Install

Lokinet Control Panel will be added to your Desktop Entries and the Lokinet service is started

   Close Pi-Apps application.

Manual Installation

Add the Oxen deb package repository on your system by running these two commands:

   sudo wget -qO /etc/apt/trusted.gpg.d/oxen.gpg https://deb.oxen.io/pub.gpg
   echo "deb https://deb.oxen.io $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/oxen.list

Install Lokinet GUI and resolvconf:

   sudo apt install lokinet-gui resolvconf

Update resolv.conf settings:

   sudo resolvconf -u

Ensure upstream dns is enabled in lokinet.ini by uncommenting the upstream entry:

   sudo sed '/upstream/s/^#//' -i /etc/loki/lokinet.ini

If there are issues with the above installation it could be from issues related to tun adapter verifiable by running and looking for the presence of the tun adapter:

   lsmod

if the tun adapter is absent recommend using automated Pi-Apps installer as this patches systemd to ensure it's available.

Fedora

Add the Oxen Fedora rpm package repository on your system by running:

   sudo dnf config-manager --add-repo https://rpm.oxen.io/fedora/oxen.repo

Install Lokinet with:

   sudo dnf install lokinet

Note: Fedora uses systemd-resolved which Lokinet utilizes. No additional dns setup required.

CentOS / Rocky Linux / RHEL

Add the Oxen CentOS rpm package repository on your system by running:

   sudo dnf config-manager --add-repo https://rpm.oxen.io/centos/oxen.repo

Install Lokinet with:

   sudo dnf install lokinet

Configure Lokinet dns: Under section [main] add the following to disable NetworkManager managing dns:

   sudo nano /etc/NetworkManager/NetworkManager.conf
   dns=none

Save

   Ctrl x y

or by adding this .conf file

   echo -e "[main]\ndns=none" > /etc/NetworkManager/conf.d/no-dns.conf

Restart NetworkManager

   sudo systemctl restart NetworkManager

Edit /etc/resolv.conf

   sudo nano /etc/resolv.conf

Add nameservers for Lokinet and clearnet dns:

   nameserver 127.3.2.1
   nameserver <your_preferred_dns_server>

Save

   Ctrl x y

Restart Lokinet

   sudo systemctl restart lokinet

openSUSE

Add the Oxen openSUSE rpm package repository on your system by running:

   sudo zypper addrepo -f https://rpm.oxen.io/opensuse/tumbleweed.repo

Install Lokinet with:

   sudo zypper install lokinet

Configure Lokinet dns: Under section [main] add the following to disable NetworkManager managing dns:

   sudo nano /etc/NetworkManager/NetworkManager.conf
   dns=none

Save

   Ctrl x y

or by adding this .conf file

   echo -e "[main]\ndns=none" > /etc/NetworkManager/conf.d/no-dns.conf

Restart NetworkManager

   sudo systemctl restart NetworkManager

Edit /etc/resolv.conf

   sudo nano /etc/resolv.conf

Add nameservers for Lokinet and clearnet dns:

   nameserver 127.3.2.1
   nameserver <your_preferred_dns_server>

Save

   Ctrl x y

Restart Lokinet

   sudo systemctl restart lokinet

LabyrinthAP

Visit github regarding detailed instructions for setting Lokinet as a dedicated access point here:

   https://github.com/necro-nemesis/LabyrinthAP


Gentoo Linux

There are 2 ways to get lokinet on your Gentoo machine.

  • Ebuild

-To /etc/portage/repos.conf/kamay.conf

   [oxen-overlay]
    location  = /etc/portage/custom_repos/kamay
    sync-type = git
    sync-uri  = https://github.com/XutaxKamay/gentoo-oxen
    auto-sync = yes

save it, then sync the repos (2 ways)

      A) emerge --sync     [sync all repos]
      B) emaint sync -r oxen-overlay  [Targets only oxen-overlay]

once everything is successfull, install lokinet with

      # emerge -atv net-vps/lokinet


Side-notes: while installing an error such as "cc1plus" may occur this can be fixed by ensuring the machine is configured to have atleast 1GB of ram per job by editing the make.conf

 Example: for a machine with 4GB of ram 
   MAKEOPTS="-j4" 


  • Manually

It is best to have net-dns/unbound installed

   # emerge -atv net-dns/unbound


Clone repo

   $ git clone --recurse-submodules -j2 https://github.com/oxen-io/lokinet
   
   $ cd lokinet
   $ mkdir build && cd build

This may take a while

   $ cmake ../

If the system doesn't use [SystemD], you can turn that option off

   $ cmake ../ -DWITH_SYSTEMD=OFF

This applies to anything else you'd like to turn off, you can see a list of options in your build dir using:

   $ cmake ../ -L 

to compile the program, a Makefile should've been succesfully made from running cmake

   $ make -j4
 

then to install:

   # make install
   # ldconfig

Lokinet is now on your system!

Arch Linux

Manually, this is similar to gentoo

Best to have unbound

 # pacman -Sy unbound


get repo

  $ git clone --recurse-submodules -j2 https://github.com/oxen-io/lokinet
  $ cd lokinet && mkdir build && cd build
  $ cmake ../

If you get an error pertaining to "libsodium"

  $ cmake ../ -DDOWNLOAD_SODIUM=ON

If completed succefully a Makefile should be cretaed in the build dir. Now its time to compile:

   $ make -j4

This may take some time based on your device

After a succesful run, a folder called daemon should be in the build folder. You can run lokinet from there without copying it to run system wide. If you'd like ot run it systemwide:

   # cp external/liboxenmq.so* /usr/lib
   # cd  daemon && make install

Voila! Lokinet is on your system.