Forwarded from Nexi's channel
https://github.com/the-nexi/yggtray
Некоторое время работаю над Yggtray - утилитой для управления демоном оверлейной сети Yggdrasil для GNU/Linux.
Yggdrasil - по сути одна большая общемировая локальная ipv6 сеть, работающая поверх интернета, внутри которой все устройства видят друг друга, как если бы все они имели белый IP адрес без NAT. Это позволяет, например, беспрепятственно подключаться к домашнему серверу из другой сети, причем всем у кого настроен Yggdrasil.
В Yggdrasil реализовано транспортное шифрование на уровне протокола, так что даже если приложение не имеет свое SSL шифрование, данные будут зашифрованы в процессе передачи. В отличии от TOR или I2P, Yggdrasil не направлен на анонимность, и поэтому работает быстро.
Надеюсь Yggtray будет кому-то полезен, жду багрепорты и feature requests!
Некоторое время работаю над Yggtray - утилитой для управления демоном оверлейной сети Yggdrasil для GNU/Linux.
Yggdrasil - по сути одна большая общемировая локальная ipv6 сеть, работающая поверх интернета, внутри которой все устройства видят друг друга, как если бы все они имели белый IP адрес без NAT. Это позволяет, например, беспрепятственно подключаться к домашнему серверу из другой сети, причем всем у кого настроен Yggdrasil.
В Yggdrasil реализовано транспортное шифрование на уровне протокола, так что даже если приложение не имеет свое SSL шифрование, данные будут зашифрованы в процессе передачи. В отличии от TOR или I2P, Yggdrasil не направлен на анонимность, и поэтому работает быстро.
Надеюсь Yggtray будет кому-то полезен, жду багрепорты и feature requests!
Технологический Болт Генона
В эти выходные прошёл FOSDEM 2024. FOSDEM я нежно люблю и стараюсь отслеживать, что там происходит, просматриваю много докладов, смотрю интересные проекты и так далее. Записи выкладываются максимально быстро и доступны тут https://video.fosdem.org/2024/…
1 февраля начинается FOSDEM 2025
Обожаю это мероприятие. Даже не знаю как назвать сие действо, потому что это больше чем просто конфа.
> This edition features 1158 speakers, 1095 events, and 79 tracks.
Семьдесят девять треков!
Полный список
https://fosdem.org/2025/schedule/events/
Этот же список, но сгруппированный по тематике (там чего только нет, начиная от Ada и NixOS и заканчивая LLVM и железными дорогами)
https://fosdem.org/2025/schedule/tracks/
Список на все трансляции доступен тут
https://fosdem.org/2025/schedule/streaming/
Обожаю это мероприятие. Даже не знаю как назвать сие действо, потому что это больше чем просто конфа.
> This edition features 1158 speakers, 1095 events, and 79 tracks.
Семьдесят девять треков!
Полный список
https://fosdem.org/2025/schedule/events/
Этот же список, но сгруппированный по тематике (там чего только нет, начиная от Ada и NixOS и заканчивая LLVM и железными дорогами)
https://fosdem.org/2025/schedule/tracks/
Список на все трансляции доступен тут
https://fosdem.org/2025/schedule/streaming/
This media is not supported in your browser
VIEW IN TELEGRAM
Ждём, когда запустят DoomPDF в LinuxPDF
Представлен проект LinuxPDF — Linux в PDF в браузере
https://habr.com/ru/news/878542/
GitHub
https://github.com/ading2210/linuxpdf
Demo
https://linux.doompdf.dev/linux.pdf
Он же в прошлом году запускал DOOM на POS-терминале
https://www.tgoop.com/tech_b0lt_Genona/4308
А недавно в PDF
https://github.com/ading2210/doompdf
Разработчик под ником ading2210 представил проект LinuxPDF — Linux в PDF в браузере. Проект открывается только в браузерах на базе Chromium, использующих движок PDFium. Код написан на C и опубликован на GitHub по лицензией GNU General Public License v3.0.
«Это Linux, работающий внутри PDF‑файла через эмулятор RISC‑V, основанный на TinyEMU», — пояснил автор решения.
. . .
Полная спецификация для JS в PDF была реализована только Adobe Acrobat, и она содержит некоторые нелепые вещи, такие как возможность выполнять 3D-рендеринг, делать HTTP-запросы и обнаруживать каждый монитор, подключенный к системе пользователя. Однако в Chromium и других браузерах была реализована только крошечная часть этого API из-за очевидных проблем безопасности. Благодаря этому мы можем выполнять любые вычисления, которые захотим, просто с очень ограниченным вводом-выводом.
Код C можно скомпилировать для запуска в PDF с использованием старой версии Emscripten, которая нацелена на asm.js вместо WebAssembly. С его помощью я могу скомпилировать модифицированную версию эмулятора TinyEMU RISC-V в asm.js, который можно запустить в PDF. Для ввода и вывода я повторно использовал тот же код отображения, который я использовал для DoomPDF. Он работает, используя отдельное текстовое поле для каждой строки пикселей на экране, содержимое которого задаётся различными символами ASCII. Для ввода есть виртуальная клавиатура, реализованная с кучей кнопок, и текстовое поле, в котором вы можете ввести текст, чтобы отправить нажатия клавиш в виртуальную машину.
Самая большая проблема здесь связана с производительностью эмулятора. Например, ядру Linux требуется около 30-60 секунд для загрузки в PDF, что более чем в 100 раз медленнее, чем обычно. К сожалению, нет способа исправить это, поскольку версия V8, которую использует движок PDF Chrome, имеет отключённый JIT-компилятор, что разрушает его производительность.
Для корневой файловой системы возможны как 64-, так и 32-битные версии. По умолчанию используется 32-битная система buildroot (которая была предварительно собрана и взята из оригинальных примеров TinyEMU), а также 64-битная система Alpine Linux. Однако 64-битный эмулятор примерно в два раза медленнее, поэтому обычно он не используется.
Представлен проект LinuxPDF — Linux в PDF в браузере
https://habr.com/ru/news/878542/
GitHub
https://github.com/ading2210/linuxpdf
Demo
https://linux.doompdf.dev/linux.pdf
Он же в прошлом году запускал DOOM на POS-терминале
https://www.tgoop.com/tech_b0lt_Genona/4308
А недавно в PDF
https://github.com/ading2210/doompdf
Подписчик канала решил запилить проект под Podman.
Слово автору (@al_nerd)
----
Нужда возникла из-за проблем с запуском compose-файлов через Podman, с помощью Testcontainers (там используется deprecated-api докера).
Основная идея — использовать
Для того что бы хоть что-то сделать, пришлось сгенерировать API по спецификации libpod, но т.к. там неимоверное количество ошибок, спецификацию приходится допиливать вручную, а это довольно долго и муторно.
В итоге, в спеку был добавлен минимальный набор нужных правок, сгенерирован нужный код, тоже минимально доправлен... И оформлен как отдельный пакет.
Так же реализован базовый функционал для запуска подов через k8s спеку (но не задеплоен):
- Создание/удаление подов по спеке.
- Автоматическая очистка ресурсов.
- Автоматический маппинг портов.
Сейчас хотелось бы найти единомышленников, с которыми можно было бы развить этот проект во что-то стоящее.
- Самое главное — OpenAPI спецификация, полностью привести её в актуальный вид.
- Привести в порядок репозиторий, т.к. есть вопросы к его ведению.
- Реализовать нормальные SDK по этой спецификации, для начала для Java, потом можно и для других языков.
- Подумать над расширением функционала Testcontainers, с целью использования c нативным подманом.
- Влажная фантазия: сделать хоть что-то, с чем можно прийти к разработчикам подмана и уговорить их сперва писать спецификацию, а по ней уже писать код.
Времени свободного очень мало, но час-два в неделю стараюсь выделять.
---
Ссылка на проект
https://github.com/pod4dev
Так что кому нужна подобная функциональность или хочет и может поддержать проект, то присоединяйтесь.
Чатик по Podman - @ru_podman
Слово автору (@al_nerd)
----
Нужда возникла из-за проблем с запуском compose-файлов через Podman, с помощью Testcontainers (там используется deprecated-api докера).
Основная идея — использовать
/play/kube
как альтернативу compose-файлам (хотя тоже есть ограничения, например за уникальностью имён подов, пока что, приходится следить вручную).Для того что бы хоть что-то сделать, пришлось сгенерировать API по спецификации libpod, но т.к. там неимоверное количество ошибок, спецификацию приходится допиливать вручную, а это довольно долго и муторно.
В итоге, в спеку был добавлен минимальный набор нужных правок, сгенерирован нужный код, тоже минимально доправлен... И оформлен как отдельный пакет.
Так же реализован базовый функционал для запуска подов через k8s спеку (но не задеплоен):
- Создание/удаление подов по спеке.
- Автоматическая очистка ресурсов.
- Автоматический маппинг портов.
Сейчас хотелось бы найти единомышленников, с которыми можно было бы развить этот проект во что-то стоящее.
- Самое главное — OpenAPI спецификация, полностью привести её в актуальный вид.
- Привести в порядок репозиторий, т.к. есть вопросы к его ведению.
- Реализовать нормальные SDK по этой спецификации, для начала для Java, потом можно и для других языков.
- Подумать над расширением функционала Testcontainers, с целью использования c нативным подманом.
- Влажная фантазия: сделать хоть что-то, с чем можно прийти к разработчикам подмана и уговорить их сперва писать спецификацию, а по ней уже писать код.
Времени свободного очень мало, но час-два в неделю стараюсь выделять.
---
Ссылка на проект
https://github.com/pod4dev
Так что кому нужна подобная функциональность или хочет и может поддержать проект, то присоединяйтесь.
Чатик по Podman - @ru_podman
Технологический Болт Генона
Подписчик канала решил запилить проект под Podman. Слово автору (@al_nerd) ---- Нужда возникла из-за проблем с запуском compose-файлов через Podman, с помощью Testcontainers (там используется deprecated-api докера). Основная идея — использовать /play/kube…
Я тут подумал, что если у вас, дорогие подписчики и не только, есть какой-то проект (+/- релевантный с тематикой канала: железо, код, журналы, инфраструктура, игры и т.д. и т.п.), то пишите мне в личку @rusdacent, я буду рассказывать о них. Мне оно не сложно, а вдруг кому-то полезно и интересно будет.
Днём проектов объявляю четверг!
Так что если чего будет публиковать, то по четвергам буду выкладывать посты о вас и ваших проектах ❤️
Давно хотел такое заанонсить, но чего-то всё забывал, а тут и момент подходящий.
Днём проектов объявляю четверг!
Так что если чего будет публиковать, то по четвергам буду выкладывать посты о вас и ваших проектах ❤️
Давно хотел такое заанонсить, но чего-то всё забывал, а тут и момент подходящий.
Что-то как-то в рунете тишина по поводу поста от Linux Foundation, который касается санкций и Open Source, а он реально важный. Ни OpenNet, ни LOR ничего о нём не рассказали в новостях своих.
Navigating Global Regulations and Open Source: US OFAC Sanctions
https://www.linuxfoundation.org/blog/navigating-global-regulations-and-open-source-us-ofac-sanctions
Если кратко, то пока не будет конкретных разъяснений от compliance, то лучше с патчами от подозрительных контрибьюторов не связываться
Очень рекомендую всем интересующимся прочитать пост полностью, это практически "документ эпохи".
UPD
Появилась на OpenNet
Рекомендации Linux Foundation по соблюдению санкций в открытых проектах
https://www.opennet.ru/opennews/art.shtml?num=62663
Navigating Global Regulations and Open Source: US OFAC Sanctions
https://www.linuxfoundation.org/blog/navigating-global-regulations-and-open-source-us-ofac-sanctions
Если кратко, то пока не будет конкретных разъяснений от compliance, то лучше с патчами от подозрительных контрибьюторов не связываться
Sanctioned entities might try to contribute indirectly through third parties or developers acting "individually." Developers should understand other contributors' affiliations and raise any concerns with their community and legal counsel. For example, if in the prior example, AcmeSDN paid a developer in a country not subject to sanctions to make the driver contribution enabling AcmeSDN’s processor, that would still likely be an issue. A common pattern is that an SDN’s developer is blocked from making a contribution, but then a very similar (or the same) patch is submitted to the project from another account or email address. It could be an anonymous email account. Just because the contributor has been obfuscated does not change an assessment of the situation.
Очень рекомендую всем интересующимся прочитать пост полностью, это практически "документ эпохи".
UPD
Появилась на OpenNet
Рекомендации Linux Foundation по соблюдению санкций в открытых проектах
https://www.opennet.ru/opennews/art.shtml?num=62663
Технологический Болт Генона
Героев Меча и Магии III в браузере Наконец то мы с @caiiiycuk (проект Dos.Zone) готовы с радостью представить долгожданных браузерных Героев Меча и Магии 3 о которых я рассказывал последний месяц. Особенности проекта: - Кроссплатформенность и поддержка практически…
Please open Telegram to view this post
VIEW IN TELEGRAM
Технологический Болт Генона
1 февраля начинается FOSDEM 2025 Обожаю это мероприятие. Даже не знаю как назвать сие действо, потому что это больше чем просто конфа. > This edition features 1158 speakers, 1095 events, and 79 tracks. Семьдесят девять треков! Полный список https://fo…
Начали выкладывать доклады с FOSDEM 2025 (https://video.fosdem.org/2025/)
И вот первый доклад про который хотелось бы рассказать
Называется он
Fuzzing databases is difficult (презентацию скину в комменты)
https://mirrors.dotsrc.org/fosdem/2025/ud6215/fosdem-2025-6478-fuzzing-databases-is-difficult.mp4
Речь идёт про подсистему фаззинга, которую затащили в ClickHouse - BuzzHouse
Сначала идёт рассказ про проблематику нахождения ошибок в базах данных, после этого описывается AST Fuzzer, который был разработан командой ClickHouse.
Основные моменты я прицепил слайдами к посту
Если посмотреть на репу, то там прям активная работа идёт с ним и вокруг него
https://github.com/ClickHouse/ClickHouse/pulls?q=Buzzhouse
Запись в блоге ClickHouse от докладчика (Pedro Ferreira)
BuzzHouse: Bridging the database fuzzing gap for testing ClickHouse
https://clickhouse.com/blog/buzzhouse-bridging-the-database-fuzzing-gap-for-testing-clickhouse
Небольшой пост на русском
Фаззинг-тестирование ClickHouse с BuzzHouse
https://bigdataschool.ru/blog/news/clickhouse/clickhouse-fuzzing-testing-with-buzzhouse.html
И вот первый доклад про который хотелось бы рассказать
Называется он
Fuzzing databases is difficult (презентацию скину в комменты)
https://mirrors.dotsrc.org/fosdem/2025/ud6215/fosdem-2025-6478-fuzzing-databases-is-difficult.mp4
Речь идёт про подсистему фаззинга, которую затащили в ClickHouse - BuzzHouse
Сначала идёт рассказ про проблематику нахождения ошибок в базах данных, после этого описывается AST Fuzzer, который был разработан командой ClickHouse.
Основные моменты я прицепил слайдами к посту
Если посмотреть на репу, то там прям активная работа идёт с ним и вокруг него
https://github.com/ClickHouse/ClickHouse/pulls?q=Buzzhouse
Запись в блоге ClickHouse от докладчика (Pedro Ferreira)
BuzzHouse: Bridging the database fuzzing gap for testing ClickHouse
https://clickhouse.com/blog/buzzhouse-bridging-the-database-fuzzing-gap-for-testing-clickhouse
Небольшой пост на русском
Фаззинг-тестирование ClickHouse с BuzzHouse
https://bigdataschool.ru/blog/news/clickhouse/clickhouse-fuzzing-testing-with-buzzhouse.html