1
1
Fork 0
mirror of https://github.com/oxen-io/lokinet synced 2023-12-14 06:53:00 +01:00
Lokinet is an anonymous, decentralized and IP based overlay network for the internet.
Go to file
Jeff Becker 0fd36d3b79
make netid configurable on runtime
bump version to 0.4.0

subscribe to pewdiepie
2018-12-21 08:08:01 -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 lokinet-bootserv 2018-12-18 12:14:09 -05:00
crypto the intrinsic variant is 32-bit clean 2018-11-19 04:29:36 -06:00
daemon * make format 2018-12-13 11:14:44 -05: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 session renegotiation, RC expiration, more utp unit tests, network isolation. 2018-12-19 11:17:41 -05:00
include make llarp.h pure C compatable 2018-12-13 16:46:55 -05:00
jni Move remaining include/llarp headers to llarp/ 2018-12-12 02:53:02 +00:00
libabyss Move remaining include/llarp headers to llarp/ 2018-12-12 02:53:02 +00:00
libutp Merge branch 'dev' into reeeee-divergence 2018-12-03 12:24:56 -06:00
llarp make netid configurable on runtime 2018-12-21 08:08:01 -05:00
test make netid configurable on runtime 2018-12-21 08:08:01 -05:00
ui-win32 check in win32 ui code 2018-12-02 22:35:49 -06:00
vendor this? 2018-12-15 12:27:50 -05:00
win32-setup make sure the user folder exists before running bootstrap 2018-11-19 04:29:40 -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 merge 2018-12-20 12:56:31 -05:00
CONTRIBUTING.md Rename CODE_OF_CONDUCT.md to CONTRIBUTING.md 2018-12-12 10:38:15 +10:00
doc place protocol spec into public domain with CC0 2018-10-08 08:15:08 -04: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
lokinet-bootstrap add success message and colorized success/failure per Kee 2018-12-17 21:52:34 -08:00
lokinet-bootstrap.exe grabbed packaging scripts and fluff from abandoned repo 2018-10-30 00:16:18 -05:00
Makefile strict types for pubkey, secretkey and routerid 2018-12-10 12:22:59 -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 wooooo path builds work 2018-11-20 02:38:02 -06:00

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:

C:\>lokinet -g && lokinet-bootstrap && lokinet

to run as relay (highly experimental, currently unsupported!):

C:\>lokinet -r -g && lokinet-bootstrap && lokinet 

Usage

see the documentation on how to get started.