Lokinet - реализация LLARP (протокол анонимной маршрутизации с малой задержкой), протокола трёхуровневой луковой маршрутизации.
Почитать о дизайне высокого уровня LLARP здесь
Почитать спецификацию протокола LLARP здесь
Почитать документацию о том, как начать работу здесь
О том как начать работу см. Документацию
Также прочтите Public Testing Guide для установки и другой полезной информации.
настроить как клиент:
$ lokinet -g
$ lokinet-bootstrap
настроить как транслятор:
$ lokinet -r -g
$ lokinet-bootstrap
** НЕ ЗАПУСКАЙТЕ С ПРАВАМИ СУПЕРПОЛЬЗОВАТЕЛЯ **, запускайте как обычный пользователь. Это требуется для того, чтобы в исполняемом файле были установлены правильные ограничения, установленные командой make install.
для запуска, после создания конфигурации:
$ lokinet
** ВЫ ДОЛЖНЫ ЗАПУСКАТЬ С ПРАВАМИ СУПЕРПОЛЬЗОВАТЕЛЯ **, запускайте с помощью sudo
. Для создания интерфейса виртуального туннеля необходимы повышенные привилегии.
Установщик macOS помещает исполняемые файлы (lokinet
и lokinet-bootstrap
) в /usr/local/bin
, благодаря этому вы можете легко использовать исполняемые файлы в своем терминале. Установщик также уничтожает вашу предыдущую конфигурацию и ключи, устанавливает новую конфигурацию и загружает актуальную версию bootstrap.
для запуска, после создания конфигурации:
$ sudo lokinet
** НЕ ЗАПУСКАЙТЕ ОТ ПРИВИЛИГЕРОВАННОГО ПОЛЬЗОВАТЕЛЯ **, запускайте его от имени обычного пользователя.
Требования:
- Git
- CMake
- C++ 17 capable C++ compiler
- libuv >= 1.27.0
- libsodium >= 1.0.18
- libunbound
- libzmq
- cppzmq
- sqlite3
сборка:
$ 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 -j$(nproc)
установка:
$ sudo make install
сборка: убедитесь, что у вас установлены инструменты командной строки cmake, libuv и xcode
$ 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)
установка:
$ sudo make install
сборки Windows кросс-скомпилированы из ubuntu linux
дополнительные требования:
- nsis
- cpack
настроить:
$ sudo apt install build-essential cmake git pkg-config mingw-w64 nsis
сборка:
$ git clone --recursive https://github.com/oxen-io/lokinet
$ cd lokinet
$ mkdir build-windows
$ cd build-windows
$ cmake -DBUILD_STATIC_DEPS=ON -DNATIVE_BUILD=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_PACKAGE=ON -DCMAKE_TOOLCHAIN_FILE='../contrib/cross/mingw64.cmake' -DWITH_TESTS=OFF -DCMAKE_CROSSCOMPILING=ON ..
$ cpack -D CPACK_MONOLITHIC_INSTALL=1 -G NSIS ..
ПРИМЕЧАНИЕ. Пользователи Oracle Solaris должны загрузить/скомпилировать драйвер TAP с http://www.whiteboard.ne.jp/~admin2/tuntap/
Сгенерированные исполняемые файлы могут работать в Solaris 2.10 или более ранней версии, но могут быть не стабильны. (Рекомендуется: -static-libstdc ++ -static-libgcc
и драйвер TAP, если он еще не установлен в целевой системе.)
Сборка на системе v2.10 или более ранней версии не поддерживается и может даже не работать; в последних выпусках GCC постепенно прекращается поддержка старых выпусков системы.
сборка:
$ sudo pkg install build-essential gcc8 wget tuntap cmake (optional: ninja ccache - from omnios extra) (OmniOS CE)
$ sudo pkg install base-developer-utilities developer-gnu developer-studio-utilities gcc-7 wget cmake (Oracle Solaris, see note)
$ sudo pkg install build-essential wget gcc-8 documentation/tuntap header-tun tun (optional: ninja ccache) (all other SunOS)
$ git clone --recursive https://github.com/oxen-io/lokinet
$ cd lokinet
$ mkdir build
$ cd build
$ cmake ..
$ make -j$(nproc)
установка:
$ sudo make install
сборка:
$ pkg install cmake git curl libuv libsodium pkgconf libunbound
$ git clone --recursive https://github.com/oxen-io/lokinet
$ cd lokinet
$ mkdir build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make
установка (root):
# make install