Проект Narnia (VPN)

Хотел бы поделиться ещё одной своей наработкой для тех, кому очень понравился Stormvpn - VPN, который работает как HTTPS , но кто не хочет использовать коммерческий софт и/или хочет дополнительной скрытности. Проект – Narnia.

Во-первых давайте расставим сразу все точки на ё. Почему – Narnia? Да потому-то идея софта странная и это прыжок в Нарнию. Всё, точка.

Софт полностью бесплатный, но условия дистрибуции – опять же только бинарный код внутри docker, уж извините.

По сути дела – это VPN поверх ICMP (ping), где в Payload укладывается трафик, шифрованный ChaCha20. Работает как точка-точка, то есть NAT уже не обойти, как в StormVPN.

Из фич пока единственная – умеет собирать фрагментированные пакеты, то есть, вы шлёте ICMP ping, например 1400 байт, а TAP интерфейс может иметь MTU до 9000, при этом пакеты будут фрагментироваться и на другой стороне туннеля будут собираться в один пакет.

Как использовать:

# docker run --cap-add=NET_ADMIN --device /dev/net/tun:/dev/net/tun --net=host -e INTERFACE=nvpn -e REMOTE_IP=8.8.8.8 -e PASSWORD=MyKey --name narnia -d stormotron/narnia:latest

Проект новый, возможно буду дальше развивать, пока раздумываю.

Более подробно можно почитать тут: GitHub - stormotron/narnia: Narnia is the encrypted tunnel (ChaCha20) via ICMP (ping) without fragmentation

закрытые исходники? хорошая попытка, товарищ майор.

Служу бледной моли! Ну камон, зачем товарищу майору распространять ПО для обхода блокировок? Что бы - что? Исходники не раскрываю - ибо считаю их своей собственностью, да и стесняюсь своего кода, он работает, но вот стесняюсь.

В соседней теме ответил

Ну и до свидания.

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

Я не программист по своей натуре, я больше DevOps + сетевик. Программировать меня заставила ситуация.

Про товарища майора и распространение ПО… Во-первых не представляю себе, что бы товарищ майор мог в программирование, им коробки для обгаживания интернета делат ВросТелеком и то на подряде, сам товарищ майор туп как пробка. Во-вторых, ваша паранойя вредит исключительно вам. Никто вас не заставляет пользоваться софтом, имеете что-то против модели распространения - напишите своё, потратьте своё время и выложите исходники в интернет. Подсчитайте своё затраченное время и потом почитайте коменты про свой софт.

Товарищу майору есть много кому заказать это самое программирование. А некоторые идейные даже бесплатно готовы помогать.

Мне моя паранойя один раз уже жизнь спасла, но тут уж давайте без подробностей.

Разрабатываю и контрибьючу в опенсорс уже с десяток лет, поэтому прекрасно знаю, о чем говорю.

И какова цель такой программы должна быть? Вот допустим товарищ майор заказал такую прогу, которая обходит запреты. И?

Ну а в ней бэкдор который будет так невзначай заходить на всякие сайты в домене .ua, а там можно и повышение получить.

Аха, NET_ADMIN ещё дать вашим непонятным бинарникам. Смешно.

Отсеките его работу на виртуалке в пределах p2p и никаких проблем… Не?

Да не давайте, как он будет без NET_ADMIN с TAP работать? :slight_smile:

Вообще, я вспоминаю слова одного мудрого человека… Если вы хороши в Assembler, то любой бинарь для вас - соурскод, всё остальное - нытье от незнания ассемблера/архитектуры.

Если вам нечего скрывать то выкладывайте на гитхаб, и все кому надо спокойно соберут из исходников и может ещё и патчи полезные предложат. А так никому не советую пользоваться этим софтом и сам не собираюсь пока автору есть что скрывать. Безопасность дороже. Может у вас там reuse after free и миллион всяких багов, и достаточно отправить специальный ICMP пакет чтобы выполнить произвольный код

Выглядит подобная позиция настораживающе. Вы уже два треда завели где предлагаете людям свой софт в виде бинарных сборок, за два дня, с пустого аккаунта. На вполне уместные замечания давних участников форума отвечаете ридикюлем и прочими усмешками.

Такой подход не вызывает никакого доверия к проприетарному (и обфусцированному) решению о котором до вашего поста никто не слышал. Как и пустой гитхаб, появившийся из воздуха в марте, на котором в случае с Narnia вы буквально вторым коммитом удаляете файл FOSS-лицензии Unlicense с commit message “Remove trash” [webarchive].

Можно открыть под ограничивающей лицензией, как winrar. Или отправлять исходный код при личном запросе под nda.
А стыд это такое дело, да, новичкам всегда стыдно за свой код.
Но если у вас коммерческие рельсы, действительно, есть риск кражи (идеи) или даже использования инфраструктуры.
Это opensource. И обругать в комментах могут. Впрочем, закрытые лицензии ругают больше.
Вот даже посмотрите сколько льётся на автора winrar (даже несмотря на неплохие фичи). А был бы opensource и дела бы никому не было.
Имхо, делать closed source имеет смысл, если у вас конфетка (как ocenaudio, presto) и какая никакая репутация или стаж.
Но понимаете, обход блокировок чувствительная тема.

К слову есть опенсорный pingtunnel

GOST (GOST) тоже умеет туннелироваться через ICMP.

Вы, наверное, и виндой не пользуетесь и видяха у вас не nvidia, а то вдруг там какой код зловредный :slight_smile:

Да я никого не заставляю пользоваться моим софтом. Делал для себя, как только появилась свободная минута. Сделал - понравилось, выложил. Кто не хочет - не пользуется.