Перевод Документация по Kovri

Тема в разделе "Статьи", создана пользователем MoneroRus, 26 фев 2018.

Метки:
  1. MoneroRus

    Команда форума Модератор Редактор

    Регистрация:
    30 ноя 2017
    Сообщения:
    182
    Симпатии:
    37
    Далее предствален частичный перевод https://github.com/monero-project/kovri-docs

    Общая информация о Kovri

    faq.md

    Часто задаваемые вопросы (и ответы)

    Содержание
    • Общие вопросы
      • Что такое Kovri?
      • Кто разрабатывает Kovri?
      • Как Kovri поможет Monero?
      • Почему я должен использовать Kovri вместо I2P?
      • Что Kovri делает / не делает для вас?
      • Какой текущий статус Kovri?
      • Когда alpha релиз?
      • На чем сейчас сосредоточена команда разработки?
      • Насколько удобно и безопасно использовать Kovri на данный момент?
      • Как связаться с разработчиками Kovri?

    • Kovri vs i2pd
      • Почему я должен использовать Kovri вместо i2pd?
      • Ключевое отличие Kovri от i2pd?
      • Почему за основу взят i2pd?
      • Каковы были поворотные моменты, которые привели к форку i2pd (и почему у i2pd два репозитория: один на Bitbucket и один GitHub)?

    • Использование Kovri
      • Я нашел уязвимость! Я нашел ошибку! Что мне делать?
      • Почему мой журнал показывает дату/время, отличную от моего часового пояса?
    Что такое Kovri?

    Kovri - свободная, децентрализованная, технология анонимности разработанная Monero.

    В настоящее время основана на открытой спецификации I2P, Kovri использует и чесночное шифрование и чесночную маршрутизацию для создания конфиденциальной, защищенной оверлейной сети поверх интернета. Эта оверлейная сеть предоставляет пользователям возможность эффективно скрывать свое географическое местоположение и IP-адрес в сети интернет.

    Фактически, Kovri "обертывает" интернет трафик приложения для обеспечения анонимности в сети.

    Легкий, ориентированный на безопасность маршрутизатор Kovri полностью совместим с I2P сетью. Alpha версия Kovri находится в работе.

    Следите за разработкой в репозитории Kovri и присоединяйтесь к сообществу.

    Кто разрабатывает Kovri?


    Kovri проект с открытым исходным кодом, это означает, что он зависит от вклада сообщества. Основной разработчик проекта anonimal, которому можно задать вопросы на Kovri IRC каналах #kovri, #kovri-dev, или в его Twitter'e.

    Kovri разрабатывается под эгидой The Monero Project, являющимся другим проектом с открытым исходным кодом, который разарбатывает монету Monero и Open Alias. Отношения между The Monero Project и Kovri взаимовыгодные, Kovri планируется для интеграции в сеть Monero, а Monero обеспечивает поток разработчиков и ресурсов для разработки Kovri.

    Как Kovri поможет Monero?


    Monero безопасная, конфиденциальная, неотслеживаемая и взаимозаменяемая криптовалюта, которая конфиденциальна по умолчанию, и использует такие технологии как скрытые адреса, RingCT, и кольцевые подписи для сокрытия получателя, суммы и отправителя соответственно. Некоторые потенциальные недостатки в Monero это утечка IP адреса, которая открывает возможности для transaction и correlation атак.

    Встречайте Kovri. Kovri будет внедрен в официальный кошелек Monero, поэтому все транзакции будут маршрутизироваться через анонимную сеть Kovri, скрывая IP адрес, с которого совершена транзакция. В будущем все транзакции будут маршрутизироваться через Kovri по умолчанию, хотя загрузка блокчейна будет по прежнему происходить через открытую сеть для повышения эффективности.

    Почему я должен использовать Kovri вместо I2P?

    I2P отличный проект, но есть несколько вещей, которые по нашему мнению нуждаются в доводке для интеграции технологии в Monero. Во-первых, I2P разработан на Java, и мы думали, что разработка маршрутизатора на C ++ поможет коду быть быстрым и легким.

    Во-вторых, поскольку реалзация Java I2P отличная, она поставляется с множеством дополнительных функций, которые, как мы считаем, не нужны для Monero. Итак, мы решили начать с нуля и создать маршрутизатор, который является ТОЛЬКО маршрутизатором. Этот минималистичный подход отлично подходит для Monero, и это также хорошая новость для тех кто хочет сделать свои I2P приложения. У них есть вохможность использовать легкий маршрутизатор без лишних наворотов, в то время как другие пользователи, которые используют эти дополнительные функции могут использовать реализацию на Java. Это беспроигрышный вариант для всех.
    .
    Что Kovri делает на данный момент?
    • Позволяет вам стать узлом сети I2P
    • Скрывает ваше физическое местоположение от сайтов, которые вы посещаете
    • Анонимизирует вас в IRC и позволяет использовать анонимный Email
    • Позволяет размещать анонимные сайты или услуги
    • Предоставляет финансирование разработчикам, хакерам, исследователям через FFS и HackerOne
    • Нацелен на высокое качество кода и стандарты разработки
    Что Kovri ожидает в будущем?
    • Выполенние транзакций Monero поверх I2P
    • GUI для упрощения конфигурирования и повышения удобства использования
    • API библиотеки и привязки(bindings) для внешних приложений\библиотек
    • Расширение Firefox для простого доступа к сайтам в сети I2P (eepsites)
    • Разработка сайта (getkovri.org / kovri.i2p)
    • Обширная документация от ELI5 для разработчика
    Что Kovri не станет делать?
    • Жертвовать вашей безопасностью ради дальнейшего использования
    • Предоставлять запутанный, полный боли и страданий пользовательский веб-интерфейс
    • Требовать полномочий для сетевого консенсуса
    • Доступ к веб-сайтам через "выходной прокси"(outproxy)
    • Требовать смертельно-медленную Java VM
    • Выгуливать вашу собаку или любимого питомца, оплачивать ваши налоги
    На какой стадии находится Kovri?

    Kovri находится в активной разработке и сейчас на стадии pre-alpha. Kovri еще не интегрирован с Monero, но в дополнение к нескольким основным функциям мы разрабатываем API клиента и ядра для использования с Monero и другими приложениями.

    То что мы в стадии pre-alpha, не означает, что вы не можете использовать Kovri. В настоящее время вы можете использовать Kovri для подключения к (и участия в) сети I2P, просмотра eepsites, подключения к IRC и запуска клиентских и серверных туннелей.

    Когда alpha релиз?


    Alpha-релиз находится в разработке и будет выпущен (мы надеемся!!) до конца 2017 года. После выхода alpha версии мы сразу же начнем работу над beta релизом, который потребует: полной реализации API, решения основных проблем обеспечения качества и различных исправлений ошибок.

    На чем сейчас сосредоточена команда разработки?

    В данный момент мы сфокусированы на всем, что находится в нашем трекере проблем(issues tracker). Эти проблемы(issues) охватывают большую часть того, что нам необходимо закончить к официальному alpha выпуску.

    Насколько удобно и безопасно использовать Kovri на данный момент?

    Kovri можно использовать теми способами, которые описаны в ./kovri --help. В настоящее время Kovri не имеет взаимодействия с Monero. Что касается конфиденциальности, с момента создания, мы устранили многие проблемы с безопасностью, но имейте ввиду мы все еще находимся на стадии pre-alpha.

    Требуется доработать еще много кода, поэтому не ожидайте такой гарантии анонимности, как, например, у Tor или java I2P. Эти проекты имеют более чем 10-летний опыт исследований и внедрения, а мы только начали.

    Не стесняйтесь примерять роль разработчика и экспериментировать с Kovri, но только если отсутствие анонимности не подвергает вас опасности, так как всегда существует вероятность возможной деанонимизации из-за того, что Kovri находится в состоянии pre-alpha (Это касается любых проектов).

    Какие контакты у разработчиков Kovri?

    Прочитайте README.

    Kovri vs i2pd

    Почему я должен использовать Kovri вместо i2pd?

    • Безопасность: основное внимание уделяется безопасности нашего программного обеспечения; Мы не спешим с релизом в ущерб качеству
    • Качество: вы учавствуете в создании качественного кода, который выдержит испытание временем. Это включает в себя все аспекты обслуживания кода
    • Monero: вы будете поддерживать криптовалюту, которая гордится сохранением конфиденциальности и анонимности, увеличивая как вашу конфиденциальность, так и анонимность.
    Ключевое отличие Kovri от i2pd?

    • Мы фокусируемся на создании «безопасного по умолчанию», легкого в обслуживании, более-вероятно-что-будет-рецензирован маршрутизатора I2P. Это будет связано с удалением мало используемых функций, присутствующих в других маршрутизаторах, но основные возможности и API будут идентичными. Создавая компактный, эффективный, «голый» маршрутизатор, мы предоставим разработчикам и исследователям много времени для аудита безопасности, вопросов дизайна и спецификации I2P
    • Мы сфокусированы на создании интуитивного, дружелюбного к разработчикам интерфейса для подключения любого приложения и использования сети I2P; включая Monero
    • Мы реализуем альтернативные способы повторного наполнения(reseeding), чтобы пользователи могли использовать Pluggable Transports вместо HTTPS для повторного наполнения (reseed)
    • Мы реализуем расширенный функционал (hidden mode + disabled inbound) для обеспечения анонимности тем, кто живет в странах с тяжелыми условиями или ограничены на уровне провайдеров NAT'ом или DS-Lite
    • Мы всегда будем обеспечивать благоприятные условия для совместной работы
    • Мы всегда будем слушать ваши отзывы и делать все возможное, чтобы улучшить Kovri!
    Почему за основу взят i2pd?

    Мы сделали форк по нескольким причинам:
    • Нам нужна надежная, безопасная и жизнеспособная реализация сети I2P на C ++; и i2pd не удовлетворял этим требованиям.
    • Мы хотели позитивное сообщество сотрудничающее с нами для улучшения программного обеспечения; а не негативное и самовлюбленное.
    • Нам нужен ведущий разработчик, который мог бы возглавить проект; а не тот который будет игнорировать запросы, требующие публичной ответственности или сбежит поджав хвост столкнувшись с проблемой соавторства
    Каковы были поворотные моменты, которые привели к форку i2pd (и почему у i2pd два репозитория: один на Bitbucket и один GitHub)?

    Так началась драма с i2pd.

    В начале/середине 2015 года один из разработчиков с привилегиями push на GitHub отправил коммит(ы), который не понравился первому автору i2pd. Однако, вместо того, чтобы продолжить совместную работу и решить проблему, упомянутый автор перенес i2pd на Bitbucket, удалил всю существующую историю с Git и сделал себя единственным «разработчиком» программного обеспечения. Затем он поклялся никогда не возвращаться в Irc2P.

    Эти действия оскорбили многих в сообществе I2P, включая разработчиков, и почти убили проект на C ++.

    Осенью 2015 года вместе с приходом anonimal, который не хотел смотреть на то, как пропадает многолетний совместный труд, возродил проект за счет собственного вклада в разработку и развитие. Затем было дано открытое приглашение всем оставшимся активным разработчикам для обсуждения будущего i2pd. Первый автор i2pd никогда не показывался, но факт встречи , видимо, создал шум вокруг i2pd и вынудил его к ответным мерам и снова начать работать на GitHub - но на этот раз в ветке openssl (которая оказалась репозиторием Bitbucket), вместо управляемой сообществом ветви master.

    Увидев, что такое неустойчивое поведение только вредит сети I2P и проекту в целом, остальные разработчики провели несколько важных встреч и заложили основу для Kovri.

    Использование Kovri

    Я нашел уязвимость! Я нашел ошибку! Что мне делать?

    Почему мой журнал показывает дату/время, отличающеюся от моего часового пояса?

    Журналы записываются в UTC для защиты вашей конфиденциальности. Используя UTC, вы находитесь в выгодном положении загружая журналы чтобы показать их с разработчикам или сообществу, без потери анонимности.

    Установка Kovri

    building.md

    Шаг 0. (Необязательный) Пропустить сборку и использовать готовые выпуски

    Смотри в README как скачать предварительно собранный kovri и checksum файла. Просто установи, запусти kovri и прочь из этого руководства по установке!

    Шаг 1. Если собирать, то минимальные требования
    Linux / MacOSX / FreeBSD 11 / OpenBSD 6

    • Git 1.9.1
    • GCC 4.9.2
    • CMake 2.8.12
    • Boost 1.58 (смотри платформозависимые предупреждения)
    • OpenSSL (всегда последняя стабильная версия)
    Windows
    Выборочно:
    MacOSX
    Примечание: минимум 1 GiB RAM рекомендуется для сборки окружающей среды (смотри #403 для получения более подробной информации)

    Шаг 2. Установить зависимости

    Примечание: в случае использования контейнеров (таких как Docker и Snapcraft), смотри Руководство пользователя

    Ubuntu Xenial (16.04)


    Требуемые зависимости:
    Код:
    $ sudo apt-get install git cmake libboost-all-dev libssl-dev  # gcc/g++ и libssl установлены по умолчанию
    
    Опциональные зависимости:
    Код:
    $ sudo apt-get install clang
    $ sudo apt-get install doxygen graphviz
    $ sudo apt-get install libminiupnpc-dev #For users behind a restrictive NAT
    
    Ubuntu Trusty (14.04)

    Можете собрать Boost из исходников или использовать PPA Ниже инструкции для PPA:

    Требуемые зависимости:
    Код:
    $ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    $ sudo add-apt-repository ppa:kojoley/boost
    $ sudo apt-get update
    $ sudo apt-get install libboost-{chrono,log,program-options,date-time,thread,system,filesystem,regex,test}1.58-dev
    $ sudo apt-get install git g++-4.9 cmake libboost-all-dev libssl-dev libssl1.0.0
    
    Опциональные зависимости:
    Код:
    $ sudo apt-get install clang-3.5
    $ sudo apt-get install doxygen graphviz
    $ sudo apt-get install libminiupnpc-dev #для пользователей за ограничительным NAT
    
    Debian-9 (stretch/stable)

    Требуемые зависимости:
    Код:
    $ sudo apt-get install git g++ cmake libboost-all-dev libssl-dev libssl1.0.0
    
    Опциональные зависимости:
    Код:
    $ sudo apt-get install clang
    $ sudo apt-get install doxygen graphviz
    $ sudo apt-get install libminiupnpc-dev #для пользователей за ограничительным NAT
    
    Arch Linux

    Требуемые зависимости:
    Код:
    $ sudo pacman -Syu cmake boost  # gcc/g++ и openssl установлены по умолчанию
    
    Опциональные зависимости:
    Код:
    $ sudo pacman -S clang
    $ sudo pacman -S doxygen graphviz
    $ sudo pacman -S miniupnpc #для пользователей за ограничительным NAT
    
    Mac OSX

    Требуемые зависимости:
    Код:
    $ brew install cmake boost openssl # clang установлен по умолчанию
    
    Опциональные зависимости:
    Код:
    $ brew install doxygen graphviz
    $ brew install miniupnpc #для пользователей за ограничительным NAT
    
    FreeBSD 11

    Требуемые зависимости:
    Код:
    $ sudo pkg install git cmake gmake clang36 boost-libs openssl
    
    Опциональные зависимости:
    Код:
    $ sudo pkg install doxygen graphviz
    $ sudo pkg install miniupnpc #для пользователей за ограничительным NAT
    
    Примечание: см. инструкции по сборке для FreeBSD ниже

    OpenBSD 6


    Требуемые зависимости:
    Код:
    $ sudo pkg_add bash git cmake gmake g++ llvm
    
    Опциональные зависимости:
    Код:
    $ sudo pkg_add miniupnpc #для пользователей за ограничительным NAT
    $ sudo pkg_add doxygen graphviz
    
    Сборка последнего boost
    Код:
    # Получить boost
    $ wget [latest boost] -O latest_boost.tar.bz2
    $ tar xvjf latest_boost.tar.bz2 && cd latest_boost/
    
    # Скачать и применить патчи
    # https://svn.boost.org/trac/boost/attachment/ticket/12575/boost-1.62-asio-libressl.patch
    # https://gist.githubusercontent.com/laanwj/bf359281dc319b8ff2e1/raw/92250de8404b97bb99d72ab898f4a8cb35ae1ea3/patch-boost_test_impl_execution_monitor_ipp.patch
    
    # Собрать boost
    $ echo 'using gcc : : eg++ : "-fvisibility=hidden -fPIC" "" "ar" "strip"  "ranlib" "" : ;' > user-config.jam
    $ config_opts="runtime-link=shared threadapi=pthread threading=multi link=static variant=release --layout=tagged --build-type=complete --user-config=user-config.jam -sNO_BZIP2=1"
    $ ./bootstrap.sh --without-icu --with-libraries=chrono,log,program_options,date_time,thread,system,filesystem,regex,test
    $ sudo ./b2 -d2 -d1 ${config_opts} --prefix=${BOOST_PREFIX} stage
    $ sudo ./b2 -d0 ${config_opts} --prefix=${BOOST_PREFIX} install
    
    Примечание: см. инструкции по сборке для OpenBSD ниже

    Windows (MSYS2/MinGW-64)

    • загрузите MSYS2 инсталлятор, 64-bit или 32-bit в зависимости от вашей операционной системы, и запустите его.
    • Используйте ярлык, соответствующий вашей архитектуре, для запуска среды MSYS2. В 64-битных системах ярлык MinGW-w64 Win64 Shell. Примечание: если вы используете 64-битную Windows, у вас будут 64-разрядное и 32-разрядное окружение.
    • Обновите пакеты в вашем установленном MSYS2:
    Код:
    pacman -Sy
    pacman -Su --ignoregroup base
    pacman -Su
    
    • Для тех, кто уже знаком с pacman, вы можете запустить обычный pacman -Syu для обновления, но могут возникнуть ошибки и потребуется перезапуск MSYS2 если зависимости pacman'a обновятся.
    • Установите зависимости:
      Код:
      pacman -S make mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc mingw-w64-x86_64-boost mingw-w64-x86_64-openssl 
    • Опционально: mingw-w64-x86_64-doxygen (вам понадобится Graphviz для doxygen)
    • Примечание: Вам понадобится mingw-w64-x86_64-miniupnpc, если вы находитесь за NAT.
    Шаг 3. Сборка

    1. Скопируйте репозиторий
    Код:
    $ git clone --recursive https://github.com/monero-project/kovri
    
    2. Соберите Kovri и модули зависимостей одной командой
    Код:
    $ make  # to decrease build-time, run `make -j <available CPU cores>`. Example: `make -j4`
    
    3. Установите
    Код:
    $ make install
    
    • Пользователи ДОЛЖНЫ ЗАПУСКАТЬ make install для каждой новой установки
    • Разработчикам СЛЕДУЕТ ЗАПУСКАТЬ make install после каждой свежей сборки
    Другие параметры, которые вы можете использовать на этапе 2:

    Точный и полный список параметров, ищи в целях(targets) Makefile.
    Примечание
    • Все результаты\выводы (outputs) сборки (включая Doxygen) будут находиться папке сборки
    Clang

    Чтобы осуществить сборку с помощью clang, вам необходимо выполнить следующее:
    Код:
    $ export CC=clang CXX=clang++  # замените ```clang``` на версию\путь к clang, который вам нужен
    
    FreeBSD
    Код:
    $ export CC=clang36 CXX=clang++36  # Или более свежая версия clang
    $ gmake && gmake install
    
    • Замените make на gmake для всех других параметров сборки
    OpenBSD
    Код:
    $ export CC=clang CXX=clang++  # clang рекомендуется, иначе egcc/eg++
    $ gmake && gmake install
    
    • Замените make на gmake для всех других параметров сборки
    (Не обязательно) Изменение пути

    Вы можете изменить путь для Kovri как вам угодно. Просто добавьте переменную KOVRI_DATA_PATH; например:
    Код:
    $ export KOVRI_DATA_PATH=$HOME/.another-kovri-data-path && make && make install
    
    Шаг 4. Перейдите к руководству пользователя

    Прочитайте Руководство пользователя для начала работы

    Docker

    Кроме того, если вы используете Docker, следующая команда соберет вам образ.
    Код:
    $ docker build -t geti2p/kovri .
    
    Fuzz тестирование

    Из справки : "LibFuzzer активно разрабатывается поэтому вам требуется текущая (или достаточно свежая) версия Clang компилятора"

    Получить свежую версию clang:
    Код:
    $ cd ~/ && mkdir TMP_CLANG && git clone https://chromium.googlesource.com/chromium/src/tools/clang TMP_CLANG/clang
    $ ./TMP_CLANG/clang/scripts/update.py
    $ cd --
    
    Получить libFuzzer:
    Код:
    $ git clone https://chromium.googlesource.com/chromium/llvm-project/llvm/lib/Fuzzer contrib/Fuzzer
    
    Собрать kovri с поддержкой fuzz тестирования:
    Код:
    $ PATH="~/third_party/llvm-build/Release+Asserts/bin:$PATH" CC=clang CXX=clang++ make fuzz-tests
    
    Использование (Пример для RouterInfo):
    Код:
    mkdir RI_CORPUS MIN_RI_CORPUS
    find ~/.kovri/core/network_database/ -name "router_info*" -exec cp {} RI_CORPUS \;
    ./build/kovri-util fuzz --target=routerinfo -merge=1 MIN_RI_CORPUS RI_CORPUS
    ./build/kovri-util fuzz --target=routerinfo -jobs=2 -workers=2 MIN_RI_CORPUS
    
    Руководство пользователя

    user_guide.md

    Итак, вы установили Коври. Что теперь?

    Шаг 1. Откройте свой NAT/Firewall

    1. Выберите порт между 9111 и 30777
    2. Сохраните этот порт в файле конфигурации (kovri.conf)
    3. Добавьте исключение в вашем NAT/Firewall, чтобы разрешить входящие TCP/UDP соединения с этим портом (см. примечания ниже, если у вас нет доступа)
    Заметки:
    • Если вы не сохраните порт, Kovri будет произвольно генерировать новый при каждом запуске (у вас также есть вариант задавать порт параметром --port при каждом запуске).
    • Не сообщайте никому свой номер порта, поскольку это влияет на вашу анонимность!
    Шаг 2. (Рекомендовано) Рабочая безопасность
    • Подумайте о создании отдельного пользователя kovri и запускайте kovri используя только этого пользователя
    • Если используете Linux, подумайте об использовании защищенного ядра (такого как grsec с RBAC)
    • После установки необходимых ресурсов в папку kovri, рассмотрите возможность установки соответствующего контроля доступа с setfacl, umask, или что использует ваша ОС для ACL
    • Никогда не сообщайте свой номер порта никому, так как это повлияет на вашу анонимность!
    Примечание: см. kovri.conf, чтобы найти папку для Linux/OSX/Windows

    Шаг 3. Настройка Kovri, Установка тунелей

    Для получения полного списка опций выполните:
    Код:
    $ ./kovri --help
    
    Полный список параметров с описанием:
    • kovri.conf файл конфигурации для маршрутизатора и клиента
    • tunnels.conf файл конфигурации для туннелей клиент/сервер
    Шаг 4. (Выборочно) Установка тунелей

    Кратко, клиентские тунели(client tunnels), тунели которые вы используете для подключения к другим сервисам, а серверные тунели(server tunnels) используются, когда сервис(ы) располагается у вас (и другие люди подключаются к вашему сервису).

    По умолчанию, у вас будут установлены клиентские тунели для IRC (Irc2P) и email (i2pmail). Чтобы добавить\удалить клиентские тунели, смотри tunnels.conf.

    При создании серверного тунеля(ей), вам необходимо создать (постоянные закрытые ключи(persistent private keys). Для этого раскомментируйте или создайте keys = your-keys.dat и замените your-keys на соответствующее имя.
    Не передавайте никому ваш личный .dat файл, и не забудьте сделать резервную копию!

    После настройки, ваш Base32 адрес будет показан в вашем журнале, после запуска kovri. Также можно найти адрес в текстовом файле рядом с файлом закрытых ключей, в папке с kovri в client/keys папке. Адрес внутри этого .txt текстового файла можно спокойно распространять, чтобы люди могли подключиться к вашему сервису.

    Например:
    • Файл закрытых ключей: client/keys/your-keys.dat
    • Публичный Base32/Base64 адрес: client/keys/your-keys.dat.txt
    Примечание: см. kovri.conf, чтобы найти папку для Linux/OSX/Windows

    Шаг 5. (Выборочно) Зарегистрируйте свой новый eepsite


    Стоп! Пока не решено #498, подумайте над регистрацией вашего сервиса только с Kovri, а не с stats.i2p!
    • Откройте запрос с [Subscription Request] your-host.i2p (замените your-host.i2p на нужное имя хоста) в Kovri issue tracker
    • В тело запроса вставьте содержимое вашего открытого файла .txt, упомянутого на предыдущем шаге
    • После проверки мы добавим ваш хост и подпишем подписку
    • Готово!
    Шаг 6. Запуск Kovri
    Код:
    $ cd build/ && ./kovri
    
    • Подождите около 5 минут, чтобы присоединиться к сети, прежде чем пробовать использовать сервисы
    Шаг 7. Присоединяйтесь к нам на IRC
    1. Запустите свой IRC-клиент
    2. Настройте ваш клиент для подключения к IRC-порту Kovri (по умолчанию 6669). Это соединит вас с сетью Irc2P (ICP IRC-сеть)
    3. Присоединитесь к #kovri и #kovri-dev
    Шаг 8. Просмотрите веб-сайт I2P (garlic-сайт/eep-сайт)
    1. Запустите браузер, на ваш выбор (предпочтительно браузер, рекомендованный Kovri)
    2. Настройте свой браузер, прочитав эти инструкции, но вместо портов 4444 и 4445 измените порт прокси-сервера HTTP на 4446 и SSL-прокси-порт также на 4446
    3. Посетите сайт http://check.kovri.i2p
    Заметки:
    • Как и в случае с Tor, не требуется SSL для защищенного и безопасного использования сети
    • Поддержка SSL и служба outproxy в настоящее время не реализованы
    • Если кто-то дает вам адрес .i2p, которого нет в вашей адресной книге, используйте службу Jump по адресу http://stats.i2p/i2p/lookup.html
    • Просмотрите файл hosts.txt в своем каталоге данных, чтобы просмотреть список сайтов по умолчанию, которые вы легко можете посетить.
    • В целом, реализация HTTP-прокси и адресной книги находится в разработке и еще не полностью закончена
    Шаг 9. Наслаждайтесь!
    • Почитать больше о Kovri в Moneropedia.
    • Открыть запрос на доработку или сообщить об ошибке в наш issues tracker
    • Узнать больше о сети I2P сайте java I2P
    Варианты с использованием контейнеров

    Snapcraft

    В системах Linux используйте snapcraft для легкого развертывания.
    Шаг 1. Получить исходники Kovri
    Код:
    $ git clone --recursive https://github.com/monero-project/kovri
    
    Шаг 2. Установить snapcraft
    • Используйте пакетный менеджер вашего дистрибутива для установки snapcraft и snapd
    В Ubuntu, просто выполните:
    Код:
    $ sudo apt-get install snapcraft
    
    Шаг 3. Создать snap
    Код:
    $ cd kovri/ && snapcraft && sudo snap install *.snap --dangerous
    
    Примечание: флаг --dangerous необходим только потому, что snap не был подписан (вы сами его создали, так что это не проблема)
    Шаг 4. Запустить Kovri в snapcraft
    Код:
    $ snap run kovri
    
    Docker

    Шаг 1. Установка Docker

    Установка Docker выходит за рамки этого документа, см. Документацию docker

    Шаг 2. Настройка/Открытие брандмауэра

    Образ docker поставляется со значениями Kovri по умолчанию, но может быть настроен так, как описано в предыдущих разделах.

    Вы должны выбрать случайный порт и открыть этот порт (см. Предыдущие разделы).

    Шаг 3. Запуск

    Настройки по умолчанию
    Код:
    KOVRI_PORT=42085 && sudo docker run -p 127.0.0.1:4446:4446 -p 127.0.0.1:6669:6669 -p $KOVRI_PORT --env KOVRI_PORT=$KOVRI_PORT geti2p/kovri
    
    Пользовательские настройки
    Код:
    KOVRI_PORT=42085 && sudo docker run -p 127.0.0.1:4446:4446 -p 127.0.0.1:6669:6669 -p $KOVRI_PORT --env KOVRI_PORT=$KOVRI_PORT -v kovri-settings:/home/kovri/.kovri/config:ro geti2p/kovri
    
    Где в ./kovri-settings/ содержится kovri.conf и tunnels.conf.

    Благодарности

    acknowledgements.md

    В дополнение ко всем контрибьюторам Boost и OpenSSL, а также к программистам всех времен, благодоря которым этот проект стал возможен, мы хотели бы отметить следующих:
    • Wei Dai, Jeffrey Walton, и всех разработчиков Crypto++ за предоставление очень важной и бесплатной криптографической библиотеки на C++
    • Dean Michael Berris, Glyn Matthews, и всех разработчиков cpp-netlib за предоставление активно развивающейся кроссплатформенной сетевой библиотеки
    • Всех разработчиков учавствующих в ref10 реализации из SUPERCOP, на основе которой мы создали нашу реализацию Ed25519
    • zzz, str4d, и всех Java I2P разработчиков, прошлых и текущих, которые установили стандарт для всех остальных реализаций I2P
    • orion за предоставление i2pcpp: исходной C++ реализации I2P
    • orignal за предоставление i2pd: наиболее функционально полную C++ реализацию I2P взятую нами
    • EinMByte за совершенствование всех C++ I2P реализаций (включая Kovri)

    Перевод всей документации будет в kovri-docs, а пока доступен тут
    Если будет интерес к остальной части документации, таким как гарантия качества, стиль и т.д., дайте знать, вложу перевод здесь.

    Источник:
    kovri-docs

    Перевод:
    MoneroRus (@MoneroRus)
    Редактирование:
    Mr. Pickles (@v1docq47)
    Коррекция:
    Kukima (@Kukima)
     
    #1 MoneroRus, 26 фев 2018
    Последнее редактирование модератором: 27 фев 2018
  • О нас

    Наш сайт является одним из уникальных мест, где русскоязычное сообщество Monero может свободно общаться на темы, связанные с этой криптовалютой. Мы стараемся публиковать полезные мануалы и статьи (как собственные, так и переводы с английского) о криптовалюте Monero. Если вы хорошо владеете английским (или можете писать собственные статьи/мануалы) и хотите помочь в переводах и общем развитии Monero для русскоязычной аудитории - свяжитесь с одним из администраторов.