Представлен локальный и бесплатный сервис BentoPDF для работы с PDF. Вся обработка происходит в браузере. Умеет объединение, разделение, поворот, удаление страниц и кроппинг, а также в нём можно быстро добавить вотермарку, сделать нумерацию страниц и поменять текст в файлах. При этом бесплатно, без лимитов и даже регистрацию не просят.
Скрипт устанавливает и настраивает dumbproxy c TLS-сертификатами от LetsEncrypt, выпущенными прямо на IP-адрес сервера, без домена.
Настройка браузеров и прочих клиентов уже обсуждалась в одной из предыдущих статей. Добавлю только, что на сегодняшний день в качестве клиента для Android я бы выбрал NekoBox.
Обновлён проект Python Scripts, где более 60 Python-скриптов для любых задач, включая алгоритмы по парсингу, работе с видео и фото, клонированию сайтов, скачиванию с сайтов и другие популярные решения.
Открытый проект mail2telegram позволяет перенаправляет электронную почту сразу в Telegram. Можно настроить фильтры пересылки, выбрать группу, в которую будут падать письма и автоматом отсеивать весь спам.
Обновлён сборник твикеров, кастомайзеров и проверенных системных решений для Windows под названием System Tools. База данных проект включает ссылки на популярные и полезные утилиты для очистки, твика, удалённого доступа, мониторинга, виртуальных машин, менеджеров дисков, периферии и аудио в системе.
Состоялся первый мажорный релиз открытого проекта для шифрования текста и файлов Stirlitz. Программа написана на языке С++ и распространяется под лицензией GPLv3. Приложение адаптировано для работы в операционных системах семейства Linux, Windows и Android. Для пользователей Arch Linux в AUR доступен сценарий сборки пакета. Для пользователей Windows доступен экспериментальный инсталлятор. Для пользователей Android доступен экспериментальный пакет в формате apk.
Основные возможности Stirlitz 1.0:
Шифрование текста и файлов для передачи через любые каналы публичной связи (мессенджеры, e‑mail сообщения и тому подобное). Шифрование осуществляется на базе публичных ключей (алгоритм Ed25519) и алгоритма шифрования AES256.
Шифрование файлов для локального хранения. Шифрование осуществляется через задание имени пользователя и пароля с использованием алгоритма AES256.
Создание шифрованных профилей для хранения ключей, используемых для обмена сообщениями через публичные каналы связи.
Создание одноразовых профилей: ключи хранятся в защищённой памяти, выделяемой с помощью библиотеки libgcrypt, и уничтожаются после выхода из профиля или закрытия программы.
Криптографические функции вынесены в отдельную библиотеку stirlitz, которая может быть собрана и использоваться полностью независимо.
Для библиотеки stirlitz доступна документация в формате html.
Звёзды разработки и практикующие инженеры разбирают горячие темы — от FAIL до GOD. Встречайте tech-шоу «АйТир Лист» от МойОфис.
В нашем шоу мы берём одну область в разработке, выбираем самые обсуждаемые технологии, практики и подходы — и раскладываем их по шкале от FAIL до GOD. Формат простой: эксперты защищают свои позиции, спорят, соглашаются и не соглашаются. 14 табличек, 14 поводов для споров и честный экспертный рейтинг без попытки всем понравиться.
Дебютный эпизод мы посвятили популярным опенсорс-решениям для фронтенда: от инструментов, которые давно пора отпускать, до стандартов индустрии.
В выпуске:
Александр Коротаев — эксперт по фронтенду и креативному кодингу
Алексей Золотых — тимлид команды веб-редакторов МойОфис
Ведущий — Эдгар Акопян
Обсуждаем инструменты, которые формируют повседневную фронтенд-разработку, и честно отвечаем на вопрос: что сегодня выглядит как GOD-tier, а что застряло на уровне MVP или FAIL.
Во втором эпизоде «АйТир Листа» — уже не инструменты, а язык. Мы устроили полноценную битву мнений вокруг фич и идиом C++: 14 табличек превращаются в 14 поводов для дебатов, где каждая возможность языка проходит через экспертную оценку.
В выпуске:
Данил Черепанов — архитектор редакторов МойОфис
Антон Полухин — эксперт-разработчик C++ техплатформы городских сервисов Яндекс
Ведущий — Эдгар Акопян
Получилось много споров, неожиданных аргументов и ситуаций, где «привычно» не значит «хорошо».
В следующих выпусках продолжим разбирать технологии без скидок на хайп и «так исторически сложилось». Предлагайте темы, а если готовы к жарким спорам – становитесь участниками нашего шоу) А как стать? Пишите в комменты с какой темой бы хотели поспорить!
IMPulse - Open Source менеджмент инцидентов. Freeze, Jira, ChatOps
Прошло достаточно времени с прошлой публикации: мы добавили много нового и хотим поделиться этим и нашими планами.
Из нового
У нас появился механизм Freeze, который выполняет пару задач. С одной стороны он отключает уведомления по инциденту на некоторое время, например на выходные. С другой - исключает создание таких же инцидентов на время "заморозки". Этот функционал похож на Silence Alertmanager'а.
Появилась интеграция с системой трекинга задач, Jira.
Теперь есть возможность просматривать закрытые (архивные) инциденты.
Добавлены метрики.
IMPulse теперь можно запускать в нескольких экземплярах. В случае недоступности основного (primary) инстанса, работу подхватит запасной (standby).
Webhook'и стали ещё мощнее. Теперь с их помощью можно очень гибко формировать JSON для отправки в любую сторонюю систему.
IMPulse научился перечитывать (reload) конфигурацию без полной перезагрузки. Также вы можете добавить проверку конфигурации в CI/CD перед её применением.
В UI теперь есть индикатор online / offline, чтобы понимать, актуальная ли сейчас информацию на экране. К слову, несмотря на внешнюю простоту, UI очень гибок: умеет фильтровать инциденты по лейблам (в качестве фильтров можно использовать regex'ы), можно сортировать инциденты по нескольким столбцам, а также выделять цветом интересующие данные.
В случае заполнения диска, IMPulse теперь продолжит работать. Обновления по инцидентам будут храниться в оперативной памяти пока не появится место на диске. Настройте алерты на ERROR логи, чтобы вовремя среагировать.
Планы
В первой статье я уже упоминал, что мы считаем крайне важным для всех, кто работает с инцидентами, иметь общий контекст. Многие решения при проектировании принимались, исходя из этого. Сейчас можно констатировать, что ChatOps стал основой IMPulse и дальнешее движение будет под этим знаменем. Мы будем глубже интегрироваться с мессенджерами, чтобы команде дежурных / devops'ов не нужно было переходить в UI. Да, обязательно останутся задачи, которые не решить в рамках мессенджера, но мы постараемся минимизировать их количество.
Здесь часть из наших планов на ближайшие пару месяцев:
добавить работу с группами в Slack и Mattermost;
добавить в UI механизм аутентификации;
перенести кнопки для работы с инцидентами в UI;
реализовать механизм подавления инцидентов на основе правил по аналогии с Inhibition в Prometheus. Если согласно правилам инцидент становится дочерним, то уведомления по нему прекращаются пока не будет решена основная проблема. Это позволит уменьшить количество активности по инцидентам.
По поводу других новшест мы пока сохраним интригу!
Критика и советы
Мы растём, решаем всё больше проблем, но конечно же всегда остаются незакрытые потребности. Будем рады услышать, чего не хватает лично вам и постараемся с этим помочь. Особенно интересно услышать мнение людей, которые ищут куда мигрировать с Grafana OnCall. Мы открыты к обратной связи и критике, будем рады услышать замечания. Наша задача - стать лучше благодаря сообществу.
Оставайтесь с нами в Telegram - мы используем его для общения с русским сообществом, следите за обновлениями в GitHub. Мы продолжаем!
WT IndexNow плагин для Joomla - отправка страниц сайта на переиндексацию в поисковые системы.
Пакет плагинов, обеспечивающий ручную и автоматическую отправку url адресов Joomla в поисковые системы на переиндексацию по протоколу IndexNow.
Согласно документации протокол поддерживают все крупнейшие поисковые системы, кроме Google. Протокол служит для получения от сайтов URL, которые нужно переиндексировать заново или проиндексировать в первый раз как можно быстрее. Отправка адресов сайта таким образом существенно ускорит индексацию нового или изменённого контента поисковыми системами.
Поисковые системы по этому протоколу обмениваются друг с другом данными, поэтому отправив URL в одну из них вы сообщаете их сразу всем.
Протокол IndexNow поддерживают:
Amazon
Microsoft Bing
Naver
Seznam.cz
Yandex
Yep
Суточный лимит URL - 10000 в сутки. Возможна отправка вручную и автоматически. Пакетом поддерживаются:
материалы и категории материалов Joomla
контакты и категории контактов Joomla
SW JProjects - компонент каталога расширений для Joomla
JoomShopping - компонент интернет-магазина для Joomla
В партнерском материале расширяются результаты нагрузочного тестирования из статьи «Нагрузочное тестирование GP6 vs GP7 vs Cloudberry» и презентуются результаты тестирования YMatrix. Это дополнение к предыдущей статье, призванное сформировать понимание сравнимости результатов различных форков GreenPlum.
Проект с открытым исходным кодом bookhunter позволяет охотиться за книгами. Не нужно искать по сети и натыкаться на ограничения. Решение имеет удобный интерфейс.
Представлен открытый защищённый менеджер паролей PearPass, который хранит ключи на локально и не передаёт их в облако. Синхронизация между устройствами пользователя происходит через зашифрованное соединение. Есть встроенный генератор надёжных паролей. Приложение также проверяет слабые пароли.
Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0.
Этот метод регистрирует устаревшие слушатели событий в диспетчере, имитируя работу плагинов Joomla! 3.x и ниже для Joomla 4+. По умолчанию этот метод ищет все общедоступные методы, название которых начинается с on. Он регистрирует лямбда-функции (замыкания), которые пытаются преобразовать аргументы отправленного события в аргументы вызова метода и вызвать ваш метод on<Нечто>. Результат передаётся обратно событию в его аргумент result.
Теперь этот слой совместимости с устаревшей Joomla 3 помечен к удалению в Joomla 7.0, которая должна выйти осенью 2027 года. Это означает, что те уникальные расширения от Joomla 2.5 / Joomla 3, которые ещё работали на Joomla 4-6 скорее всего окончательно перестанут работать на Joomla 7. Предполагается, что активные разработчики планомерно и постепенно избавляются от технического долга и обновляют свои расширения 😎
Находим зловреды в любых файлах. Представлен открытый проект для анализа статического вредоносного ПО Qu1cksc0pe. Решение умеет анализировать исполняемые файлы, показывать, какие DLL файлы используются, видит все функции и API, разделы и сегменты, URL-адреса, IP-адреса, электронные письма, считает разрешения на Android, расширения и имена файлов. Проект сканирует документы: Word, Excel, HTML, Portable, OneNote, а также находит вирусы в файлах архивов ZIP, RAR и ACE.
Всем привет! Hello, everyone! Hallo zusammen! Hola a tothom! مرحباً بالجميع!
В нашем блоге мы часто говорим про статический анализ, линтеры и подобные инструменты. Но на этот раз мы нашли их довольно интересного представителя! LanguageTool — это многоязычная программа проверки орфографии, стилистики и грамматики, которая помогает исправлять и перефразировать тексты.
В новой статье заглянем в её код и посмотрим на интересные вещи, которые нашёл в нём статический анализатор кода PVS-Studio: от утечек ресурсов и логических противоречий в условиях до дублирующихся ключей в хеш-таблицах, избыточных проверок и мёртвого кода.
Шифруем любой файл в PNG-картинку. Представлен открытый проект дешифратора ShadeofColor. Возможности: обход фильтров и блокировок (вместе .exe, .zip или .docx присылаем обычные изображение), незаметная передача файлов (PNG не вызывает подозрений), удобная архивация для визуальной сортировки, предпросмотра и каталогов. Это наглядный пример, как можно кодировать данные в цвета.
Привет, друзья! Мой коллега Марк, ведущий архитектор GlowByte, поделился в новой статье результатами тестирования YMatrix.
Сразу оговорюсь, что это дополнение к предыдущей статье, для того, чтобы сформировать понимание сравнимости результатов различных форков GreenPlum, поэтому акцентировать внимание будем только на YMatrix. Детали по методике тестирования и как были получены результаты для GP6, GP7 и Cloudberry 1.6, можно прочитать в предыдущей статье по ссылке выше.
Добро пожаловать в статью! Комментарии приветствуются.
📊 Multi-LLM Orchestrator v0.7.0: подсчёт токенов и мониторинг через Prometheus
На этой неделе вышел релиз v0.7.0 — завершена фаза observability. Теперь библиотека автоматически считает токены, оценивает стоимость запросов и экспортирует метрики в Prometheus. Всё работает из коробки.
Библиотека автоматически считает токены для каждого запроса — и для prompt, и для completion. Используется tiktoken с fallback на оценку по словам.
from orchestrator import Router
from orchestrator.providers import GigaChatProvider, ProviderConfig
router = Router()
router.add_provider(GigaChatProvider(ProviderConfig(
name="gigachat",
api_key="your_key",
model="GigaChat",
verify_ssl=False
)))
# Токены считаются автоматически
response = await router.route("Напиши стихотворение про Python")
# Получаем статистику
metrics = router.get_metrics()
print(f"Total tokens: {metrics['gigachat'].total_tokens}")
print(f" Prompt: {metrics['gigachat'].total_prompt_tokens}")
print(f" Completion: {metrics['gigachat'].total_completion_tokens}")
Результат:
Total tokens: 75
Prompt: 20
Completion: 55
💰Оценка стоимости запросов
Расчёт стоимости в реальном времени. Цены настраиваются в pricing.py (фиксированные значения для демонстрации — для production рекомендуется настроить под свои тарифы).
Результаты тестов с реальными провайдерами:
GigaChat: 75 tokens → ₽0.0750
YandexGPT: 105 tokens → ₽0.1575
Streaming: 342 tokens → ₽0.3420
📈 Интеграция с Prometheus
HTTP-эндпоинт /metrics в формате Prometheus. Метрики обновляются в реальном времени и готовы для scraping.
Представлена открытая библиотека Telegram-ботов для разных задач Awesome Telegram. Там есть боты: поисковики, интеграторы с сотнями сервисов, для удаления ватермарок, загрузчики видео, аудио и картинок, генераторы картинок, стикеров, текстов, поздравлений. К каждому боту авторы приложили описание работы и инструкцию.