Интернет в наше время излишне централизован и держится на костылях. Не всех это устраивает. Для технологии 1970-х годов он еще неплохо справляется, но зачем нам в 2022 году такие вещи, как централизованные интернет-провайдеры, BGP, IPv4, TLS? Можно ведь сделать лучше!
Yggdrasil Network - децентрализованная самоорганизующаяся сетевая инфраструктура. Каждый узел этой сети равно участвует в маршрутизации и расширяет ее охват. Все соединения защищены сквозным шифрованием, значение IPv6 адреса узла вычисляется из его криптоключей. Практически любые пользовательские приложения могут использовать Yggdrasil в качестве среды передачи данных вместо legacy интернета. Как же сделать эту новую технологию более доступной для всех?
HyperModem позволяет быстро создавать Yggdrasil узлы из обычных бытовых устройств. Система основана на открытом исходном коде проекта OpenWrt (Open Wireless Router). По сути, это легковесная Linux сборка с Yggdrasil из коробки, которую, при необходимости, легко допиливать под любые свои нужды.
На какие устройства можно поставить систему HyperModem?
Домашние роутеры, одноплатные компьютеры (Raspberry Pi), старые ноутбуки и так далее.
Критерии поддержки:
-
Устройство поддерживается OpenWrt
-
Для роутеров - минимум 16МБ флеш памяти и 64МБ RAM
-
Желательно, open source драйвера для WiFi чипа (ath9k, mt76)
Как установить?
Скачать готовый образ на странице релизов или собрать собственный из исходников.
Гайды по установке системы на конкретное устройство находятся на сайте OpenWrt. Например, инструкции для роутера Asus RT-AC51U, Raspbery Pi, x86 компьютеров.
Как использовать беспроводные peer to peer соединения?
Для P2P соединений по WiFi HyperModem использует стандарт 802.11s. Поддержка этого стандарта зависит от драйвера WiFi устройства, см. столбец mesh здесь. Хорошо подходят устройства с драйверами ath9k и mt76.
Для некоторых устройств беспроводной P2P уже настроен в сборке, на других необходимо добавить сеть типа 802.11s веб интерфейсе.
Параметры сети: mesh_id "meshnet", 11 канал, без шифрования, "Forward mesh peer traffic" выключено.
Как добавить интернет-пиры?
Так бывает, что в пределах покрытия вашего беспроводного устройства может не оказаться других участников сети. В таком случае, возможно подключиться в Yggdrasil через интернет, используя публичные пиры.
На странице https://publicpeers.neilalexander.dev/ выберите один географически близкий к вам пир и добавьте его в веб интерфейсе
Что дальше?
HyperModem корректно работает и связан с другими узлами через беспроводной и/или интернет пиринг.
Теперь, для доступа в Yggdrasil Network на других устройствах (компьютер, домашний сервер, телефон) достаточно установить там программу Yggdrasil и любым способом подключиться к HyperModem. Подключение происходит автоматически при нахождении с HyperModem в общей локальной сети (на уровне L2).
Дисклеймер: Сейчас в сети Yggdrasil около трех тысяч узлов и она работает достаточно стабильно. Но стоит учитывать, что Yggdrasil Network и HyperModem это экспериментальные open source проекты в ранней стадии разработки.
Члены сообщества поддерживают различные сервисы внутри сети, с их списком можно ознакомиться здесь https://yggdrasil-network.github.io/services.html
Русскоязычное сообщество собирает подробную базу знаний про Yggdrasil на HowToYgg wiki. На хабре тоже есть хорошие статьи про эту сеть.
Телеграм канал проекта HyperModem: @PopuraChan
Чаты про Yggdrasil и меш-сети: @Yggdrasil_ru @meshnet
Автор: George