Обновить
512K+

Linux *

Пишем под *nix

393,89
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Загрузка PocketHandyBox Linux с помощью TinyPXE Server, iPXE и WinNFSd

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели11K

Подготовлены .ini файл с настройками TinyPXE Server, скрипт запуска WinNFSd, загрузочные файлы iPXE и скрипт autoexec.ipxe. В общем все необходимое для запуска PocketHandyBox Linux через PXE на почти любом ПК в локальной сети, используя в качестве сервера любой ПК/ноутбук с Windows.

Благодаря поддержке в TinyPXE Server режима ProxyDHCP, при наличии в локальной сети основного DHCP сервера (без настроенной опции 67) / роутера - нет необходимости как либо вмешиваться в его работу. А также нет необходимости изменять IP адреса или файловые пути в каких либо конфигах.

Все необходимое для запуска серверной части на Windows находится в одной папке. Не требует установки каких либо служб или правки реестра. То есть просто копированием переносится между разными Windows ПК и разными локальными сетями.

Поддерживается загрузка через PXE как в UEFI так и в Legacy/CSM режимах. К сожалению Secure Boot не поддерживается и его требуется отключать.

Начнем с краткой инструкции и продолжим более подробным разбором файлов конфигурации и дополнительных возможностей.

Читать далее

Как я не нашёл нормальную альтернативу WinSSHTerm на macOS, психанул и написал свою

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели10K

После перехода на macOS я не нашёл SSH-клиент, который закрывает мой ежедневный сценарий так же удобно, как WinSSHTerm.

Устал от постоянных компромиссов, сформулировал требования, собрал свой клиент и выложил код в open source.

Репозиторий

Читать далее

Из жизни провайдеров: история одного факапа

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели10K

Мы небольшой региональный интернет-провайдер. Недавно случился у нас инцидент.

Первый звоночек прозвенел, когда было зафиксировано резкое уменьшение нагрузки на внешнем интернет‑канале, сопровождавшееся записями в логах KERNEL PERF interrupt took too long, lowering на одном из серверов, обеспечивающих доступ в сеть Интернет. Расследование показало, что нагрузка вернулась к норме в течение 15 минут, и никаких последствий не было выявлено.

Что же там случилось?

Root в контейнере — это root на хосте? Разбираю важные особенности прав доступов в контейнерах Docker/Podman

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели17K

Если назначить файлу владельца root на хосте — будет ли это тот же самый root внутри контейнера?

Если на хосте существует пользователь gtosss — можно ли переключиться на него внутри контейнера и получить доступ к файлу?

Если создать пользователя gtosss внутри контейнера и выдать ему права на файл — сможет ли хост обратиться к этому файлу под таким же пользователем?

Большинство разработчиков знают, что контейнеры изолируют процессы. Но мало кто задумывается о том, что происходит с правами, когда например директория с хоста монтируется внутрь контейнера через volume (bind mount).

Разобрал три конкретных сценария на Ubuntu с Docker и Fedora с Podman: как UID/GID влияют на доступ к файлам, почему root в контейнере может быть root на хосте и что с этим делает user namespace. Эксперименты, cli и доступные объяснения.

Читать далее

io_uring без розовых очков: 5 граблей, которые сожгли мне неделю, и где он реально быстрее epoll

Время на прочтение20 мин
Охват и читатели8.9K

io_uring продавали как убийцу epoll. На деле на HTTP keep-alive разница 0-15%, иногда не в его пользу. Но на NVMe с queue depth 128 - в 3 раза быстрее. Честный разбор с бенчмарками, реальными граблями (SQPOLL, cancel race, partial recv) и почему Google отключил io_uring в ChromeOS.

Читать далее

Слишком много открытых файлов: лимит Linux, который валит прод в 3 часа ночи

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели12K

Когда сервис падает с too many open files, первое желание — проверить ulimit -n и поднять лимит повыше. Но в Linux эта ошибка редко сводится к одной настройке: в игру вступают файловые дескрипторы, сокеты, лимиты процесса, настройки контейнерного рантайма и поведение самого приложения.

В статье разбираем, что на самом деле означает EMFILE, где смотреть реальные ограничения в Kubernetes и как отличить нехватку лимита от утечки, которая рано или поздно снова уронит прод.

Разобраться с лимитами

Байты, нибблы, и подсветка: пишем свой TUI hex-редактор на Python

Уровень сложностиСложный
Время на прочтение36 мин
Охват и читатели12K

В жизни каждого разработчика иногда приходится рассматривать бинарные файлы через специальные HEX-редакторы.

Мы открываем его, видим три колонки цифр и букв, и кажется что все предельно ясно-понятно. Но почему адреса считаются шестнадцатеричными, что такое ниббл и зачем он вообще нужен? В этой статье мы не просто напишем свой hex-редактор на Python — мы разберем, как он устроен, от битового представления до цветовой подсветки. Выясним, чем подсветка по нибблам отличается от подсветки по категориям байтов, и почему градиенты в hex-дампе — это не просто украшение, а рабочий инструмент.

Также мы изучим, какие практики и паттерны используются при написании редактора — от mmap для чтения файла до интерпретации байтов.

Будет и код, и архитектура, и результат, и практика.

Читать далее

Как превратить домашнюю файлопомойку в умную AI-галерею на основе сборки из x99+Xeon и видеокарты за 2 тыс рублей

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели10K

Привет, Хабр.

У многих дома крутится сервер или обычный NAS. На жестких дисках годами копится семейный архив: фотки из отпусков, видео с телефонов, старые кадры с мыльниц. Все это лежит гигабайтами в папках вроде “2023_06_12_дача” или просто свалено в кучу в директории DCIM.

В какой-то момент я понял, что хочу навести во всем этом порядок, но не руками. Так родился проект Gailery - локальная веб-галерея для домашнего сервера. Сегодня на моем стенде она безболезненно переваривает огромный личный архив из более чем 100 тысяч фотографий и почти 10 тысяч видеороликов. При этом оригинальные файлы лежат в полной безопасности: папка с медиа монтируется в контейнер в режиме “только чтение” (Read-Only).

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

Читать далее

Самодельный ARM ноутбук, реально ли?

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели12K

Мне всегда хотелось разработать свой ноутбук. Сейчас, благодаря развитию систем на базе ARM-процессоров, эта задача сильно упростилась и стала вполне реальной.

В данной статье я расскажу о том, какие возможны варианты создания своего портативного устройства на базе ARM, приведу примеры подобных устройств, опишу свой путь и проблемы, с которыми я столкнулся.

Читать далее

Домашний сервер без белого IP: безопасная публикация сервисов через VPS, обратный SSH-туннель и Caddy

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели20K

Как безопасно опубликовать домашний сервер без белого IP и проброса портов: домашний сервер сам устанавливает исходящее SSH-соединение к VPS, на VPS создаётся локальный endpoint обратного SSH-туннеля, а внешний доступ к сервисам отдаётся через Caddy по HTTPS. Backend-порты вроде Nextcloud, Home Assistant или Jellyfin не открываются напрямую в интернет, а остаются доступными только через loopback и reverse proxy. Отдельное внимание уделено hardening: ограниченный пользователь tunneluser, SSH-ключи, autossh, systemd, UFW, проверка sshd_config и диагностика типовых ошибок.

Поехали

Хром и скорость

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели13K

Подробное руководство по ускорению любимого браузера подручными средствами. В помощь домохозяюшкам, студентам и высшему руководству — всем у кого нет под рукой топового железа с 64Гб памяти для работы в современном интернете.

Читать далее

Segmentation Fault: как оно устроено?

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели12K

Segmentation fault - одна из тех ошибок, с которой сталкивался каждый, но мало кто разбирался что за ней стоит. В этой статье копаем глубже обычного: смотрим как ядро Linux понимает что произошло, какие типы ошибки бывают - с реальными примерами и исходниками ядра Linux.

Сегфолтнуться

Free Porn Storage: передаём мемы в TLS-трафике, не привлекая внимания санитаров

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели23K

Если нужно спрятать дерево, прячьте его в лесу. Лес интернета состоит из TLS-соединений (>70% трафика, если верить статистике): вкладок браузера, WebSocket-потоков, долгоживущих HTTPS-запросов, клиентов игр, мобильных приложений, телеметрии, видеоплееров, чатов и тысяч спокойных TCP/443-соединений, которые выглядят настолько обычно, что именно это и делает их интересной средой для, кхм, исследования.

Очевидно, единственная и конечная цель существования интернета — быть распределённым хранилищем порно, так почему бы не использовать его по прямому назначению и не хранить смешные картинки прямо в трафике?

Чатить далее

Ближайшие события

Релиз GitLab 19.0: ИИ‑оркестрация, которая наконец‑то догнала темп написания кода

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели11K

21 мая 2026 года вышел мажорный релиз, переосмысляющий то, как платформа управляет жизненным циклом от идеи до деплоя.

Основной повесткой как уже принято стал ИИ, в Gitlab уделили этому особое внимание.
ИИ уже генерирует больше кода, чем успевают проверять инженеры. Merge Request'ы накапливаются, конфликты разрастаются, секреты утекают в переменные окружения, а зависимости с уязвимостями тихо живут в requirements.txt. GitLab 19.0 отвечает на этот вызов не просто набором фич, а сменой парадигмы: платформа берёт на себя операционную работу, оставляя командам только решения, требующие человеческого суждения.

Ниже я разберу релиз подробно, постараюсь описать примеры конфигурации, архитектурные схемы и дам выводы, таким образом как я это понял)

Читать далее

Свет, тьма, VEML7700 и Python

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели12K

У меня на полке стоит NanoPi Fire3 — старинный SBC с Linux на борту. С течением времени он неизбежно обрастает периферией разной степени бесполезности. Среди прочего, конечно же, в нем прописался экранчик LCD2004 (даже два) со светодиодной подсветкой, который освещал ночную квартиру, как прожектор.

С одной стороны — удобно ходить в туалет, не включая свет, с другой — захотелось гламура, как в мобилке, чтобы, чем меньше вокруг света, тем тусклее была бы подсветка. Для этой цели нужно этот свет как‑то измерять, так что ассортимент периферии было решено расширить датчиком освещенности VEML7700. О том, как я приспосабливал его к делу, и пойдет речь далее.

Измерить освещенность

Майский «В тренде VM»: громкие уязвимости в Linux, ActiveMQ, SharePoint и Acrobat Reader

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели8.2K

Хабр, привет!

На связи Александр Леонов, ведущий эксперт PT Expert Security Center и дежурный по самым опасным уязвимостям месяца. Мы с командой аналитиков Positive Technologies регулярно смотрим на поток информации об уязвимостях из самых разных источников: бюллетени безопасности вендоров, соцсети, блоги, телеграм-каналы, репозитории кода, базы уязвимостей и эксплойтов. Из этого многообразия мы стараемся выделять самое важное - трендовые уязвимости, которые уже используются в реальных атаках или с высокой вероятностью будут эксплуатироваться в ближайшее время.

С прошлого дайджеста мы добавили в общий список еще четыре трендовые уязвимости.

Читать далее

Мониторинг Kerio Connect через Zabbix 7: разбор шаблона без агентов и regex по DAT

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели8.7K

Kerio Connect — почтовый сервер, который в нашей стране всё ещё крутится в десятках организаций, особенно тех, что когда-то слезли с Exchange и не захотели возвращаться. Для системного администратора это означает простую вещь: почта работает, а наблюдать за ней нечем. Официальная страница zabbix.com/integrations предлагает шаблоны только для Kerio Control (фаервол), для Connect — пустота. В zabbix/community-templates тоже пусто. На форумах советуют парсить графический DAT-файл регулярками — работает, но теряется API-уровень.

У меня под рукой Kerio Connect 10.x в продакшене, и однажды я устал смотреть на него через веб-интерфейс и счётчики антиспама в логе. За несколько дней собрал Zabbix 7 шаблон поверх Kerio Admin API (JSON-RPC), выложил под MIT. В статье — разбор того, что выяснилось: почему минимальная роль для API оказалась тупиком, как 4 вызова уложились в один master-айтем, что делать с отрицательной дельтой на counter reset и почему агент на хосте всё-таки иногда нужен. Без пересказа документации, с граблями.

Читать далее

Suricata IPS NFQueue with nDPI. Часть VI

Уровень сложностиСредний
Время на прочтение66 мин
Охват и читатели7.1K

«Suricata IPS NFQueue with nDPI» — это значит, что программа suricata работает в режиме IPS с движком NFQueue и поддержкой nDPI.

Традиционные фаерволы могут блокировать нежелательный трафик по IP адресам и портам, но они не способны анализировать содержимое пакетов и обнаруживать сложные атаки, которые маскируются под легитимный трафик. Suricata сильно дополняет возможности классического фаервола — она позволяет блокировать данные на более высоком уровне — на уровне приложений.

Данная информация предназначена для тех, кто хотел бы получить опыт работы с suricata и попробовать ее возможности на практике. Приведенная конфигурация будет рассчитана на минимальное потребление ресурсов. Установка и настройка будут выполняться на ОС Debian 13 с nftables для текущей стабильной версии suricata 8.0.4.

Часть VI содержит: 13. Обзор бесплатных источников правил. 14. Использование правил. 15. Пример конфиг-файла suricata.yaml.

Читать далее

Claudex: как я подружил Claude Code с ChatGPT/Codex OAuth без OpenAI API key

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели17K

Я хотел запускать Claude Code через подписку ChatGPT/Codex. Без OpenAI API key и без потери привычных вещей: инструментов, скриншотов, /compact, длинных сессий и нормальных ошибок.

На бумаге это выглядит как простой локальный прокси. На практике пришлось переводить не только JSON, но и поведение Anthropic API: потоковые события, вызовы инструментов, лимиты контекста, файлы, картинки и типы ошибок.

Так появился мой open source fork Claudex. Репозиторий: github.com/pilc80/claudex. Лицензия — MIT.

Читать далее

SSH как корпоративный L3-туннель: когда классические VPN-протоколы больше не работают

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели31K

В последние годы для команд, которые работают с зарубежной инфраструктурой из России, обычный корпоративный VPN перестал быть чем-то, что можно один раз настроить и забыть. OpenVPN, WireGuard, IPsec, различные TLS- и QUIC-обёртки могут работать стабильно месяцами, а потом внезапно начать деградировать: где-то соединение не устанавливается, где-то режется UDP, где-то DPI начинает узнавать сигнатуры, где-то провайдер меняет правила фильтрации.

Для компании это превращается не в техническую мелочь, а в операционный риск. Инженеры не могут попасть на серверы. DevOps не может проверить прод. Администратор не может забрать бэкап. Пентестер не может подключиться к стенду заказчика. При этом инфраструктура может находиться в Европе, США, Азии или у любого другого зарубежного провайдера, а сотрудники — физически находиться в РФ.

В какой-то момент мы пришли к простой мысли: если из корпоративной сети ещё можно установить исходящее SSH-соединение, то можно попробовать использовать сам OpenSSH не только как инструмент администрирования, но и как транспорт для L3-туннеля. В OpenSSH для этого давно существует режим ssh -w, который поднимает туннель через tun-устройство.

Идея статьи не в том, чтобы объявить ssh -w «лучшим VPN на все времена». Это не замена WireGuard для нормальной постоянной инфраструктуры и не серебряная пуля против любых сетевых ограничений. Но это очень полезный аварийный и корпоративный вариант: работает поверх обычного SSH, не требует отдельного VPN-демона на сервере, может быть поднят на дешёвом VPS, использует привычную модель ключей OpenSSH и позволяет строить полноценную маршрутизацию на L3.

Читать далее