Yggdrasil на смартфонах

iOS

Yggdrasil для iOS поддерживается разработчиками Yggdrasil, в частности, neilalexander. На данный момент бета-версия Yggdrasil для iOS доступна для тестирования на платформе TestFlight.

Необходимо установить платформу TestFlight для тестирования бета-версий приложений под iOS: в AppStore вводиим соответствующий поисковый запрос «TestFlight», у нужного приложения нажимаем кнопку «Загрузить» (прямая ссылка на приложение TestFlight: https://apps.apple.com/ru/app/testflight/id899247664).

Далее, в браузере (напр., Safari) переходим по ссылке: https://testflight.apple.com/join/jZNsIkRr, ссылка автоматически перехватится приложением TestFlight и откроет страничку приложения Yggdrasil c кнопкой «Установить».

При первом запуске Yggdrasil на iOS будет предложено установить новый профиль VPN - необходимо согласиться. Этот профиль будет активирован при нажатии переключателя «Enable» в приложении Yggdrasil.

Как и в PC-версии приложения, необходимо указать пиры, к которым вы будете подключены, либо задействовать Multicast Peer Discovery для поиска узлов Yggdrasil в вашей локальной сети. Настройка соответствующих параметров предусмотрена в GUI: Configuration → Peers.

Можно вручную отредактировать конфигурационный файл Yggdrasil для iOS - для этого необходимо его экспортировать, отредактировать любым способом, а затем импортировать. Экспорт и импорт делается с помощью GUI (Configuration → Settings → Export (или Import)).

ios1.jpg ios2.jpg ios4.jpg ios3.jpg ios5.jpg

Android

Клиент поддерживается пользователем vikulin. Исходный текст приложения на языке Kotlin доступен в GitHub-репозитории проекта. Установочный .apk файл находится там же в списке релизов и доступен для скачивания. Работа Android-приложения основана на VpnService.

На данный момент поддерживаются следующие функции:

  • Подключение к сети Yggdrasil при активации кнопки Ygg me!
  • Установка статического адреса (Static IP)
  • Вывод информации о текущих пирах
  • Редактирование подключаемых пиров (кнопка Edit)
  • Просмотр настроек DNS
  • Редактирование текущих DNS
  • Загрузка списка пиров с онлайн базы данных: https://publicpeers.neilalexander.dev/publicnodes.json
  • Тест доступности и времени отклика от пиров
  • Тест доступности и времени отклика от DNS

android2.jpg android3.jpg android4.jpg android6.jpg

Android (root+termux)

Также можно установить Yggdrasil на рутированный Android с помощью эмулятора терминала. При первой установке и настройке использовался Termux, так что тут и будет описана процедура установки и запуска через него.

Преимущество такого способа установки в отсутствии занимаемого vpn подключения, что позволяет накидывать vpn поверх Yggdrasil, а также в полном функционале, в точности, в настройке своего YGGv6 адреса, открытии портов для работы публичным или приватным пиром, создании личного nodeinfo и т.п.

Итак, для установки потребуются права root пользователя на вашем смартфоне. Как их получить, можно почитать на соответствующих ресурсах 4PDA и XDA. Также стоит установить терминал, рекомендуется Termux.

Что же нам нужно сделать?

  1. Установка root доступа в Termux: pkg install tsu
  2. Сборка бинарников под linux arm64 на компьютере:
    •     git clone https://github.com/yggdrasil-network/yggdrasil-go.git /tmp/yggdrasil
          cd /tmp/yggdrasil
          GOOS=linux GOARCH=arm64 ./build
          mkdir ~/ygg_build
          cp ./yggdrasil ~/ygg_build/
          cp ./yggdrasilctl ~/ygg_build/
          cd ~/ygg_build
          ./yggdrasil -genconf > ./yggdrasil.conf
          rm -rf /tmp/yggdrasil
  3. Настройка конфига (yggdrasil.conf) под требуемые параметры
    1. Добавление пиров в секцию Peers
    2. Исправление значения секции IfName на YOUR_TUNTAP (например, на ygg0)
    3. Исправление значений EncryptionPublicKey и EncryptionPrivateKey на желаемые
    4. Правим значение AdminListen на /data/data/com.termux/files/usr/var/yggdrasil.sock
  4. Перенос всех файлов из ~/ygg_build на телефон
    • Необходимо сказать, что лучше класть бинарные файлы (yggdrasil и yggdrasilctl) в папку /data/data/com.termux/files/usr/bin, а конфигурационный (yggdrasil.conf) в /data/data/com.termux/files/usr/bin

Создание скрипта запуска и маршрутизации Yggdrasil

  • Если хотите, чтобы Yggdrasil запускался вместе с системой, переходите ниже к «службе с автозапуском»
  • Если нужны логи работы Yggdrasil, то перед запуском скрипта выполните команду
     mkdir /data/data/com.termux/files/usr/var/log/yggdrasil 
  • Не забудьте заменить в файле YOUR_IP и YOUR_TUNTAP
    ygg
            termux-wake-lock
            mkdir -p /dev/net
            sudo ln -s /dev/tun /dev/net/tun
            sudo yggdrasil -useconffile /data/data/com.termux/files/usr/etc/yggdrasil.conf > /data/data/com.termux/files/usr/var/log/yggdrasil/yggdrasil.log & 
            disown %1
            sleep 5
            sudo ip -6 ru add to 200::/7 lookup 200 prio 1000
            sudo ip -6 ru add from YOUR_IP lookup 200 prio 999
            sudo ip r add 200::/7 dev YOUR_TUNTAP metric 128 table 200
     
  • Лучше скрипт размещать в папке /data/data/com.termux/files/home/, чтоб запускать сразу при открытии терминала.

Служба с автозапуском

Если у вас установлен Termux Boot (а если нет, то лучше поставьте), будет удобно сделать службу, благодаря чему yggdrasil будет запускаться автоматически при загрузке телефона. Копируем любую службу, например, sshd, в качестве шаблона для нашей новой службы

cd /data/data/com.termux/files/usr/var/service
cp -r sshd yggdrasil

Правим файл run:

vim yggdrasil/run

всё стираем и вносим, заменив значения на свои:

mkdir -p /dev/net
sudo ln -s /dev/tun /dev/net/tun
sudo yggdrasil -useconffile /data/data/com.termux/files/usr/etc/yggdrasil.conf

Включаем и запускаем службу:

sv-enable yggdrasil
sv start yggdrasil

Создаём файл в автозапуске:

vim ~/.termux/boot/ygg-route.sh

вносим:

#!/data/data/com.termux/files/usr/bin/sh
sudo ip -6 ru add to 200::/7 lookup 200 prio 1000
sudo ip -6 ru add from YOUR_IP lookup 200 prio 999
sudo ip r add 200::/7 dev YOUR_TUNTAP metric 128 table 200

Даём права на исполнение:

chmod +x ~/.termux/boot/ygg-route.sh
  • Теперь Yggdrasil работает в фоне, потребляя порядка 10 МБ памяти.
  • Не забудьте настроить правила файрвола!

Поздравляю, вы герой! Удачи в освоении сети Yggdrasil, и её сервисов!

Ссылки

Только авторизованные участники могут оставлять комментарии.
yggdrasil/mobile_clients.txt · Последнее изменение: 2023/10/10 18:06 — 127.0.0.1
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki