Lokinet is an anonymous, decentralized and IP based overlay network for the internet.
Go to file
Jeff Becker 5b87fb509e
start on kubernetes shim and fix up shared library target and ffi python code
2019-01-09 11:07:55 -05:00
.github add contributing template 2018-09-28 10:34:37 -04:00
android add initial jni stuff for lokinet android. i fucking hate android so god damn much. 2018-11-26 17:46:22 -05:00
client Enable -Wextra 2018-11-07 15:31:13 +00:00
contrib start on kubernetes shim and fix up shared library target and ffi python code 2019-01-09 11:07:55 -05:00
crypto the intrinsic variant is 32-bit clean 2018-11-19 04:29:36 -06:00
daemon Fix lifetime issues in llarp_findOrCreate* function calls 2019-01-03 23:10:32 +00:00
debian update man pages 2018-12-03 09:03:42 -05:00
docker Create dockerfile for ubuntu 2018-11-21 21:51:33 +00:00
docs add tl;dr 2018-12-26 10:12:06 -05:00
include start on kubernetes shim and fix up shared library target and ffi python code 2019-01-09 11:07:55 -05:00
jni Move remaining include/llarp headers to llarp/ 2018-12-12 02:53:02 +00:00
libabyss add graceful stop for path builders and friends 2018-12-24 11:10:56 -05:00
libutp Fix lifetime issues in llarp_findOrCreate* function calls 2019-01-03 23:10:32 +00:00
llarp start on kubernetes shim and fix up shared library target and ffi python code 2019-01-09 11:07:55 -05:00
test Fix RCTest dependency ordering 2019-01-05 00:49:06 +00:00
ui-win32 check in win32 ui code 2018-12-02 22:35:49 -06:00
vendor Merge remote-tracking branch 'origin/master' into staging 2018-12-26 11:27:11 -05:00
win32-setup only old windows clients are required to restart (after installing inet6 protocol driver) 2018-12-24 21:06:11 -06:00
.clang-format more netns code 2018-08-26 08:51:22 -04:00
.dir-locals.el add emacs dir-locals 2018-05-21 10:52:30 -04:00
.dockerignore Add initial dockerfile support 2018-11-02 18:06:01 -04:00
.gitignore Merge branch 'dev' into reeeee-divergence 2018-12-03 12:24:56 -06:00
.gitlab-ci.yml disable windows in ci 2018-11-09 08:26:50 -05:00
CMakeLists.txt start on kubernetes shim and fix up shared library target and ffi python code 2019-01-09 11:07:55 -05:00
CONTRIBUTING.md Rename CODE_OF_CONDUCT.md to CONTRIBUTING.md 2018-12-12 10:38:15 +10:00
Doxyfile basic doxygen configuration 2018-12-17 03:24:11 +10:00
LICENSE Add Loki project to Licence 2018-12-04 13:40:47 +11:00
Makefile start on kubernetes shim and fix up shared library target and ffi python code 2019-01-09 11:07:55 -05:00
doc place protocol spec into public domain with CC0 2018-10-08 08:15:08 -04:00
lokinet-bootstrap use temp file for lokinet-bootstrap 2019-01-07 10:56:31 -05:00
lokinet-bootstrap.exe grabbed packaging scripts and fluff from abandoned repo 2018-10-30 00:16:18 -05:00
module.modulemap Initial swift module.modulemap file for LLARP 2018-12-15 01:23:06 +10:00
motto.txt make netid configurable on runtime 2018-12-21 08:08:01 -05:00
readme.md document run-lokinet.bat in readme 2018-12-21 08:14:57 -05:00
run-lokinet.bat add run-lokinet.bat super duper simple wrapper thingydoo for windows 2018-12-21 08:11:59 -05:00

readme.md

LokiNet

LokiNet is the reference implementation of LLARP (low latency anonymous routing protocol), a layer 3 onion routing protocol.

You can learn more about the high level design of LLARP here

And you can read the LLARP protocol specification here

build status

Building

Build requirements:

  • GNU Make
  • CMake
  • C++ 17 capable C++ compiler
  • rapidjson (if enabling jsonrpc server)

Linux

build:

$ sudo apt install build-essential cmake git libcap-dev wget rapidjson-dev
$ git clone https://github.com/loki-project/loki-network
$ cd loki-network
$ make -j8

install:

$ sudo make install

FreeBSD

build:

$ pkg install wget cmake git
$ git clone https://github.com/loki-project/loki-network
$ cd loki-network
$ gmake -j8

install (root):

# gmake install 

Windows

build (where $ARCH is your platform - i686 or x86_64):

$ pacman -Sy base-devel mingw-w64-$ARCH-toolchain git libtool autoconf mingw-w64-$ARCH-cmake
$ git clone https://github.com/loki-project/loki-network.git
$ cd loki-network
$ mkdir -p build; cd build
$ cmake .. -DCMAKE_BUILD_TYPE=[Debug|Release] -DSTATIC_LINK=ON -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DDNS_PORT=53 -G 'Unix Makefiles'

install (elevated) to $PROGRAMFILES/lokinet or $ProgramFiles(x86)/lokinet:

$ make install

if cross-compiling, install mingw-w64 from your distro's package manager, or build from source, then:

$ mkdir -p build; cd build
$ export COMPILER=clang # if using clang for windows
$ cmake .. -DCMAKE_BUILD_TYPE=[Debug|Release] -DSTATIC_LINK=ON -DCMAKE_CROSSCOMPILING=ON -DDNS_PORT=53 -DCMAKE_TOOLCHAIN_FILE=../contrib/cross/mingw[32].cmake

this will create a static binary that can be installed anywhere, with no other dependency other than libc (minimum v6.1)

Running on Linux/UNIX/BSD

DO NOT RUN AS ROOT, run as normal user.

to run as client:

$ lokinet -g
$ lokinet-bootstrap
$ lokinet

to run as relay:

$ lokinet -r -g
$ lokinet-bootstrap
$ lokinet

Running on Windows

DO NOT RUN AS ELEVATED USER, run as normal user.

to run as client, run the run-lokinet.bat batch file as your normal user.

Usage

see the documentation on how to get started.