How to Wiki Database (change log)
http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
4.1 KiB
43 lines
4.1 KiB
====== Yggdrasil как socks-прокси ====== |
|
|
|
^ :!: **Важно!** ^ |
|
| **Описываемая ниже ветка [[https://github.com/yggdrasil-network/yggdrasil-go/tree/netstack|netstack]] не совместима с [[yggdrasil:yggdrasil|Yggdrasil]] v. 0.5** и разработчики не планируют дальнейшую её поддержку. \\ \\ Скрин переписки в [[https://matrix.to/#/#yggdrasil:matrix.org|чате Yggdrasil]] от 21.05.2023: \\ [[this>/_media/yggdrasil:img_1282.jpeg|{{yggdrasil:img_1282.jpeg?140}}]] \\ \\ **Альтернатива:** отдельный проект [[https://github.com/yggdrasil-network/yggstack|yggstack]] (работает аналогично).| |
|
|
|
Разработчикам [[yggdrasil:Yggdrasil]] в [[https://matrix.to/#/#yggdrasil:matrix.org|чате]] периодически задают вопрос о возможности запуска Yggdrasil без создания tun-интерфейса. В качестве аргумента за такой подход приводят значительное упрощение встраивания Yggdrasil в другие проекты, например, в браузер или даже в web-приложение... |
|
|
|
И вот, в качестве эксперимента, один из разработчиков Yggdrasil ([[https://github.com/neilalexander|neilalexander]]) создал ветку проекта, в которой не используется tun-интерфейс и реализован стек сетевых протоколов, который позволяет использовать Yggdrasil в качестве socks5-прокси. |
|
|
|
Отличительные особенности такого подхода: |
|
* для запуска Yggdrasil не требуются права суперпользователя, повышается безопасность |
|
* для доступа к web-ресурсам сети необходимо настроить браузер на использование socks5-прокси |
|
* для других узлов сети становятся доступны только конкретные, указанные при запуске, TCP-порты, а не весь хост |
|
|
|
Кроме описанного выше, в ветке netstack реализована встроенная система DNS. C помощью этой системы можно получить доступ к ресурсам по доменному имени вида ''%%<публичный ключ>.pk.ygg%%''. |
|
|
|
Для примера, адрес [[this>|этой wiki]] будет выглядеть так: http://000000002ae375e65f5470ee29eb563a0ada764c7a3f1efaa5f5a4af91dad1cb.pk.ygg/ (доступно через socks-прокси ветки netstack). |
|
|
|
===== Установка ===== |
|
|
|
Готовых бинарников нет, приложение собирается из исходников. |
|
|
|
//**Примечание:** для сборки необходим go-lang. Читайте об его установке: [[go:go_installation]].// |
|
|
|
Непосредственно сборка: |
|
<code>git fetch origin netstack && git checkout netstack |
|
go build -o yggstack cmd/yggstack/main.go</code> |
|
|
|
===== Использование ===== |
|
|
|
Параметры socks-прокси и расшаривания/проброса TCP-портов задаются в командной строке. |
|
|
|
Пример: |
|
<code>./yggstack -useconffile=/etc/yggdrasil.conf -socks :1080 -exposetcp 80:127.0.0.1:8080</code> |
|
|
|
Socks-прокси будет ожидать соединение на порту 1080 (указывается в браузере); из вне становится доступным порт 80, который пробрасывается на порт 8080 localhost (предполагается, на localhost:8080 будет работать web-сервер). |
|
|
|
====== Ссылки ====== |
|
|
|
Ветка netstack (EN): https://github.com/yggdrasil-network/yggdrasil-go/tree/netstack \\ |
|
Канал telegram Popura (RU): https://t.me/PopuraChan/137 \\ |
|
|
|
~~DISCUSSION~~
|
|
|