mirror of
https://github.com/oxen-io/lokinet.git
synced 2024-11-17 15:25:35 +00:00
8989910881
* Add missing dep to cppzmq
197 lines
6.3 KiB
Markdown
197 lines
6.3 KiB
Markdown
# Lokinet
|
|
|
|
[Ingles](readme.md)
|
|
|
|
Lokinet es la implementación referente de LLARP (low latency anonymous routing protocol, protocolo de enrutado anónimo de baja latencia), un protocolo de enrutado onion de capa 3.
|
|
|
|
Puede aprender a grandes razgos sobre el diseño de LLARP [aquí](docs/high-level.txt) , documento en idioma ingles.
|
|
|
|
Y puede leer las especificaciones del protocolo [aquí](docs/proto_v0.txt) , documento técnico en idioma ingles.
|
|
|
|
Puede ver la documentación, en ingles, de como empezar [aqui](https://oxen-io.github.io/loki-docs/Lokinet/LokinetOverview/) .
|
|
|
|
[![Build Status](https://ci.oxen.rocks/api/badges/oxen-io/lokinet/status.svg?ref=refs/heads/dev)](https://ci.oxen.rocks/oxen-io/lokinet)
|
|
|
|
|
|
## Uso
|
|
|
|
Vea, en ingles, [documentación](https://oxen-io.github.io/loki-docs/Lokinet/LokinetOverview/) en como comenzar.
|
|
|
|
También lea, en ingles, [La guia de pruebas publicas](https://lokidocs.com/Lokinet/Guides/PublicTestingGuide/#1-lokinet-installation) para la instalación y mas información util.
|
|
|
|
## Corriendo en Linux
|
|
|
|
**NO CORRER COMO ROOT**, correr como usuario normal. Esto requiere que el binario tenga asignado por `make install` los setcaps apropiados el binario.
|
|
|
|
para ejecutar como cliente:
|
|
|
|
$ lokinet -g
|
|
$ lokinet-bootstrap
|
|
$ lokinet
|
|
|
|
para correr un relay:
|
|
|
|
$ lokinet -r -g
|
|
$ lokinet-bootstrap
|
|
$ lokinet
|
|
|
|
## Corriendo en macOS/UNIX/BSD
|
|
|
|
**USTED TIENE QUE CORRER COMO ROOT**, correr usando sudo. Los privilegios elevados son necesarios para crear una interfaz de tunel virtual.
|
|
|
|
El instalador de macOS coloca los binarios normales (`lokinet` y `lokinet-bootstrap`) en `/usr/local/bin` los que pudieran estar en ruta, asi que usted puede usar los binarios facilmente desde su terminal. El instalador tambien truena sus configuraciones y llaves previas, y descarga la semilla de arranque mas actual.
|
|
|
|
para correr como cliente:
|
|
|
|
$ lokinet -g
|
|
$ lokinet-bootstrap
|
|
$ sudo lokinet
|
|
|
|
para correr como relay:
|
|
|
|
$ lokinet -r -g
|
|
$ lokinet-bootstrap
|
|
$ sudo lokinet
|
|
|
|
|
|
## Corriendo en Windows:
|
|
|
|
**NO CORRER COMO USUARIO ELEVADO**, correr como un usuario normal.
|
|
|
|
para correr como usuario, correr el archivo en lote `run-lokinet.bat` como su usuario normal.
|
|
|
|
|
|
## Compilando
|
|
|
|
Requerimientos de compilación:
|
|
|
|
* GNU Make
|
|
* CMake
|
|
* Compilador C++ que pueda usar C++ 17
|
|
* gcovr (para generar la covertura de prueba en gcc)
|
|
* libuv >= 1.27.0
|
|
* libsodium >= 1.0.18
|
|
* libunbound
|
|
* libzmq
|
|
* cppzmq
|
|
* sqlite3
|
|
|
|
### Linux
|
|
|
|
compilando:
|
|
|
|
$ sudo apt install build-essential cmake git libcap-dev curl libuv1-dev libsodium-dev pkg-config
|
|
$ git clone --recursive https://github.com/oxen-io/lokinet
|
|
$ cd lokinet
|
|
$ mkdir build
|
|
$ cd build
|
|
$ cmake .. -DBUILD_STATIC_DEPS=ON -DBUILD_SHARED_LIBS=OFF -DSTATIC_LINK=ON
|
|
$ make
|
|
|
|
instalando:
|
|
|
|
$ sudo make install
|
|
|
|
|
|
como alternativa hacer un paquete debian con:
|
|
|
|
$ debuild -uc -us -b
|
|
|
|
esto coloca el paquete compilado en `../`
|
|
|
|
### macOS
|
|
|
|
compilando:
|
|
este seguro que usted tiene cmake, libuv y las herramientas de terminal de xcode ya instaladas
|
|
|
|
$ git clone --recursive https://github.com/oxen-io/lokinet
|
|
$ cd lokinet
|
|
$ mkdir build
|
|
$ cd build
|
|
$ cmake .. -DBUILD_STATIC_DEPS=ON -DBUILD_SHARED_LIBS=OFF -DSTATIC_LINK=ON
|
|
$ make -j$(sysctl -n hw.ncpu)
|
|
|
|
instalando:
|
|
|
|
$ sudo make install
|
|
|
|
### Windows
|
|
|
|
compilar (donde `$ARCH` es su plataforma - `i686` or `x86_64`):
|
|
|
|
$ pacman -Sy base-devel mingw-w64-$ARCH-toolchain git libtool autoconf mingw-w64-$ARCH-cmake
|
|
$ git clone https://github.com/oxen-io/lokinet.git
|
|
$ cd lokinet
|
|
$ mkdir -p build; cd build
|
|
$ cmake .. -DCMAKE_BUILD_TYPE=[Debug|Release] -DSTATIC_LINK_RUNTIME=ON -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -G 'Unix Makefiles'
|
|
|
|
instalando (con priviligios elevados) en `$PROGRAMFILES/lokinet` o `$ProgramFiles(x86)/lokinet`:
|
|
|
|
$ make install
|
|
|
|
si usa compilacion cruzada (cross-compiling), instale mingw-w64 desde su administrador de paquetes, o [compile desde el codigo fuente](https://sourceforge.net/p/mingw-w64/wiki2/Cross%20Win32%20and%20Win64%20compiler/), then:
|
|
|
|
$ mkdir -p build; cd build
|
|
$ export COMPILER=clang # si esta usando clang para windows
|
|
$ cmake .. -DCMAKE_BUILD_TYPE=[Debug|Release] -DSTATIC_LINK_RUNTIME=ON -DCMAKE_CROSSCOMPILING=ON -DCMAKE_TOOLCHAIN_FILE=../contrib/cross/mingw[32].cmake
|
|
|
|
esto crea un binario que puede ser instalado en cualquier parte, con ninguna otra dependencia aparte de libc (v6.1 minimo)
|
|
|
|
### Solaris 2.10+
|
|
|
|
NOTA: Los usuarios de Solaris de Oracle necesitan descargar/compilar el controlador TAP de http://www.whiteboard.ne.jp/~admin2/tuntap/
|
|
|
|
Los binarios generados _podrían_ funcionar en Solaris 2.10 o anteriores, va por su cuenta. (Recomendable: `-static-libstdc++ -static-libgcc`, y el controlador TAP si aun no esta instalado en el sistema de destino.)
|
|
|
|
Compilar en un sistema anterior a v2.10 en sistemas previos no esta soportado, e incluso puede que no funcione, lanzamientos recientes de GCC han estado desechando el soporte en lanzamientos mas viejos del sistema.
|
|
|
|
compilando:
|
|
|
|
$ sudo pkg install build-essential gcc8 wget tuntap cmake (opcional: ninja ccache - de los extra de omnios) (OmniOS CE)
|
|
$ sudo pkg install base-developer-utilities developer-gnu developer-studio-utilities gcc-7 wget cmake (Solaris de Oracle, ver notas)
|
|
$ sudo pkg install build-essential wget gcc-8 documentation/tuntap header-tun tun (opcional: ninja ccache) (todos los demas SunOS)
|
|
$ git clone https://github.com/oxen-io/lokinet
|
|
$ cd lokinet
|
|
$ gmake -j8
|
|
|
|
instalando:
|
|
|
|
$ sudo make install
|
|
|
|
|
|
### NetBSD (y otras plataformas donde pkgsrc es _el_ mgr nativo de paquetes)
|
|
|
|
PENDIENTE: agregar instrucciones para pkgsrc
|
|
|
|
### OpenBSD (usa el administrador pkg legado de NetBSD)
|
|
|
|
compilando:
|
|
|
|
# pkg_add curl cmake git (opcional: ninja ccache)
|
|
$ git clone --recursive https://github.com/oxen-io/lokinet
|
|
$ cd lokinet
|
|
$ mkdir build
|
|
$ cd build
|
|
$ cmake .. -DBUILD_STATIC_DEPS=ON -DBUILD_SHARED_LIBS=OFF -DSTATIC_LINK=ON
|
|
$ make
|
|
|
|
instalando (root):
|
|
|
|
# gmake install
|
|
|
|
### FreeBSD
|
|
|
|
compilando:
|
|
|
|
$ pkg install cmake git curl libuv-1.27.0 libsodium
|
|
$ git clone --recursive https://github.com/oxen-io/lokinet
|
|
$ cd lokinet
|
|
$ mkdir build
|
|
$ cd build
|
|
$ cmake .. -DBUILD_STATIC_DEPS=ON -DBUILD_SHARED_LIBS=OFF -DSTATIC_LINK=ON
|
|
$ make
|
|
|
|
instalando (root):
|
|
|
|
# gmake install
|