LINUX.ORG.RU

Избранные сообщения wandrien

Chawan 0.3.3 — текстовый веб-браузер и пейджер

 , , ,

Chawan 0.3.3 — текстовый веб-браузер и пейджер
Группа Open Source

Chawan — это текстовый веб-браузер и пейджер для Unix-подобных систем, ориентированный на реализацию современных веб-стандартов. При этом Chawan стремится быть самодостаточным, простым в использовании и расширяемым.

Он включает в себя такие функции, как CSS, встроенные изображения в терминале (включение этой функции – по желанию; нужно отредактировать конфигурацию) и JavaScript, реализуемые через небольшой независимый браузерный движок.

( читать дальше... )

>>> Chawan 0.3.3 (chawan.net)

greenman
()

Я тут свой язык создал

 , , , ,

Разумеется под linux и с открытой лицензией.
https://github.com/Alexander-Goto/scarlet
На ютубе выпустил видео с информацией о том что и как.
https://www.youtube.com/watch?v=YS5iPMOsico

Taetricus
()

Inferno64

 , inferno64, inferno-os,

Inferno64
Группа Open Source

Тихо и незаметно вышла распределенная операционная система Inferno64 – современная переработка классической ОС Inferno, ориентированная на 64-битные платформы (amd64/arm64) и запуск в том числе поверх Linux.

Проект позиционируется как «распределённая вычислительная среда нового поколения»: система объединяет разнородные устройства (старые ноутбуки, телефоны, десктопы) в единую peer-to-peer вычислительную сеть. В основе лежит классическая модель Inferno с файловым представлением ресурсов и протоколом 9P.

( читать дальше... )

>>> Сайт проекта (inferno64.org)

gagarin0
()

Kefir 0.5.1

 , c17, ,

Группа Разработка

Вышла новая версия компилятора Kefir для языка программирования Си. Kefir поддерживает стандарты C17 / C23, включая такие возможности, как:

  • комплексные числа _Complex;
  • десятичные числа _Decimal;
  • массивы переменной размерности на стеке VLA;
  • встроенный ассемблер;
  • генерация отладочных символов в формате DWARF5.

На текущий момент компилятор генерирует код под одну аппаратную платформу — System-V AMD64 ABI и реализованные на ней Unix-подобные операционные системы: Linux/glibc, Linux/musl, FreeBSD, OpenBSD, NetBSD и DragonflyBSD. Компилятор использует существующие сторонние компоновщик и ассемблер для целевой платформы. Kefir способен скомпилировать сам себя. Кроме того, он проходит набор тестов для gcc 15 и успешно собирает широкий набор ПО с открытыми исходными кодами. Компилятор поддерживает один уровень оптимизации.

Проект написан полностью «с нуля» в одиночку программистом Евгением Протопоповым и распространяется по лицензии GPL v3.

>>> Объявление о новой версии (protopopov.lv)

r--r--r--
()

Guile Scheme Web IDE

 , , ,

guIDE — полнофункциональная IDE для GNU Guile, работающая полностью в браузере. Компилирует и выполняет код Scheme с помощью среды выполнения Guile 3.0 WASM (Emscripten + pthreads), поэтому ничего устанавливать не нужно.

Характеристики:

  • IDE: Редактор с подсветкой синтаксиса (Tree-sitter + fallback lexer), файловый браузер, вкладки, функции поиска и замены, мини-карта.

  • Guile WASM Runtime: Поддерживает версию GNU Guile 3.0.11 и выше, скомпилированную в WebAssembly с поддержкой многопоточности.

  • Отладчик: Позволяет устанавливать точки останова, выполнять код пошагово и проверять значения переменных.

  • ИИ-помощник: Проверка кода, оценка заданий, диалоговая помощь.

  • Совместная работа в реальном времени: Синхронизация Yjs CRDT, курсоры в реальном времени, командный чат, блокировка файлов.

  • Более 15 SRFI: Включает множество стандартных расширений, таких как SRFI-1, 8, 9, 11, 13, 16, 26, 28, 39, 41, 43, 64, 69 и другие.

  • Система расширений: Поддерживает Pure Scheme расширения с 7 типами аннотаций (команды, темы, грамматики, среды выполнения, LSP, модули, преобразования).

  • Торговая площадка: Пользователи могут публиковать, делиться и устанавливать расширения, созданные сообществом.

  • Git Sync: Функции отправки и получения изменений в удаленных репозиториях с обнаружением конфликтов.

  • Сквозное шифрование: Использует AES-256-GCM для шифрования файлов проекта на стороне клиента.

  • API для разработчиков: Предоставляет REST и GraphQL-эндпоинты, поддержку OAuth2 и персональные токены доступа, а также SDK для различных языков, включая JavaScript, Python, PHP и Scheme.


Предупреждение: большая часть этого приложения написана с помощью ИИ.

Ссылка
Исходный код

Перемещено hobbit из development

err
()

По волнам нашей юности...

 , ,

Недавно я подумал, что интерфейсы современных Линуксов очень давно оторвались от корней. Все эти бездуховные, новомодные Опенбоксы, БСПВМ-ы и прочая ересь с реддитовского Юникс-порна заполонила местную галерею… И мы уже совсем забыли, как выглядели суровые Ъ-интерфейсы прошлого, глядя в которые, древние сисадмины роняли крошки с бутерброда прямо в бороду. Старики вспоминают редко, а молодёжь только и знает, что использует новый Гном с излишне закруглёнными углами. Я решил исправить это досадное недоразумение и накатить… тему Голубая Курва, прямо на свой XFCE4.

Заранее прошу прощения за моветон на обоях.

Дополнение: тему окон лучше взять отсюда. Тогда всё будет выглядеть ещё более лампово.

densss
()

Новости FPDoom: поддержка 4G телефонов на чипе UMS9117

 , , , ,

Новости FPDoom: поддержка 4G телефонов на чипе UMS9117
Группа Игры

FPDoom – проект, позволяющий запустить классический Doom, его дополнения и другие портированные игры на очень распространённом на дешевых кнопочных телефонах чипе Spreadtrum SC6531 и его модификациях. Проект содержит порты ванильного Doom, а также Duke3D, Shadow Warrior, Blood, Wolfenstein 3D и порт InfoNES.

Порты выполнены в виде приложений bare-metal, запускаемых через свой загрузчик (добавляется в прошивку, загружает игры с SD-карты). Устанавливается на современные кнопочные телефоны с чипами Spreadtrum SC6530/SC6531, что составляет более половины предложений на российском рынке. Список протестированных моделей и ссылка на описание загрузки приведены в Readme.

( читать дальше... )

>>> Исходный код (github.com)

jpegqs
()

WTF в XFCE

 ,

Решил почистить и починить звук мусор в Арче, но немного офигел от XFCE (4.20, обновления от среды). Оно периодически спаунит пакеты по 2 процесса bwrap и glycin-loaders при некоторых переключениях окон или открытии системного меню или трогании панели. Процессы висят как дочерние тех, чьи окна были затронуты. Ситуация мягко скажем нестандартная и дикая.

По итогу цензурных слов просто нет. Ой дебилы...

kirill_rrr
()

Наконец-то нормальный способ (кросс-)компиляции под старые glibc

 , , ,

Делюсь находкой: в языке программирования zig есть встроенный кросс-компилятор C и C++ под разные архитектуры, а также возможность указания версии символов glibc (от 2.16: Debian 8+, Ubuntu 13.10+, CentOS 7, Fedora 18+).

zig cc / zig c++ обечпечивает режим совместимости с вызовом cc и cpp.

Иными словами, этими командами можно безболезненно:

  1. Кросс-компилировать (и архитектуры, и ОС, т.е. под Windows и macOS из Linux) без заморочек с sysroot’ами
  2. Собирать современный код (C23, C++23) под дистрибутивы последних 10 лет выпуска

Ранее для этого либо собирали кросс-компилятор со старым glibc, либо использовали различные костыли по замене хедеров glibc (bingcc, glibc_version_header), либо патчили, либо собирали на старых ОС вроде CentOS 7 (благо там можно установить свежие компиляторы).

Теперь же можно:

$ gcc -o hello_gcc hello.c
$ nm -D hello_gcc
                 w __gmon_start__
                 U __libc_start_main@GLIBC_2.34 ←←← минимум glibc 2.34
                 U puts@GLIBC_2.2.5

$ zig cc -o hello_zig hello.c
$ nm -D hello_zig
                 w __gmon_start__
                 U __libc_start_main@GLIBC_2.34 ←←← минимум glibc 2.34
                 U puts@GLIBC_2.2.5

$ zig cc -target x86_64-linux-gnu.2.16 -o hello_zig hello.c
$ nm -D hello_zig
                 U __libc_start_main@GLIBC_2.2.5 ←←← минимум glibc 2.2.5
                 U puts@GLIBC_2.2.5

# И даже под Windows @ ARM64
$ zig cc -target aarch64-windows -o hello_zig hello.c
$ file hello_zig
hello_zig: PE32+ executable for MS Windows 6.00 (console), ARM64, 7 sections

# Или вообще с musl libc
$ zig cc -target aarch64-linux-musl -o hello_zig hello.c
$ file hello_zig
hello_zig: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, with debug_info, not stripped
ValdikSS
()

PlutoBook 0.10.0

 , , , ,

PlutoBook 0.10.0
Группа Разработка

Состоялся выпуск 0.10.0 библиотеки PlutoBook, предназначенной для рендеринга документов HTML и XML с применением таблицы стилей CSS и распределением элементов по одной или нескольким страницам, которые затем могут быть преобразованы в растровые изображения или документы PDF.

Библиотека использует собственный движок рендеринга (на базе Cairo) и не зависит от таких движков, как Chromium, WebKit или Gecko.

Движок разработан с учётом требований надежности, легковесности и эффективности использования памяти, с использованием современных возможностей C++, таких как std::pmr::monotonic_buffer_resource, для минимизации фрагментации памяти и оптимизации производительности её выделения.

В комплект поставки входят консольные утилиты html2pdf и html2png. Проект написан на языке C++ (стандарт C++20) и распространяется по лицензии MIT.

На базе библиотеки авторами также разрабатывается Python-библиотека PlutoPrint (примеры использования: plutoprint-samples).

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

Свободный WYSIWYG html редактор?

 , ,

Нужен сабж для ваяния статического html (персональный рабочий сайт), без всяких свистелок, чисто утилитарная вещь.

Когда то был kompozer но он кажись RIP. Сейчас есть что то подобное? В html я полный нуб и заныривать туда не собираюсь, мне просто мышкой накидать картинки/текст и выложить результат по ssh.

Попробовал через libreoffice - верстка не держится, да и не люблю я его.

Можно конечно через latex сделать, но это как то чересчур уже будет…


Пока что в MD делаю при помощи ghostwriter, куда деваться… ;-(

AntonI
()

Уязвимость в Linux позволяет внедрять вредоносный код через Initramfs

 , ,

Группа Безопасность

Исследователи кибербезопасности обнаружили «критическую» уязвимость в Linux, дающую злоумышленникам полный доступ к системе даже при использовании полного шифрования диска.

Отчёт, опубликованный компанией ERNW, демонстрирует эксплуатацию уязвимости в Ubuntu 25.04 и Fedora 42.

Злоумышленник с физическим доступом к системе Linux может получить отладочную (debug) оболочку, просто несколько раз подряд введя неправильный пароль для расшифровки. В Ubuntu достаточно нажать Esc на экране ввода пароля, ввести несколько комбинаций клавиш для того, чтобы появилась отладочная оболочка. Именно через неё атакующий может скомпрометировать зашифрованную систему.

Злоумышленник может подключить USB-накопитель с инструментами для изменения initramfs (Initial RAM File System — временная файловая система, используемая при загрузке для подготовки основной ОС). Поскольку initramfs не подписан, модификация не вызывает срабатывания механизмов защиты.

При следующей загрузке, когда владелец введёт правильный пароль, вредоносный код выполнится с повышенными привилегиями. Это позволит злоумышленнику: похищать данные, получать удалённый доступ для мониторинга системы, запускать кейлоггер или выполнять другие действия.

Исследователи подчёркивают, что это не баг и не ошибка, а скорее «упущение» и «слепое пятно» в архитектуре некоторых дистрибутивов Linux. Отладочная оболочка полезна для пользователей, но злоумышленники могут её использовать в своих целях.

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

Кроме того, метод, описанный ERNW, требует заранее подготовленной USB-флешки со скриптами и инструментами для модификации initramfs, внедрения вредоносного кода и его перепаковки, чтобы процесс загрузки прошёл без ошибок.

Поскольку для этого нужны навыки и подготовка, случайные злоумышленники вряд ли смогут воспользоваться уязвимостью. Риск оправдан только при атаке на важные цели — бизнес, IT-инфраструктуру, активистов или политиков.

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

>>> Статья на сайте OMG!Ubuntu (omgubuntu.co.uk)

basilic
()

Мои проги на PureBasic

 , ,

Если у кого есть желание ознакомится можете скачать архив прог (53Мб), в комплекте общая справка по прогам в CHM со скриншотами. Можно посмотреть её в онлайн

В комплекте исходники и можно их скомпилировать. Для Linux собраны 3 варианта пакетов deb (Mint-x64 и MX-x86), rpm (Fedora), zst (Arch), и исполняемые для Raspberry-x32, и есть отдельно архив для Андроида Можете посмотреть видео о PureBasic на моём ютуб канале

Перемещено dataman из development

AZJIO
()

Основы реверс-инжиниринга Android-приложений

 ,

Основы реверс-инжиниринга Android-приложений

Как известно, Android — это тоже Linux, основной особенностью которого является то, что он позволяет устанавливать приложения только на Java/Kotlin в формате apk, запускаемые через свою реализацию JVM — своего рода песочницу. Раз уж это Linux, то и запускать его можно через стандартные средства — LXC-контейнеры, как это делается в том же Waydroid. Главный плюс такого подхода в отличие от реального устройства — полный доступ к файловой системе, что эквивалентно рут-доступу. На реальном устройстве получить рут-права с помощью Magisk несложно, но это приводит к утрате данных вместе с ключом шифрования от sd-карты, хотя их можно и восстановить, если был бекап. Однако большей проблемой является то, что из-за этого перестают запускаться те же банковские приложения…

( читать дальше... )

rtxtxtrx
()

libmlk v1.0.0

 , ,

Группа Open Source

Разработчица из Японии, создательница AzPainter и одна из наиболее квалифицированных современных программистов, известная в сети как Azel, опубликовала релиз 1.0.0 перспективного легковесного графического тулкита mlk, лежащего в основе AzPainter, AzFontViewer, AzImgView и других программ.

Mlk, начинавшийся как минимальная надстройка над Xlib, теперь также поддерживает opengl и wayland.

( читать дальше... )

>>> Скриншоты программ

>>> Страница mlk на сайте Azel

>>> Исходный код на gitlab (gitlab.com)

zombi_pony
()

На самом деле, UB оказалось не нужно

 , , ,

Привет, ЛОР!

Как тебе известно, языки Си и Си++ кишат неопределённым поведением, случаи которого вызывают много боли у программистов на этих языках. Обычно это оправдывается возможностью для оптимизаций, но почему-то никто не был в состоянии привести примеры того, насколько связанные с неопределённым поведением оптимизации действительно улучшают производительность кода. До нынешнего момента.

Исследователи из университета Бухареста и технического университета Лиссабона провели испытания с инструментарием LLVM, в котором была отключена эксплуатация UB, и оказалось, что производительность кода в результате изменилась крайне незначительно, а в некоторых случаях даже улучшилась. В дополнение, в случаях, где без эксплуатации UB производительность просела, можно зачастую было применить другие оптимизации, спасающие ситуацию.

Ссылка: https://web.ist.utl.pt/nuno.lopes/pubs/ub-pldi25.pdf

В общем, по всему выходит, что тысячи и тысячи людей уже десятки лет страдают абсолютно зря, и все эти ужасы на самом деле были абсолютно впустую. Такие дела, ЛОР.

hateyoufeel
()

РОСА Сервер 13.0 — легкий, гибкий и мощный!

 , ,

РОСА Сервер 13.0 — легкий, гибкий и мощный!
Группа Linux в России

Команда РОСА рада представить вам РОСА ФРЕШ Сервер 13.0 — новый продукт на 13-й платформе, созданный для энтузиастов и любителей Linux!

Что это? Это компактный Linux-сервер с текстовым интерфейсом, который можно развернуть где угодно: в уголке вашей сети, на виртуальной машине или даже на старом железе. Всего 1 ГБ оперативной памяти (при использовании текстового инсталлятора) и 10 ГБ диска (будет свободно больше половины) — и у вас есть основа полноценного сервера для раздачи файлов, управления домашним доменом или экспериментов!

( читать дальше... )

>>> Скачать с нашего зеркала (rosalinux.ru)

keleg
()

А у вас все работает идеально?

 

Субботнее размышление под вискарем.

Наша жизнь многогранна, но так или иначе львиная ее доля происходит в контакте с техникой, чаще всего даже цифровой, а у нас с вами, имею в виду ЛОР - не только в контексте потребления, но еще и в контексте созидания\изменения.

Словил себя на мысли, что не проходит и дня, чтобы то что должно сработать - не срабатывает.

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

3D-принтер. Заводское сопло, вкрученное в заводской хотенд, надетый на заводской экструдер, куда входит заводской PLA, печатающий с температурой написанной на бобине, и параметрами установленными производителями. Забивается сопло. Выкручиваем, чистим, ставим, снижаем температуру ниже чем написано на бобине.

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

Автоматическая кофе-машина. Ставим чашку, нажимаем кнопку, оно мелет кофе, всасывает воду, понимает что воды недостаточно, отменяет чашку кофе, и рапортует что воды нет. Вы мрази не могли повешать датчик на пять сантиметров выше, чтобы воды оставалось как минимум на чашку? Выливаем, доливаем, засыпаем заново.

Мышка. Прокручиваем колесико вниз, скролл делается один вниз, пять вверх. Че, нельзя было поставить нормальный оптический энкодер, ценой аж на 25 центов дороже механического? Заказываем новую.

Компьютер. Выключился. Точнее как оказалось, потух. Сперва не сообразил, потом понял. Системный блок предназначенный для вертикальной установки, поставил вертикально на ковролин. Вентиляционные отверстия перекрылись, кулер гоняет горячий воздух. Вы кретины не могли сделать резинки выше на 2 см, или поставить кулер на боковую панель?

Сенсорный выключатель. Не выключается когда работает гибридный инвертор. И на том и на другом написано «220» и стоят заводские пломбы. О том что выключатель не работает с инверторами, или инвертор с выключателями - нигде не написано.

ESP32C3 mini. Дырка USB Type-C. Комплектный шнур. USB-гнездо в котором работает всё. В 40% заливки скетча - A serial exception error occurred: Write timeout. Перетык, перезалив.

Работа. Миграция. Простой домен, Plesk и там и там. Кнопка «Получить сертификат» (от LetsEncrypt) возвращает ошибку, потому что видите ли у домена есть AAAA запись (неотключаемая на Cloudflare). Другие ГУИ и certbot срабатывают нормально, на этом же сервере, на этом же домене, т.е. проблема не CF, не сервера, не моя, а сраного Плеска. Отключаем проксирование на стороне CF, светим серверный IP, в общем костылим.

Хобби. Программирую железку. printf(somevar) - 0.1, но if (somevar==0.1) не срабатывает, потому что видите ли (float)1.1-1.0 может быть 0.100000023, хотя в нормальных ЯП операции сравнения - самое простое что только может быть.

Фирменный макбук с фирменной зарядкой, вставленной в фирменную розетку с фирменным работающим заземлением - бьет током. Я даже где-то не против, но верните мне хотя бы 20$ за присутствующее, но не работающее заземление.

Тостер. Жарю хлебушек, клац, дзынь, хлебушек не вылезает. Производитель тостера сделал острые грани у щелей, и чтобы хлебушек вылез - он должен располагаться под углом точно 90 градусов, что не реально.

Хобби. Программирую с использованием GTK. Здесь комментарии излишни.

И это только приключения одного дня.

Скажите, а у вас все так же глючит, или мне надо править карму?

windows10
()

PlutoVG 1.0.0

 , , ,

Группа Разработка

11 марта состоялся первый значительный выпуск 1.0.0 библиотеки двухмерной векторной графики PlutoVG, написанной на языке C и распространяемой по лицензии MIT. У библиотеки нет сторонних зависимостей.

Возможности библиотеки:

  • стили рисования линий;
  • сплошное, градиентное и текстурное закрашивание;
  • шрифты и текст;
  • обрезка и композиция;
  • трансформации;
  • изображения.

( читать дальше... )

>>> Список изменений на GitHub (github.com)

dataman
()

Создан патч, возвращающий прокрутку в ядерную консоль

 ,

Извиняюсь за ссылку на ютуб, но сабж.

И это даже не первый вызов Линусу-Горынычу - за неделю до этого данным вопросом занялся небезызвестный Рене Ребе. И в отличие от британца опубликовал код.

Эх, придется мне таки настроить сборку патченных ядер, а то уже двух вещей жутко не хватает - пингвинов и вог этого.

token_polyak
()