Опубликован выпуск проекта OpenSnitch 1.6, развивающего открытый аналог проприетарного динамического межсетевого экрана Little Snitch. Приложение позволяет в интерактивном режиме контролировать сетевую активность пользовательских приложений и блокировать нежелательный сетевой трафик. Код проекта написан на языке Go (GUI на Python и PyQt5) и распространяется под лицензией GPLv3. Для установки подготовлены пакеты в форматах rpm и deb...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=59336
Лучше помогите Тео оплатить счета за квартиру и он вам pf портирует.
> Код проекта написан на языке Go (GUI на Python и PyQt5)Давно мучаюсь вопросом... Гошечка вроде может использовать сишные либы. Почему на Go не делают GUI на GTK/Qt/etc?
Не может. А ещё сделать наоборот проблематично. Поэтому го мертворождённая поделка корпораций с телеметрией, пытающаяся потеснить питон в вебе. Не более. Если говорить почему вообще не делают адекватного GUI в противовес гтк, например, на расте, то ответ простой: нужно влить немало бабла и ресурсов и брать околомёртвый хайпожорский эзотерический ЯП для тулкита (в котором всё линкуется статически, к тому же) явно не лучшая идея. Фанатики ржавчины применяющие его в реальных продуктах уже не раз пожалели о своём решении, можно было гораздо выгоднее (с любой точки зрения) взять плюсы. Но, главное, должна быть причина, почему нынешние тулкиты не годятся. На сегодня у нас есть отличный открытый коммерческий тулкит на плюсах с дрянной лицензией и плохонький "свободный" тулкит на си с вендор-локом корпораций и токсичным радужным комьюнити. Только последнее время внезапно оказалось, что софт неплохо работает и из веб-браузера и все эти ваши тулкиты лишнее.
Уяи матчасть: https://tip.golang.org/blog/cgo
Спасибо. А как насчёт разобраться, почему я прав?
Доказывать что-то человеку, оперирующему понятиями "мертворождённая поделка" и "околомёртвый хайпожорский эзотерический ЯП" не представляется возможным
А что такое? Правда глаза колет?
Я не оперирую такими терминами. Мне расскажешь? Интересно узнать.
не знаю что хотел сказать вывешиватель вывесок про мертворождённость, от себя могу сказать, что на highload fastapi(одна из быстрейших либ python) даёт где-то в полтора раза меньше rps, чем go при реализации одного и того же сервиса. А их обоих, как детей, делает так нелюбимый здесь webflux(java). Проводили эксперименты, знаем.
Так что, что хотел сказать автор посыла, сказать затруднительно.
>пытающаяся потеснить питон в вебепохоже вы программирование только на ютюбе видели...
Ну смотри, откровения, раз ты тоже учился по ютубу. Ничего против не имею, смотрел ряд лекций по теме прикладного применения свёрточных сетей, методик игрового интеллекта, и прочему такому, хотя большинство и пустая трата времени. Перл же успешно выпихнули из веба навсегда (мне сложно судить по этому вопросу, любая популярность перла закончилась до моего рождения). Но, в то же время, пхп не выпихнули. Когда-то были надежды на тот же рор, только после появления 3 ветки питона стало окончательно очевидно, что рубятина лишняя в этом мире, да и маки сдулись. Незаменимых в вебне нет, новые решения "получше" появляются регулярно. Го -- это по факту замена питона и есть, и она существует только для решения проблем гугла с питоном на купленных им сайтах типа вышеупомянутого ютуба и активно им продвигается вовсе не по доброте душевной.
Почему не делают, вполне себе делают, просто не так много, как на остальных языках. У них даже есть свой фреймфорк для мобилок.
Это на го и "не так много, как на остальных языках", серьёзно? Кстати, уже "даже есть фреймфорки для мобилок" на жс. Толку то с того.
> Это на го и "не так много, как на остальных языках", серьёзно?Go воспринимают в основном как инструмент для вэбни и в косвенно связанных с этим областях, нежели как десктоп.
> Кстати, уже "даже есть фреймфорки для мобилок" на жс. Толку то с того.Хз, лучше спрашивать у его разработчиков это.
А давай посмотрим что у нас этими GUI библиотеками.Qt - плюсовый, с вытекающей от сюда проблемой интеграцией другими ЯП. PyQt - пожалуй единственная нормальная обвязка для него. И тут сказывается хорошо разрешённая задача использования C++ из питона. И даже более, на PyQt можно быстро набросать прототип Qt приложения. Во всех остальных ЯП Qt с плюсами не особо-то интегрируются. Особенно это касается Go и Rust в которых ООП уже не то.
GTK. Первый вопрос какой версии? GTK4? Какой версии? Четвёртый GTK - это жбан. Отделили виджеты в libadwaita. Но блин открываем https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/ раскрываем Classes и смотрим жбан из "since 1.x", "depricated", "unstable". А какая версия libadwaita в +/- популярных дистрибутивах? GTK4 сейчас можно использовать только для двух платформ: Windows и flatpack. И быть готовым переписывать код постоянно. (И я не оговорился про Windows, meson за полдня можно настроить, что бы он собирал GTK4 приложение со всеми зависимостями под оффтопик). А про flatpack, так вить уже появляются GTK4 приложения, в которых авторы чётко говорят: "Я поддерживаю только сборку под flatpack, остальных просьба не беспокоить".
GTK3 - пожалуй не плохой вариант. Но блин это же не хайпово (хоть, блин и выглядит не хуже Qt). И при всей намного более вменяемой поддержке в других ЯП, GTK3 проигрывает Qt. Почему? Так нет документации и книг. Вот реально, GTK3 приятно использовать и в Modern C++, и в Rust, и в golang, и в XYZlang. Но документации ноль, только примеры, разбор которых требует мозгов, а не тяп-ляп и готово.
Остальное и так находится то в пределах погрешности 0.
А за веббраузербейсет решение для админки, думаю никто не погладит по головке.
Каких Вить?
Начнём с того что Qt это C++ и к Си отношения не имеет вообще. Биндинги для GTK есть (gotk3), но сам GTK не сказать что что-то приятное, да и полноценно работает он только в Linux. А desktop приложеньки для Linux в принципе вещь супер маргинальная, так ещё и в эпоху Electron и Qt выбирать не их странно.
А может кто пояснить. Вот я разрешил протокол ssh в firewalld, а сам сервер ssh повесил на порт 445566. Он сам определит по протоколу или под ssh он понимает конкретно 22 порт?
сервис это тот же хмл файл в котором написаны порты и тд, так не может.
Ты или порт свой открывай или напиши свой хмл файл и назови его мой-ссш.
Конкретно 22 порт. Каждый сервис описан в xml файле конфига. Для кастомного ssh порта нужен свой конфиг или руками открывать порт (без описания сервиса).
Ну вот... опоздал) с телефона не перепроверил(
>сервер ssh повесил на порт 445566Будь уверен, к нему никто не получит доступ, ни при каких обстоятельствах.
Он гипотетически выражался. Но да, для повышения образованности стоит упомянуть, что максимальный порт ограничен размером integer.
Хе-хе.Размер номера порта ограничен uint16, т.е. 64K. Через это - боль и страдания, когда требуется больше соединений между двумя точками.
firewall-cmd --permanent --add-port=22/tcpДостаточно удобная штука особенно для всяких скриптов автоматизации
Когда будут пакеты в openSUSE Tumbleweed? Куда писать-жаловаться?
В Спортлото
Пробовал. Не помогло. Есть еще варианты?
Не сдавайся. Пиши еще раз, будь настойчив.
А что, этот Little Snitch прям так хорош, что потребовалось делать его открытый клон?
На вкус и цвет. Попробуй.
Напомнил мне по скриншоту Comodo Firewall. Во времена WinXP пользовался им. Полный контроль над соединениями.
OpenSnitch 1.6 крутая прога, жаль написана программистом, без опыт UI
Когда же в Линуксе начнут делать софт для людей, а не для программистов(
Так делайте сами. В этом же вся мяготка. Не хотите - возьмите готовое (macOS каокой-нибудь). А тут всегда будет как есть 😁
> Так делайте сами. В этом же вся мяготка. Не хотите - возьмите
> готовое (macOS каокой-нибудь). А тут всегда будет как есть 😁Ну вот так и будет Линукс в догоняющих, пока такие как ты будут.
Но ты будешь жаловаться но не писать. Зачем нам такие в линуксах?
> Но ты будешь жаловаться но не писать. Зачем нам такие в линуксах?Тебя спросить забыл.
Когда начнут в Т.З. писать: "сделать софт для людей"
Я бы ограничился первой частью: "Когда начут ТЗ писать" - а там, лет через несколько и "для людей" подтянется само собой )
> Я бы ограничился первой частью: "Когда начут ТЗ писать" - а там,
> лет через несколько и "для людей" подтянется само собой )40 лет жду(
1. Юзерам это вообще не нужно.
2. Не понятно зачем админам Хгуй, они что двмают кто то держат на серваках х ?
> 1. Юзерам это вообще не нужно.Нужно! И админ тоже юзер! Админу приятно в удобном интерфейсе работать!
> 2. Не понятно зачем админам Хгуй, они что двмают кто то держат
> на серваках х ?Был бы админом или близко к этому, то знал бы, что админы не только в консоле работают. Вообще админы разные бывают.
Гм. Строго наоборот - это нужно именно что юзерам и именно что на десктопе.
На сервере правила сетевого взаимодействия обычно достаточно строго определены и в случае сколько-нибудь приличной системы зафиксированы в эксплуатационной документации.
А вот что именно и в какой момент из околодесктопной бабуйни полезет в интернет после очередного обновления ("Мамой клянус! Для улушения дектоп экспириентц, юзер фриендлинесс еула-аваре телеметри, на которую ты сам согласился нажав ассепт два года назад!") тебе не то, что "юзер" - тебе ни один админ не скажет, и вот иметь возможность (не) сказать "Стопэ!" в моменте - сильно лучше, чем пускать все и даже чем "запрещать все" а потом пытаться разобраться, почему вооон то, что вроде как позавчера работало - сегодня работать отказывается.
> в случае сколько-нибудь приличной системы зафиксированы в эксплуатационной документациинет
Что, и в проектной - тоже нет? \Горько вздыхает\ Ну нет, так нет - что я, спорить буду? \уходит заниматься неприличными системами\
А софт делают для программистов?
Да
Подскажите, firewalld умеет блокировать исходящие подключения? Без direct rules, только на встроенных возможностях.
Нет, только через direct
Хорошо, хоть не электрон. Но и так понятно, что это всё прототип. Серьёзные вещи только на Си\Си++ пишут, либо на ассемблере (не шутка, Си реально в ассемблер сначала перегоняет).Скорее особенность firewalld в введении новой сущности - зоны.
> Си реально в ассемблер сначала перегоняетТочно не в язык рептилоидов?
gcc --save-temps myprogram.c -o myprogram1. Сначала обрабатывает #define #ifdef #include команды препроцессором, на выходе получаем новые исходники на Си
2. Перегоняет Си в ассемблер
3. Перегоняет ассемблер в машинный код
4. Линкует код (тут пока не разобрался ещё, вроде как ссылки на функции проверяет/меняет)
Не верно. Си перегоняется в AST, потом перегоняется в IR компилятора (к примеру LLVM IR) и дальше из него после оптимизаций генерируется машинный код. Учи матчасть.
> Не верно. Си перегоняется в AST, потом перегоняется в IR компилятора (к
> примеру LLVM IR) и дальше из него после оптимизаций генерируется машинный
> код. Учи матчасть.AST - это синтаксический анализ. Не знаю насчёт Си, но есть утилиты для подсветки синтаксиса, которые это используют AST вместо регулярок.
Про LLVM не знаю ничего, возможно он часть пункта перегона в ассемблер. И этот код ассемблера можно даже отдельно скомпилировать через gas (GNU Assembler) и потом слинковать через ld, как и случайный код ассемблера из интернета.
Накатил из deb пакета OpenSnitch v1.6.0 на Debian 12.0 Bookworm, вроде работает, настраивается, но гдето через час система зависла.