Подключение локального кошелька к вашему демону через Tor

Тема в разделе "Мануалы", создана пользователем Mr. Pickles, 23 янв 2020.

  1. Mr. Pickles

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

    Регистрация:
    11 сен 2017
    Сообщения:
    721
    Симпатии:
    222
    Ниже нами приводится пример конфигурации, позволяющей запустить демон Monero (например, на домашнем сервере или VPS), к которому вы могли бы подсоединиться с другого компьютера, на котором будет запущен ваш кошелёк. Для получения информации транзакций, необходимой для вашего кошелька, мы используем анонимную сеть Tor. Преимущество данного подхода заключается том, что демон (monerod) может постоянно осуществлять передачу/приём блоков, в то время как кошелёк будет подсоединяться по необходимости и иметь доступ к полному блокчейну. Monerujo также должен работать через Orbot. Поскольку скрытые службы Tor обеспечивают возможность шифрования и аутентификации, вы можете быть уверены в том, что ваши данные RPC не будут передаваться в открытую. Tor также решает проблемы, зачастую характерные для домашних серверов и связанные с пробросом портов, изменением IP-адресов и т. д. Всё это просто работает.

    Данная настройка также позволит скрыть тот факт, что вы подсоединяетесь к удалённому узлу Monero. Она была протестирована с версией Monero v0.15.0.1. В ходе тестирования кошелёк, установленный на лэптоп Mac, соединялся с удалённым узлом Linux (Ubuntu 18.04.2).

    Создание скрытой службы Tor для RPC

    Убедитесь в том, что Tor установлен и работает надлежащим образом. После этого можно двигаться дальше.

    Необходимо только конфигурировать сервер RPC так, чтобы он использовал скрытую службу на порте 18081.

    Файл: /etc/torrc
    Код:
    HiddenServiceDir /var/lib/tor/monero-service/
    HiddenServicePort 18081 127.0.0.1:18081
    Перезапустите Tor:
    Код:
    sudo systemctl restart tor@default
    Убедитесь в том, что Tor запустился правильно:
    Код:
    sudo systemctl status tor@default.service
    Если всё хорошо, отметьте название скрытой службы (луковый адрес):
    Код:
    sudo cat /var/lib/tor/monero-service/hostname
    Он будет выглядеть примерно так: 4dcj312uxag2r6ye.onion. Используйте его для HIDDEN_SERVICE ниже.

    Конфигурирование демона под использование RPC

    В этом примере мы не используем Tor для взаимодействия с p2p сетью, а просто соединяемся с узлом Monero, поэтому нам необходима только скрытая служба RPC.

    Файл: ~/.bitmonero/bitmonero.conf (в домашней директории пользователя Monero)
    Код:
    no-igd=1
    restricted-rpc=1
    rpc-login=USERNAME:РASSWORD
    (Чтобы использовать RPC придумайте ИМЯ ПОЛЬЗОВАТЕЛЯ (USERNAME) и ПАРОЛЬ (PASSWORD)).

    Перезапустите демон: monerod stop_daemon; sleep 10; monerod --detach

    Убедитесь в том, что демон запустился правильно:
    Код:
    tail -f ~/.bitmonero/bitmonero.log
    Подсоединение к вашему узлу с локального кошелька

    Убедитесь в том, что Tor работает локально, после чего можно подсоединиться к сети Tor. Одним из простых способов, в случае с Mac, является простой запуск браузера Tor и использование демона Tor.

    Затем следует протестировать простую команду RPC, например:
    Код:
    curl --socks5-hostname 127.0.0.1:9150 -u USERNAME:PASSWORD --digest -X POST http://HIDDEN_SERVICE.onion:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_info"}' -H 'Content-Type: application/json'
    Замените USERNAME, PASSWORD и HIDDEN_SERVICE значениями, указанными выше. Измените порт 9150, если того потребует ваш локальный демон Tor.

    Когда выполняется команда, и если всё работает надлежащим образом, вы должны получить некоторую информацию об удалённом демоне. Если это не так, следует добавить -v в начале и попытаться выяснить, почему соединение отсутствует, проверить средства сетевой защиты (firewall), правильность пароля и т. д.

    Как только всё заработает, можно подсоединяться, используя свой CLI-кошелёк:
    Код:
    ./monero-wallet-cli --proxy 127.0.0.1:9150 --daemon-host HIDDEN_SERVICE.onion --trusted-daemon --daemon-login USERNAME:PASSWORD --wallet-file ~/PATH/TO/YOUR/WALLET
    По необходимости можно заменить значения, указанные выше.

    GUI

    Если вам хочется поэкспериментировать с соединением GUI через Tor, вы можете попытаться воспользоваться torsocks (следует отметить, что это может привести к утечке информации — не стоит особо полагаться на этот вариант, если от вашей анонимности будет зависеть ваша жизнь). Мы приводим пример для MacOS, который при необходимости можно адаптировать по Linux GUI:
    Код:
    torsocks --port 9150 /Applications/monero-wallet-gui.app/Contents/MacOS/monero-wallet-gui
    Это позволит GUI связаться с сетью Tor. Как только будет открыт GUI и кошелёк будет запущен, будет необходимо конфигурировать его для соединения с вашей скрытой службой Tor, добавив соответствующий луковый адрес: "Settings > Node > Remote node > Address".

    Мы надеемся, что в следующих версиях GUI будет добавлена прямая поддержка Tor / I2P, и необходимость в использовании командной строки и torsocks отпадёт.

    Дополнительные ссылки
    Источник: Connecting your local wallet to your own daemon over Tor

    Перевод:
    Mr. Pickles (@v1docq47)
    Редактирование:
    Agent LvM (@LvMi4)
    Коррекция:
    Kukima (@Kukima)
     
    #1 Mr. Pickles, 23 янв 2020
    Последнее редактирование: 23 янв 2020
  • О нас

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