Состоялся выпуск P2P VPN 0.11.3 - реализации децентрализованной виртуальной частной сети, работающей по принципу Peer-To-Peer, при котором участники подключены друг к другу, а не через центральный сервер. Участники сети могут находить друг друга через BitTorrent-трекер или BitTorrent DHT, либо через других участников сети (peer exchange). Приложение является бесплатным и открытым аналогом VPN Hamachi, написано на языке Java (c отдельными компонентами на языке Си) и распространяется под лицензией GNU LGPL 3.0...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=59920
Та вы что? Как вовремя! А кто и зачем это придумал?
Посмотрел удалённые комментарии — возбудились все, как с России, так и с Украины! Значит идея сотворить аналогичный протокол отличная! Единственно нужно начать учиться, так как знаний не хватает, но это уже технические нюансы.
вопрос, каждый участник будет выходной нодой?т.е. если что придут к тебя, а потом ты доказывай, что это не ты?
или обмен траффиком только внутри VPN?
> т.е. если что придут к тебя, а потом ты доказывай, что это не ты?P2P VPN не роутит трафик в Интернет. Вообще. Написано же, что аналог Hamachi.
> или обмен траффиком только внутри VPN?
Да.
Это не освобождает от ответственности за оказание услуг связи без лицензии (171 УК РФ), неисполнения обязанности по реализации требований к сетям и средствам связи, используемым для проведения ОРМ (13.46 КоАП), касающихся передачи абонентского номера и (или) уникального кода идентификации, прекращения оказания услуг связи и (или) услуг по пропуску трафика и подключения к системе обеспечения соблюдения операторами связи требований при оказании услуг связи и услуг по пропуску трафика в сети связи общего пользования (13.2.1 КоАП), по использованию в целях выявления в информационно-телекоммуникационной сети "Интернет" сетевых адресов, соответствующих доменным именам технических и программных средств (в том числе средств связи), функционирующих в соответствии с установленными уполномоченным федеральным органом исполнительной власти требованиями, а также национальной системы доменных имен (13.44 КоАП), и нарушение требований законодательства к обеспечению функционирования точек обмена трафиком либо требований законодательства к обеспечению устойчивого функционирования средств связи, обеспечивающих взаимодействие с иными средствами связи (13.43 КоАП).
То есть опасно просто учавствовать в любых сетях, где ноды помогают друг другу предоставлять доступ?
"Без разрешения партии нельзя." (С)
> Это не освобождает от ответственности
> за оказание услуг связи без лицензииОтветственность за оказание каких услуг связи без лицензии?
Если мне надо своим работникам дать возможность из дома подключаться к моему рабочему VPN-серверу для получения ими доступа к ресурсам сети предприятия, которые им нужны для работы, то для этого потребуется лицензия?! Ого! Не знал! 😲
SecurityThe following cryptographic algorithms are used in the application:
RSA-2048 for peer authefication.
AES-128-CBC for encrypting peer-to-peer trafic.
SHA-512 with RSA algorithm is used to sign invitations.
>RSA-2048 for peer authefication.
>AES-128-CBC for encrypting peer-to-peer trafic.
>SHA-512 with RSA algorithm is used to sign invitationsПрибито гвоздями? Не круто.
> Прибито гвоздями? Не круто.Можно в будущем сделать настройку для размера симметричных и асимметричных ключей, но пока и так нормально. В большинстве софта как раз хардкодят такие вещи.
В крайнем случае, поменять два числа легко.
https://gitlab.com/Monsterovich/p2pvpn/-/blob/main/src/org/p...
Приложение очень глючное, лагучее и вообще похоже на вирус. Не советую его скачивать.
> Приложение очень глючное, лагучее и вообще похоже на вирус.В каком месте там глюки и лаги, а уж тем более вирусы? Даже в оригинальной версии 0.8 от оригинального автора их не было. Не знаю где вам всё вышеперечисленное померещилось. :)
Простите, но джава...
Я бы даже проклятый раст больше оценил, не к ночи будь он помянут.
> Простите, но джава......безопаснее чем тот же СИ отсутствием возможных ошибок при работе с памятью (segfaults, use after free, утечки памяти, выходами за пределы массивов и т.д.) и уязвимостей в результате таких ошибок. Следовательно Java один из вариантов. Новостей о том, что в какой-то софтине/библиотеке на сишке опять вышли за пределы массива полно. Kotlin, кстати, ещё безопаснее будет, потому что там есть null-safety.
Но да, вы правы, "проклятый" Rust тоже хороший вариант для таких приложений хоть он и собирает в нативные бинарники статиком, а не cross-platform код. Ещё, наверное, можно на Go, как вариант, хз.
Ну вот пусть переписывают на Kotlin лучше, он прикольный
> Ну вот пусть переписывают на Kotlin лучше, он прикольныйНе вижу в этом особого смысла. Есть проекты которые написаны и на Java, и на Kotlin, но как-то чтобы на разных ЯП не хочется.
Большинство таких штук как раз на голанге отлично собираются под всё что шевелится, тот же GoST (Go Simple Tunnel) - просто торт
То что человек не следит за памятью говорит лишь о том, что он не следит за памятью. А вот переносимость, размер бинарника и скорость его выполнения ещё как говорят за качество языка.
Перевод на русский: не смог в си - значит не смог в си и ничего более. Поздравляю.
> То что человек не следит за памятью говорит лишь о том, что он не следит за памятью.https://www.youtube.com/watch?v=tas0O586t80
> А вот переносимость, размер бинарника и скорость его выполнения ещё как говорят за качество языка.
Я могу статиком собрать приложение на СИ, показать какой размер бинарника будет? И Java всего лишь немного медленнее, чем C++.
Java не тормозит! (TM) Сеть I2P не даст соврать.
> Java не тормозит! (TM) Сеть I2P не даст соврать.Можно такой код написать на сишке, что тормозить будет похуже явы.
А JVM уже пересали на ней самой, безопастной Java?
Почему не на безопасном расте?
Как только Орацле присоединится к Свидетелям безопасТного.
А OpenJDK?
Но переписанная всё равно должна выполняться той первой JVM, которая на Cи?
tinc же есть
Куда интереснее, как всё это будет между офисами умирать прямо внутри страны по мотивам недавних массовых блокировок WG, OpenVPN
Latest stable version: 1.0.36 on Aug 26, 2019реально? настолько удачно написано, что можно 4 года не обновлять, на сишке?)
справедливости ради, стоит сказать что у них там 1.1пре18 есть, вот только в продакшен также не хочется дев ветку заброшенную больше года назад ставить, как и стейбл, в который 4-1 -- за 3 года работы ничего не забекпортилиесли у них стейбл реально так вылизан был, а в новую ветку только новые фичи крутили - то значит уже где-то в другом месте неопенсорс кодит хДД
> tinc же естьУ tinc такое юзабилити, что даже говорить не хочется. Даже человек с опытом не поймёт как это юзать: руками прописывать конфиги, генерить сертификаты... В общем, без траха нельзя. А вот теперь представь, что это нужно дать сделать нубу. Hamachi - легко, P2PVPN тоже. К тому же, даже если говорить про консольный интерфейс, у tinc он - говно. Теперь смотри как у P2PVPN:
java -jar P2PVPN.jar --newNetwork --name="My network" > profile.ini
java -jar P2PVPN.jar --generateAccess > access.dat
sudo java -jar P2PVPN.jar --headless --access=access.dat --name=Vasya --port=2103 --vpn.ip=10.6.10.10 --vpn.mask=255.255.0.0
и сеть готова.Дальше для пользователей генерируем доступ.
java -jar P2PVPN.jar --generateAccess > access_dlya_druga.dat
Ещё в кто-то в другой теме писал, что у tinc утечки памяти.
> Куда интереснее, как всё это будет между офисами умирать прямо внутри страны по мотивам недавних массовых блокировок WG, OpenVPNНаверняка OpenVPN и прочие как-то анонсируют себя клиентам, а блок делается простым if(!strcmp(header, "OpenVPN")) return; У P2P VPN протокол себя никак не анонсирует, следовательно что передаётся по TCP-сокету - хз, и провайдер узнать это не может, так как ноунейм протокол.
Ноунеймы которые не похожи на https-трафичек отлично выкашиваются
Ну так их выкашивать - это поломать кучу не HTTP(S) софта. А протоколы ноунеймов: это, например, 2 байта - размер пакета и всё остальное - данные зашифрованные каким-нибудь AES-ом. Попробуй, определи что это за прога по рандомному порту.
ага, остаётся сама мелочь - угадать айпи куда стучаться))))
так а за что минус-то лоля и не спорю, что если бы провайдеры всё кроме 443 хттпс выкашивали - _мама_дорогая сколько бы всего не работало. да оборудование у них тупо задымилось бы, если все_сервисы_всех_устройст_всех_пользователей на постоянке коннект держали))
лучше подскажите как без релеи свой/публичной со сменой динамичного айпи провайдером бороться лол
> Ну так их выкашивать - это поломать кучу не HTTP(S) софтаНу выкашивателей же за это никто ж не накажет.
Вот если были бы преценденты наказаниями, возмещениями ущербов и т.п., тогда выкашиватели бы сильно думали надо ли им что-то выкашивать или лучше не надо. А так - выкашивай всё подряд и ничего им за это не будет же.
> As long as one node in the VPN allows incoming connections on a public IP address, tinc will be able to do NAT traversalНасколько я понял, у P2P VPN такого ограничения нет и он может соединять клиентов, даже если оба за NAT. Т.е. это очень полезный инструмент, у которого и внятных аналогов-то нет... мог бы им быть. Но джава, серьёзно?
да нат травелсал много где есть - по смыслу написаного явно обозначено, что как минимум одна нода должна поддерживать входящие соединениябез публичных/частных релеев (relay), где ноды оставляют свой индентификатор и айпи/порт где их искать для соединения, ну или вручную указанного адреса (да хоть ната - провайдеры дозваляют так делать), ничего бы из этого вообще не работало
аналогов-то у него не было бы если он внутри себя код бабушки Ванги содержал и с первого раза нужный айпи угадывал хДДД
> или вручную указанного адреса (да хоть ната - провайдеры дозваляют так делать)*дозволяют
трудность в том, что провайдер твой айпи/порт может за 5минут простоя/переподключении поменять, когда ты за его натом. не утверждаю что он так и будет делать, но неудобства пользования я думаю и так понятны
> да нат травелсал много где есть - по смыслу написаного явно обозначено,
> что как минимум одна нода должна поддерживать входящие соединенияИменно, нода. А P2P VPN юзает DHT. Да и просто иметь публичные реле было бы огромным плюсом для любого VPN
> аналогов-то у него не было бы если он внутри себя код бабушки
> Ванги содержал и с первого раза нужный айпи угадывал хДДДТак, а у какого VPN ещё есть P2P и публичные релешки/использование DHT, чтобы NAT обходили все участники сети? Я бы с радостью попробовал
> Так, а у какого VPN ещё есть P2P и публичные релешки/использование DHT, чтобы NAT обходили все участники сети? Я бы с радостью попробовалfToxTun. Работает на Windows и Linux. Но там строго 2 участника. Юзает libtoxcore-c и, следовательно, DHT Tox-a.
https://github.com/ddorian1/fToxTun
К сожалению, все попытки написания VPN-а на основе Tox-а - сырые и недопиленные.
> Но там строго 2 участника.так а мостом-то можно пробросить? я конекчусь к серваку в зимбабве и раздаю по локалке? ну, или, я сервак - просто полдюжины вась-вась создаю сабжем и все дружно в преверанс на мне играем?)
>> Но там строго 2 участника.
> так а мостом-то можно пробросить? я конекчусь к серваку в зимбабве и
> раздаю по локалке? ну, или, я сервак - просто полдюжины вась-вась
> создаю сабжем и все дружно в преверанс на мне играем?)Легче P2PVPN юзать.
мож хамачи всё ж?))))
> Так, а у какого VPN ещё есть P2P и публичные релешки/использование DHT, чтобы NAT обходили все участники сети? Я бы с радостью попробоваллол, шёл 2023.... никто даже у какого-нить syncthing обвязку эту спизжеть/перекодить так и не додумался
> и он может соединять клиентов,
> даже если оба за NAT.
> Т.е. это очень полезный инструмент,
> у которого и внятных аналогов-то нетКак это внятных аналогов нет?
Любой VPN-сервер, к которому есть доступ у обоих клиентов, может соединять этих клиентов между собой.
> Любой VPN-сервер, к которому есть доступ у обоих клиентов, может соединять этих клиентов между собой.Поздравляю, вы открыли для себя nat traversal с помощью третьего узла. Для него VPN-сервер не обязателен, это можно сделать через другого участника сети.
> Любой VPN-сервер, к которому есть доступ у обоих клиентовРечь выше шла про P2P, предполагая отсутствие такого сервера у пользователя
наты-то сабж пробивает, чтобы для нескольких удалёнок свой приватный сервак поднять? или всё также надо релею воткрытую вывешивать?
Напиши непротиворечивый алгоритм пробития НАТа с двух сторон без внешнего сервера. Как напишешь — я Антона Алексеевича напрягу закодить.
да я не против общественной - tor, syncthing сам пользуюсь, спокойно сидя за натомпросто некоторые требуют саомстоятельно поднимать, ну плюс движуха отечественная по отлову в последнее время - нафик всё это нужно, голову забивать
телеграм-бот не подойдёт?))
ну, для своих если только, закодить его чтоб там шифровками выдавал, и затирал как зайдет, дальше уж дхтесли публичнее/меньше палева - вон к какому-нить syncthing подключиться - за минуту всегда находит, что в локалке, что в сети, 7х8 идентификатор и адрес готовы - слизывай. реально так пробросить, в теории?
> Напиши непротиворечивый алгоритм пробития НАТа
> с двух сторон без внешнего сервераА зачем без внешнего сервера, если внешний сервер поставь и забудь про мучения со всей этой "децентрализацией"? 😃
Я сделал пакет для Арча, но почему-то не работает:
https://aur.archlinux.org/packages/p2pvpn
потому что этот кривожопый кал собирается только 7 ждк похоже
Если собирать пакет для дистра то желательно сделать, чтобы был /usr/bin/p2pvpn и поправить working dir на какой-нибудь /root/.p2pvpn или /etc/p2pvpn если запускать от рута, чтобы туда складывал конфиги и прочее.
Так как пока не ясно куда складывать .so библиотеки, ради пакетирования можно пропатчить пути.И libAppIndicator тоже собрать надо, хотя бы под 64 бит.
> If running on Linux, the application needs to be run as rootну вы поняли
Чтобы получить доступ к /dev/net/tun нужен root. В Windows, кстати, без прав администратора интерфейс настроить не даёт тоже. Но, вроде как можно дать этому устройству права 0660 через chmod, а пользователя добавить в группу tun через команду "sudo usermod -aG tun username" и тогда должно заработать, но пока что этот вариант не проверяли. Возможно всё равно не хватит привилегий. В таком случае, придётся делать сервис, который будет открывать интерфейс от рута и через IPC передавать дескриптор приложению.
Можно дать бинарнику CAP_NET_ADMIN. Тоже небезопасно, но хотя бы не как запуск от рута.
> Можно дать бинарнику CAP_NET_ADMIN.Причём это нужно давать /usr/bin/java. Я пробовал, на права уже не ругается, но интерфейс не настраивается, следовательно - не работает. Привилегий таки не хватает.
>Причём это нужно давать /usr/bin/javaТогда лучше не стоит, наверное лучше отдельный юзер с доступом к tun.
> Тогда лучше не стоит, наверное лучше отдельный юзер с доступом к tun.Идея хорошая, но она усложнит юзабилити, наверное.
Да нет - пользователи всяких апачей под юзером www-data вообще не обламываются, уже не первый десяток лет.
sudo setcap cap_net_admin=eip /usr/lib/jvm/default-java/bin/javajava -jar P2PVPN.jar
И соответственно придётся делать ifconfig ручками, потому что тоже привилегированная операция, например:
sudo ifconfig tap0 10.6.54.57 netmask 255.255.0.0
IP и маска должны совпадать с тем, что в приложении.
Пробуйте.
откуда ток ботнеты берутся - непонятно..)))
> написано на языке Java
> Добавлена возможность использования приложения в режиме без графического интерфейсаТ.е. уровень профессионализма в сетевых вопросах примерно понятен.
Да, рулез что на безопасном ЯП.Кстати, консоль была и до этого, но была чисто ради галочки, а теперь сделано нормально с параметрами.
Ну уж, хотя бы, на Гошке, что-ли. Вот Yggdrasil вполне себя шустро чувствует.
> Вот Yggdrasil вполне себя шустро чувствует.Мне кажется, что это куда ближе к RetroShare и Freenet, чем к P2P VPN, не?
Я не про назначение сети, а про язык реализации.
Не. Никто тебя не заставляет участвовать в пиринге с другими участниками сети. Я некоторое время использовал Yggdrasil как P2P VPN для своих скромных домашних нужд пока нативный IPv6 не появился.
> Я некоторое время использовал Yggdrasil как P2P VPN для своих скромных домашних нужд пока нативный IPv6 не появился.Суть в том, чтобы решение было наиболее лёгким - поставил и работает (без траха, как например Tox), чтобы никаких конфигов, мутных установок, красноглазых компиляций и прочего. Я уже поюзал Freelan, спасибо, мне хватило. К тому же я почитал про Yggdrasil: peer exchange и DHT там я не увидел.
> Суть в том, чтобы решение было наиболее лёгким - поставил и работает (без траха, как например Tox), чтобы никаких конфигов, мутных установок, красноглазых компиляций и прочего.Не вижу, чтобы сабж был лёгким решением в сравнении да хоть с тем же Tailscale. Надо всё так же генерировать какие-то конфиги, что-то компилировать (не вижу ни списка дистрибутивов, поддерживающих этот VPN из коробки, ни списка магазинов приложений где он опубликован), мутные установки с запуском явы из-под рута, и так далее. Возможно, это в перспективе это станет каким-то законченным решением, но сейчас это точно не продукт «без траха».
> К тому же я почитал про Yggdrasil: peer exchange и DHT там я не увидел.
Правильно не увидел, его там нет и, возможно, никогда не будет. Из официальной документации:
It is important to note that Yggdrasil nodes never establish new peerings with remote (that is, non-multicast-discovered) nodes automatically. Yggdrasil intentionally has no concept of peer exchange, as is often found in other overlay and DHT designs, and we have no plans at this time to add it.
Пока что вижу, что DHT — единственная «киллер-фича» P2P VPN, но не вижу, какую конкретную проблему пользователей он решает лучше, чем существующие альтернативы.
> Не вижу, чтобы сабж был лёгким решением в сравнении да хоть с тем же Tailscale.Ох, ещё как легче. Среднестатистические пользователи что-то сложнее Hamachi не осилят. И Tailscale - мутная проприетарщина, сразу идёт в мусорку.
> Надо всё так же генерировать какие-то конфиги, что-то компилировать
Не надо. Для пользователя - это запустил .exe и принял инвайт, и всё работает.
> не вижу ни списка дистрибутивов, поддерживающих этот VPN из коробки
Это уже на усмотрение дистрибутивов.
> мутные установки с запуском явы из-под рута, и так далее
Распаковать и запустить P2PVPN.exe - это мутная установка?
https://www.opennet.dev/openforum/vsluhforumID3/131773.html#72
> Возможно, это в перспективе это станет каким-то законченным решением, но сейчас это точно не продукт «без траха».
Ага, видел я эти ваши (за)конченные решения. Буквально любая альтернатива P2PVPN или Hamachi - это неюзабельное гавно. Даже fToxTun лучше, хоть он и для двух человек only.
> Правильно не увидел, его там нет и, возможно, никогда не будет. Из официальной документации:
ЧТД.
> но не вижу, какую конкретную проблему пользователей он решает лучше, чем существующие альтернативы.
Поиск участников друг-друга, не?
> Tailscale - мутная проприетарщинаА, ты из этих… Но всё же рекомендую полюбопытствовать в виртуалочке как настоящий софтверный продукт выглядит. Сабж даже близко не лежал. Заодно может узнаешь, что он почти весь опенсорсный, а для единственного закрытого компонента есть отличная открытая реализация.
> Распаковать и запустить P2PVPN.exe - это мутная установка?
Microsoft Store пишет, что такого приложения не найдено. Apple Store — тоже. Ты только что потерял 99.99999% пользователей, которые «что-то сложнее Hamachi не осилят». Про мобильные клиенты даже спрашивать не буду.
> Это уже на усмотрение дистрибутивов.
Это не так работает. Если проекту нужна хоть какая-то аудитория кроме мамы и бабушки, нужно самому идти по дистрибутивам и проситься к ним чтобы приняли в дистрибуцию.
> Ага, видел я эти ваши (за)конченные решения.
Да пока не видно, чтобы ты что-то видел. А если и видел, то явно не понял почему Tailscale пользуются, а P2P VPN только на Опеннете обсуждают.
> Поиск участников друг-друга, не?
Эта проблема решена во всех коммерческих и свободных альтернативах точно так же как и в сабже: передачей идентификатора (инвайта в случай сабжа) out of band.
Язык не повернётся назвать сабж c:\laba1, но заявления про якобы отсутствие красных глаз в системных требованиях не выдерживают никакой критики.
> Но всё же рекомендую полюбопытствовать в виртуалочке как настоящий софтверный продукт выглядит. Сабж даже близко не лежал. Заодно может узнаешь, что он почти весь опенсорсный, а для единственного закрытого компонента есть отличная открытая реализация.Пофиг как он выглядит, лишь бы легко ставился и работал, а свистоперделки - это лишнее.
> Microsoft Store пишет, что такого приложения не найдено. Apple Store — тоже. Ты только что потерял 99.99999% пользователей, которые «что-то сложнее Hamachi не осилят».
Ахахах. Это кто на винду софт из Microsoft Store ставит? Я таких упоротых не знаю.
> Про мобильные клиенты даже спрашивать не буду.
А на мобилках он зачем?
> Если проекту нужна хоть какая-то аудитория кроме мамы и бабушки, нужно самому идти по дистрибутивам и проситься к ним чтобы приняли в дистрибуцию.
Hamachi в дистрибутивах нет, и чо?
> Да пока не видно, чтобы ты что-то видел. А если и видел, то явно не понял почему Tailscale пользуются
Ну и пусть пользуются, я запрещаю что-ли?
> передачей идентификатора (инвайта в случай сабжа) out of band.
Без понятия что это.
> Пофиг как он выглядит, лишь бы легко ставился и работал, а свистоперделки - это лишнее.Я такой подход называю «сферическое программирование в вакууме». Пофиг как выглядит, как работает тоже в общем-то пофиг, пофиг что делают другие, всё лишнее, всё не нужно, кроме одного: программист хорошо провёл время покодив свои фантазии о том, что нужно воображаемому «среднестатистическому пользователю».
> Ахахах. Это кто на винду софт из Microsoft Store ставит? Я таких упоротых не знаю.
Какой милый солипсизм. Мир, который
… я не знаю не существует.> А на мобилках он зачем?
А на десктопах он зачем?
> Hamachi в дистрибутивах нет, и чо?
Ну вот. Начал равняться на «мутную проприетарщину», которая «сразу идёт в мусорку». А так хорошо начал.
> Без понятия что это.
Это хорошо видно, кстати.
> Я такой подход называю «сферическое программирование в вакууме».Я тебе уже объяснил по сути почему P2PVPN нужен, если ты этого не понял, то это твои проблемы.
> А на десктопах он зачем?
Как минимум по тем же причинам, что и Hamachi.
> Ну вот. Начал равняться на «мутную проприетарщину», которая «сразу идёт в мусорку». А так хорошо начал.
Где это? Hamachi хотя бы легко юзать. Проблема в том что он проприетарный и там ограничение на 5 участников. P2P фич тоже нет.
> Это хорошо видно, кстати.
Я не обязан понимать каждый бред, который пишут слабоумные тролли.
> Я не обязан понимать каждый бред, который пишут слабоумные тролли.Не можешь аргументировать — переходи на личности. Давай, до свидания.
> JavaА чё не на Хаскеле? А то миллионы людей не знают, чем бы ещё занять свои безлимитные CPU и бездонные RAM.
Отъедает 240 мб в гуи режиме, не больше чем обычная среднестатистическая программа на C++/Qt (сравнил с qTox).
Раз в 10 больше, но, я уверен, это не предел -- жаба любит протечь на гигабайты.
> жаба любит протечь на гигабайтыПацаны за гаражами рассказывали?
Ты запускал тот же clion?
Да. Что это должно доказать? Что IDE это весьма нетривиальный софт, которому для работы нужны ресурсы? Ну так это и так известно. А ты запускал в проде микросервисы на Яве? У каких-то потребление памяти в пике у около 100 мегабайт, а иным и 50 гигабайт мало из-за объёма обрабатываемых данных. Сказать-то что хотел?
Ты сейчас серьёзно сравниваешь микросервисы с жабогуйнёй? У тебя всё в порядке?
> Ты сейчас серьёзно сравниваешь микросервисы с жабогуйнёй? У тебя всё в порядке?Ну ты же на полном серьёзе написал, что «жаба любит протечь на гигабайты». Я тебе показал, что проблема явно не в Яве.
> У тебя всё в порядке?
Да, спасибо. А у тебя?
Чем продолжительней работает, тем больше вытекает, независимо от установленных параметров. Микросервисы тут совершенно нерелевантны к проблеме.
Я что-то не понимаю тебя. Вот смотрю в прод: программа на Яве как была запущена в мае, так и работает. Как вышла на свой обычный уровень потребления памяти в ~ 100MB, так и сидит там ±3MB. Сколько надо ждать, чтобы начало протекать? Или это касается только программ с GUI?
В основном, программ с GUI. Но на практике любые жава программы, использующие нативный код для ускорения работы (в частности, игры), поскольку этот ресурс не менеджится вм. Кроме того, при продолжительной работе без перезапуска, постепенно вся память, доступная вм (заданная в параметрах) исчерпается, и гц начинает фризить нонстоп.
да всё течёт, по сезону - так вообще пипец)))
> А ты запускал в проде микросервисы на Яве?Их Яндекс запускал, можно послушать/почитать в докладе "C++ на практике" от Полухина про джаву, про Пилораму, и про то, как она не тормозит
>миллионы людей не знают, чем бы ещё занять свои безлимитные CPU и бездонные RAMТак на Electron же надо.
Не надо.
В юмор нужно уметь.
> написано на языке JavaУнесите обратно. Разрабы i2p тоже думали, что это хорошая идея, в итоге жрет оно столько и работает с /такой/ скоростью, что оно нахрен никому не нужно. А "небезопасный" тор живёт и здравствует.
Ну вот давай теперь кейс с разрабами I2P притаскивать каждый раз... И Tor уже переписывают потихоньку на Rust.
Максимально релевантный пример. Сетевой софт, рассчитанный на постоянную работу в фоне и написанный на жава-параше? Давай досвидания.
Это буквально все Android приложения.
Android - шустрая платформа?
Я бы не сказал, что он медленный. Тут уже всё строго зависит от производительности кода определенной прошивки или кода, написанным разработчиками Google.А ну ещё, там своя VM - Dalvik называется.
Rust, хотя бы, пошустрее должно быть.
> Ну вот давай теперь кейс с разрабами I2P притаскивать каждый раз...Нормальное же сравнение.
> И Tor уже переписывают потихоньку на Rust.
Tor-то переписывается, а P2P VPN, к сожалению, нет.
> Нормальное же сравнение.Ну да, конечно...
> Tor-то переписывается, а P2P VPN, к сожалению, нет.
Потому что на сишке, а приложение на Java почти нет смысла переписывать.
Все что нужно знать о отношении автора к проекту: https://gitlab.com/Monsterovich/p2pvpn/-/issues/1
Топикстартер какой-то дурак. Понятно и так из описания для чего это приложение нужно. Мог бы хоть кликнуть на ссылку в README. Там ведёт на сайт приложения которого форкнули. Не знать что такое Hamachi - это, конечно, позор.
Чем оно лучше/хуже yggdrasil/rivmesh?
Нет смысла сравнивать yggdrasil/rivmesh - оно не для того. Это по сути замена хамачи.
https://www.opennet.dev/openforum/vsluhforumID3/131773.html#107
Крутой по задумке (архитектурно) проект, да еще и с реальной прикладной пользой (замена централизованным/проприетарным/краснозенковым в настройке решениям). По совокупности характеристик мог бы быть лучше всех аналогов. Я бы сказал, что было бы топ в своей категории, но вот торможрущая java... Эх...
Хотя авторам (автору?), конечно, респект за попытку. В этой категории (Hamachi/RadminVPN/freelan/etc./прочие, уже помершие) как раз нет вот того самого опенсорсного децентрализованного бесплатного решения.Это бы дело да хоть на том же, упомянутом выше в комментах, расте (на котором как раз tor сейчас активно переписывают). Но это вряд ли случится: компании еще могут принять решение о переходе на другой язык, а кустари-одиночки - редко.
Ладно, мечтать не вредно. Придёться ждать других Могучих Героев Современности, кто способен сделают примерно тоже самое, но на чём-то нативном. Сам я такое одолеть не смогу (у меня лапки, ага), хотя и думал как раз о чём-то таком.
> но вот торможрущая java...У Java производительность кода почти как у C++ +/-. Просто почему-то 10 лет назад у всех сложилось ложное представление, что Java тормозит.
10 лет назад? Андроид как тормозил, так и тормозит до сих пор (но меньше - аппараты мощнее стали), да еще и памяти жрёт больше, чем было в среднем во взрослых компах лет 10 назад (в итоге уже телефоны с 12 гигами памяти выходят, ага).
Сорян, но ты же должен понимать, что таким голословным аргументом ты никого не переубедишь. С тормозами джава-прог (особенно на десктопах, а потом на ведроиде) сталкивались многие, а не тормозящих java-прог на десктопе видел мало лишь кто. Просто придти и сказать, что "джава может не хуже этих ваших нативов" - не прокатит, даже если в синтетической теории это почти правда. Ты хочешь в соло переложить имиджевый (во многом заслуженный) урон, который имеет джава на десктопах (и не только). Ты с такой монументальной задачей (и в частности в комментах на опеннете) не справишься. Дил виз ит.
Я без претензия, если что - автор(-ы?) тащат крутую и нужную (в определенных кругах) концептуально шутку (я так не смогу, а как известно мне никто ничего не должен, ибо опен-сорс и халява), но нужно быть реалистом: юзеров, которые хотят себе десктопный софт на джаве ты не встретишь (в числах выше статпогрешности). Вот и автор(-ы?) не встретят.
Так что придёться ждать "переписывателя на расте" (который вряд ли появится, а автор(-ы?) вряд ли в таковые запишутся). Вселенская печаль этого мира - хорошему опен-сорс софту почти всегда нехватает чего-то, чтобы быть лучшим.
> 10 лет назад? Андроид как тормозил, так и тормозит до сих порТогда было совсем медленное железо. Сейчас у меня не самый новый смартфон, всё шустро работает.
> в итоге уже телефоны с 12 гигами памяти выходят, ага
Ну, это нормально. Ты по сути запускаешь такой же веб-браузер как и на ПК. Иногда даже на экране с ещё большим разрешением/плотностью пикселей - больше жрёт видеопамяти.
> Просто придти и сказать, что "джава может не хуже этих ваших нативов" - не прокатит, даже если в синтетической теории это почти правда.
Ну да, некоторым уже мозги промыли... жаватармазит, жаватармазит!
Майнкрафт почему-то нормально вывозит 100500 блоков на экране.
> реалистом: юзеров, которые хотят себе десктопный софт на джаве ты не встретишь
Юзерам в большинстве случаев вообще плевать что под капотом, лишь бы работало.
> Так что придёться ждать "переписывателя на расте"
Софт переписывают на расте не ради переписывания, а потому что у сишки есть проблемы (при работе с памятью в том числе). Rust эти проблемы исправляет. Java, кстати, тоже, но это интерпретируемый байткод со своей VM. Rust - компиляция в нативные бинарники. Одно cross-platform, другое - нет. Концептуально разные вещи. Не хуже и не лучше.
> Вселенская печаль этого мира - хорошему опен-сорс софту почти всегда нехватает чего-то, чтобы быть лучшим.
Разработчики тоже хотят кушать. Много людей были бы готовы пилить open-source не забесплатно, а сейчас только чисто на оставшейся и истекающей мотивации.
Ты посмотри как тот же GNOME софт пилят. Уже GTK 5й раз переписывают ради прикола. Ты думаешь они за еду это делают? Понятно, что эти челики - бесполезные вредители, а представь теперь если отсыпать денег действительно полезным проектам.
> Тогда было совсем медленное железо.На десктопе-то? Ты сам-то хоть в это веришь?
> Сейчас у меня не самый новый смартфон, всё шустро работает.
И какой же у тебя сейчас телефон? Что-то мне посдказывает, что не такой, как у 80% владельцев андроидов. А у тех вполне себе тормозит местами.
У тебя логика погромистов, которые сидят за компом с 32 (или даже 64) гига памяти, кучей ядер, топовым SSD и такие: "и чего эти юзеры ноют, что наш блокнот на Электроне? У меня ничего не тормозит!"> Ну, это нормально. Ты по сути запускаешь такой же веб-браузер как и на ПК. Иногда даже на экране с ещё большим разрешением/плотностью пикселей - больше жрёт видеопамяти.
Это если речь про браузер - тогда нормально (Хотя на самом деле это не нормально, что веб тормозит на таких мощностях, но это уже совсем другой разговор), а если практически про все остальные проги - то не нормально.
> Ну да, некоторым уже мозги промыли... жаватармазит, жаватармазит!
Не... Это у тебя промыты. Просто потому, что ты считаешь, что это мозги промыты, а в реальности - это личный опыт у многих. Так-то, как ты сам правильно заметил, обычным юзерам обычно пофиг, что там под капотом. Пока это не тормозит или не жрёт ресурсы как не в себя. А тогда внезапно становится не пофиг. И это превращается в опыт. Негативный опыт. И на основе него в будущем принимаются решения. И сколько ты не бегай и не ори про "промыты мозги", решения юзеры будут принимать на основе этого своего опыта. Переписать прогу на другом языке, это теоретически посильная задача (может не для меня в данном случае или тебя, но для кого0то). Изменить имидж джавы - для тебя непосильная задача. Не выйдет у тебя, короче. Ты зря тратишь время и силы.
> Майнкрафт почему-то нормально вывозит 100500 блоков на экране.
Но при этом жрёт ресурсов больше, любой чем распоследний топовый шутер. А если памяти нехватает - то вполне себе тормозит.
И интернет переполнен статьями вида "Как выделить больше оперативной памяти для Minecraft". Можешь сам погуглить и увидеть эти сотни страниц с мануалами чё делать, если майнкрафт и память сошлись в битве.> Юзерам в большинстве случаев вообще плевать что под капотом, лишь бы работало.
Точно. Пока работает и ресурсы не выжирает все. Но вот если одно или второе (или оба сразу) случается - внезапно юзер задается вопросом - какого фига? И вот после этого у джавы начинаются те самые "проблемы с имиджем".
> Софт переписывают на расте не ради переписывания, а потому что у сишки есть проблемы (при работе с памятью в том числе). Rust эти проблемы исправляет. ...
Я это всё знаю - мне этот ликбез не нужен. И в этой части всё верно. Но в случае сабжа его хотят видеть на чём-то нативном не из-за проблем с безопасностью (в этом плане действительно переписывать с джавы на раст нет особого смысла), а по той же причине, по которой софт принимают решения переписать с интерпретируемых языков в нативные - это вопросы производительности.
> Разработчики тоже хотят кушать. Много людей были бы готовы пилить open-source не забесплатно, а сейчас только чисто на оставшейся и истекающей мотивации.
Верно, потому я и написал, что я без претензий к разрабам.
Но проблему, почему юзеры не хотят видеть у себя десктопный софт на джаве, это никак не решает. И не решит. И комментаторы не решат. Тебе надо быть минимум кем-то типа отцов сишечек или каким-нибудь условным Торвальдсом, чтобы заявить: "джава не хуже по производительности, чем сишечки" и чтобы к тебе хоть кто-то прислушался. А так ты тратишь силы в комментах впустую.
> На десктопе-то? Ты сам-то хоть в это веришь?Никогда Java не тормозила, тормозил говнокод, не выдумывай.
> И какой же у тебя сейчас телефон?
Xiaomi 4x.
> У тебя логика погромистов, которые сидят за компом с 32 (или даже 64) гига памяти, кучей ядер, топовым SSD и такие: "и чего эти юзеры ноют, что наш блокнот на Электроне? У меня ничего не тормозит!"
Java код нормально отрабатывает на старом 32-бит железе с одним ядром и 1,6Ghz процем.
> Не... Это у тебя промыты. Просто потому, что ты считаешь, что это мозги промыты, а в реальности - это личный опыт у многих.
"С/С++ - говно и тормозит." Личный опыт.
> Изменить имидж джавы - для тебя непосильная задача. Не выйдет у тебя, короче. Ты зря тратишь время и силы.
Нету никакого имиджа, просто есть слабоумные растоненавистники и так далее.
> И интернет переполнен статьями вида "Как выделить больше оперативной памяти для Minecraft". Можешь сам погуглить и увидеть эти сотни страниц с мануалами чё делать, если майнкрафт и память сошлись в битве.
Какой пафос, а ведь виртуальная память - это вполне нормальная вещь.
> И вот после этого у джавы начинаются те самые "проблемы с имиджем".
Почему я не слышу в сторону Python-а, что он тормозное Г? Ведь там это реальность. В общем, я уже вижу признаки карго-культа.
> Но в случае сабжа его хотят видеть на чём-то нативном
Зачем нативном? Наоборот софт пытаются сделать кросс-платформенным по максимуму. Народ даже изобретает cosmopolitan сишку, чтобы была тру кросс-платформенность.
> Но проблему, почему юзеры не хотят видеть у себя десктопный софт на джаве, это никак не решает.
Не вижу никакой проблемы. Вон виндузятники без проблем ставят кучу софта на Net framework. Java чем хуже?
> Тебе надо быть минимум кем-то типа отцов сишечек или каким-нибудь условным Торвальдсом
"Я слишком важен, поэтому хочу, чтобы меня обоссал сам Линус Торвальдс, а не какой-то ноунейм с форумов." (С)
> Добавлена поддержка тем оформления, среди прочего добавлены светлая (Light) и тёмная (Dark) темы.Как раз то, что ждешь от vpn-клиента
>> Добавлена поддержка тем оформления,
>> среди прочего добавлены светлая
>> (Light) и тёмная (Dark) темы.
> Как раз то, что ждешь от vpn-клиентаНу да. Для нормальной работы сети передачи данных без тем оформления в ней не обойтись же. 😃
Графический режим нужен, особенно для нубов.
> Добавлена возможность использования приложения
> в режиме без графического интерфейса ("--headless").Я-то вообще думал, что только такой режим в подобных системах и есть.
А в описании читаю, а там... (Господи, помилуй!) ... и темы "оформления", а трей, и оповещения через libnotify, а не через syslog и так далее.А тут пишут ещё и про то, что неграфический режим вообще был добавлен!. Т.е. раньше его даже вообще не было! 😲
> А тут пишут ещё и про то, что неграфический режим вообще был добавлен!. Т.е. раньше его даже вообще не было! 😲Консольный режим и был, но был сыроват. Сейчас нормально сделано.
> Состоялся выпуск P2P VPN 0.11.3 - реализации
> децентрализованной виртуальной частной сети,
> работающей по принципу Peer-To-Peer,
> при котором участники подключены друг к другу,
> а не через центральный сервер.А зачем участникам сети надо подключаться не через центральный VPN-сервер, если можно ж установить центральный VPN-сервер так, чтобы все участники сети подключались через него? 🤔
У нас вот в нашей работе именно так и сделано: установлен "центральный сервер" и станции "виртуальной частной сети" через него подключаются и нормально в этой сети работают. В связи с этим не понятно - зачем нужна виртуальная частная сеть в децентрализованном виде, если и в централизованном она работает нормально? 🤔
> зачем участникам сети надо подключаться не через центральный VPN-сервер, если можно ж установить центральный VPN-сервер так, чтобы все участники сети подключались через него?Проблема в том, что какой бы сервис ты не запустил, если админ, например, сопьется, то этот сервис умирает вместе с сервером, а децентрализованная сеть будет существовать бесконечно пока есть участники.
Второе - организация сервера требует ресурсов ($, грубо говоря), плюс зависимость от пропускной способности сервера. В бессерверной системе её нет.
Есть решение круче:
https://github.com/anywherelan/awl
Автору респект.
Tinc 2.0 с такой же трахнутой настройкой.
Не похоже, т.к. awl работает через dht, а тинк2 нет. Я коннектился через awl с андроида на win10 комп, работают все сервисы, что крутятся на нём и доступны по ip.