Follow

netstack ветка в Yggdrasil

github.com/yggdrasil-network/y

Разработчик Yggdrasil Нил Александр создал экспериментальную netstack ветку в репозитории.

Основной ее смысл - отказ от использования туннельного интерфейса в системе. Вместо этого, весь сетевой стек реализован внутри самой программы.
Для доступа к внутрисетевым ресурсам используется Socks5 прокси, есть так же возможность расшаривать отдельные TCP порты со своего хоста в Yggdrasil.

Преимущества такого подхода:

  • Программа работает полностью в userspace, меньше переключений контекста и выше производительность
  • Не требуется повышенных привелегий
  • В сеть выставляются только указанные порты, а не весь хост, что лучше для безопасности

В netstack поддерживается специальная доменная система в формате <ПУБЛИЧНЫЙ_КЛЮЧ>.pk.ygg.
Например, можно зайти на сайт HowToYgg через прокси по этому URL http://000000002ae375e65f5470ee29eb563a0ada764c7a3f1efaa5f5a4af91dad1cb.pk.ygg/

Собирается эта экспериментальная ветка так:

git fetch origin netstack && git checkout netstack
go build -o yggstack cmd/yggstack/main.go

Для настроек socks-прокси и расшаривания TCP портов используются ключи командной строки:

./yggstack -useconffile=/etc/yggdrasil.conf -socks :1080 -exposetcp 80:127.0.0.1:8080

@popura а разве использование стандартного ipv6 и как следствие нормальная работа без всяких сокспроксей, это была не фича...?

@mo @popura для standalone звонилки или чата может быть полезен такой режим.

@mo костыль для однопальцевых, где нельзя либо избыточно просто взять и открыть /dev/tun

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.