LinuxSkill - Сводки с прода и Шпаргалки
Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам. Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале. 📩 По всем вопросам: @chorapov Зеркало в MAX: https://max.ru/LinuxSkill РКН https://vk.cc/cMUwm4
Ko'proq ko'rsatish📈 Telegram kanali LinuxSkill - Сводки с прода и Шпаргалки analitikasi
LinuxSkill - Сводки с прода и Шпаргалки (@linuxskill) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 10 923 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 11 368-o'rinni va Rossiya mintaqasida 59 851-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 10 923 obunachiga ega bo‘ldi.
20 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -68 ga, so‘nggi 24 soatda esa -4 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 17.88% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 6.20% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 1 954 marta ko‘riladi; birinchi sutkada odatda 678 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 12 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent docker, linux, bash, devops, скрипт kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам.
Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале.
📩 По всем вопросам: @chorapov
Зеркало в MAX: https://max.ru/LinuxSkill
РКН https://vk.cc/cMUwm4”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 21 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
Устал скроллить директории руками и не можешь найти нужный конфиг или строчку в логах? Сейчас покажу полную шпаргалку ровно на 23 команды для быстрого поиска файлов и текста в Linux. Никакой воды, только хардкор. 1. Поиск файлов по имени и фразам❗️❗️❗️ Нравится формат? Ставь 👍 👉 Рубрика: #шпаргалка@LinuxSkill ⭐️ Зеркало в MAX #Linux #Search #CLI #Bash #Sysadmin #DevOps# Найти файл по имени (Find a file by name) $ find / -iname "[query]" $ fd [query] $ fzf # Найти все пути, содержащие фразу (Find all path names containing a phrase) $ locate [query] $ plocate [query]2. Поиск исполняемых файлов и истории# Найти путь к исполняемому файлу (Find the path of an executable) $ which [command] # Найти расположение бинарников, исходников и man-страниц команды (Find location of binary/source/man files for a command) $ whereis [command] # Поиск паттерна в выводе команды (Search for pattern in output of command) $ history | grep [phrase]3. Поиск файлов по времени изменения и доступа# Найти файлы, чье содержимое было изменено менее 60 минут назад (Find files whose content was modified less than 60 minutes ago) $ find / -mmin -60 # Найти файлы, чей статус был изменен менее 60 минут назад (Find files whose status was changed less than 60 minutes ago) $ find / -cmin -60 # Найти все файлы, к которым обращались 7 дней назад (Find all files accessed 7 days ago) $ find / -atime 74. Поиск паттернов и текста внутри файлов# Поиск паттерна в файле (Search for pattern in file) $ grep [query] [file] $ rg [query] [file] $ ag [query] [file] # Рекурсивный поиск в файлах (Search recursively in files) $ grep -r [query] [path] $ rg [query] [path] $ ag [query] [path]5. Поиск по размеру, расширению и пустых директорий# Найти файлы размером от 10MB до 100MB (Find files between 10MB and 100MB) $ find / -size +10M -size -100M # Найти файлы по расширению (Find files by extension) $ fd -e [extension] $ find . -type f -name "*.[extension]" $ locate "*.[extension]" # Найти пустые файлы и директории (Find empty files and directories) $ find / -type f -empty $ find / -type d -empty
Думаешь, официальный Telegram своими силами борется с блокировками, а сторонние open-source клиенты абсолютно прозрачны? Оказалось, мессенджер выезжает за счет комьюнити, а популярные форки содержат полноценный spyware. Собрал для тебя техническую хронологию грандиозного провала ИБ в экосистеме Telegram. Хроника расследования на Хабре и OpenNet: 1. «Telegram обошёл блокировку РКН» — нет, не Telegram / Хабр > https://habr.com/ru/articles/1019200/ Официальная команда Telegram три месяца игнорировала блокировки ТСПУ. Встроенный FakeTLS (MTProxy) генерировал математически кривые пакеты:❗️❗️❗️ Нравится формат? Ставь 👍 👉 Рубрика: #News@LinuxSkill #telegram #infosec #nekogram #privacyОшибка 1: Аномальный размер ключа По спецификации X25519-ключ обязан занимать ровно 32 байта (256 бит). Код Telegram генерировал 20 байт. Для DPI это тривиальный маркер блокировки. Ошибка 2: Использование драфтового мусора Вместо стандартного идентификатора 0xFE0D для Encrypted Client Hello (ECH), Telegram слал несуществующий 0xFE02, которого нет ни в одном реальном браузере.Комьюнити Telemt отреверсило фильтры и принесло готовый Pull Request(#30513). Энтузиасты сами нашли сигнатуры и собрали патч. Мейнтейнер tdesktop смерджил минимальный набор исправлений, а Павел Дуров отчитался о «цифровом сопротивлении», ни разу не упомянув реальных авторов фикса. При этом фундаментальная проблема L7-анализа осталась нерешенной. 2. Неофициальный Telegram-клиент Nekogram отправлял номера телефонов боту разработчика > https://www.opennet.ru/opennews/art.shtml?num=65130 Исходный код Nekogram на GitHub был чистым, но в релизные APK-пакеты (в Google Play и Telegram-каналах) вшивался вредоносный обфусцированный код. В классе Extra.java находился бэкдор, перебирающий до 8 аккаунтов пользователя. Он формировал JSON-карту связок UserID и номеров телефонов:{"123456789": "+79001234567"}Данные скрытно сливались через инлайн-запрос, не оставляя следов в истории чатов:InlineBotHelper.Query("@nekonotificationbot", payload);Те, кто ставил альтернативный клиент ради расширенных функций, отдавали свои номера разработчику, который мог продавать их создателям OSINT-ботов (в коде были упоминания @tgdb_search_bot и @usinfobot). Вдобавок, ZDI раскрыли RCE-уязвимость (ZDI-CAN-30207) в официальной телеге: выполнение кода было возможно через библиотеку rlottie при предпросмотре анимированных стикеров (уязвимость снизили с 9.8 до 7.0 после того, как ТГ заявил о серверных проверках).
Думаешь, шифровальщики — это исключительно головная боль виндузятников? Сейчас покажу, как старое ядро Linux обошлось хостинг-компании в 1 миллион долларов и какими командами вымогатели показательно убивают ESXi-серверы. Южнокорейский хостер Nayana поймал Linux-версию вымогателя Erebus. Злоумышленники зашифровали 433 различных типа файлов.❗️❗️❗️ Нравится формат? Ставь 👍 👉 Рубрика: #SkillHunter@LinuxSkill ⭐️ Зеркало в MAX #linux #ransomware #infosec #esxiuname -rВывод на взломанных серверах: 2.6.24.2 (ядро 2008 года!) Версии веб-сервера тоже оказались из музея древностей:httpd -v && php -vApache 1.3.36 и PHP 5.1.4 (выпущены в 2006 году) Изначальный аппетит хакеров составлял внушительные 4,4 миллиона долларов, но в итоге компании удалось сторговаться на $1 млн. Проблема крылась в устаревшем ПО: ядро содержало критическую уязвимость Dirty Cow, которая подарила злоумышленникам рут-доступ к системе. Без приватного ключа хакеров спасти зашифрованные данные было невозможно. Современные шифровальщики (например, BlackMatter для Linux) бьют прямо по VMware ESXi. Вирус использует штатную утилиту esxcli для получения списка хранилищ:esxcli storage filesystem listЕго интересуют файловые системы vmfs, vffs и nfs BlackMatter для Linux работает очень технично: перед началом шифрования он принудительно останавливает виртуальные машины, убивает указанные в конфиге процессы и полностью тушит файрвол. Само шифрование файлов происходит блоками с использованием потокового алгоритма HC-256, а ключи шифруются открытым ключом RSA-4096. Вымогатель Hive для Linux/FreeBSD работает не менее жестко. Он завершает непривилегированные (non-root) процессы и шифрует файлы прямо в корне (/). Запуск шифровальщика с параметром:./linux64 -no-wipe # Флаг -no-wipe отключает заполнение свободного пространства случайными даннымиHive методично сканирует и шифрует файлы в корневом каталоге. Если при запуске не передать спасительный параметр-no-wipe(как в коде выше), вредонос забьет все свободное место на диске случайным мусором, чтобы ты физически не смог восстановить удаленные или перезаписанные файлы.
Упала сеть на сервере или нужно срочно проверить открытые порты, а нужные ключи вылетели из головы? Сейчас покажу ультимативную шпаргалку по сети в Linux. Только рабочие конструкции для траблшутинга и базовой настройки. 1. Внешний IP, пароли и сетевые интерфейсы Быстрый сбор базовой информации о текущем подключении и железе.❗️❗️❗️ Нравится формат? Ставь 👍 👉 Рубрика: #шпаргалка@LinuxSkill ⭐️ Зеркало в MAX #Linux #Network #DevOps #Sysadmin #CLI# Получить внешний IP-адрес $ curl ifconfig.me $ dig +short myip.opendns.com @resolver1.opendns.com $ netcat icanhazip.com 80 <<< $'GET / HTTP/1.1\nHost: icanhazip.com\n' | tail -n1 # Получить пароль от Wi-Fi $ cat /etc/NetworkManager/system-connections/[SSID] | grep psk= # Вывести список сетевых интерфейсов $ lspci | egrep -i --color 'network|ethernet' $ ifconfig -a $ ip a $ ip link show $ lshw -class network $ cat /proc/net/dev $ nmcli device status2. Загрузка файлов и информация о домене Утилиты для скачивания файлов прямо из консоли и проверки whois.# Скачать файл по ссылке $ wget [url] $ curl -O [url] $ aria2c [url] $ axel [url] # Получить информацию о домене $ whois [ip]3. Диагностика узлов и маршрутов Команды для проверки доступности соседних устройств и пути прохождения пакетов.# Пропинговать другое устройство $ ping [ip] $ mtr [ip] # Отследить путь пакета до цели $ traceroute [ip] $ tracepath [ip] # Установить Telnet подключение $ telnet [ip] [port]4. DNS, Hostname и настройки интерфейса Управление именем машины, проверка резолва DNS и сброс IP-адреса.# Настроить сетевой интерфейс $ ifconfig # Показать hostname вашего сервера $ hostname $ hostnamectl # DNS-запрос и отображение ответа сервера $ dig [ip] $ nslookup [ip] $ host [ip] # Освободить IP и получить новый от DHCP $ dhclient -r5. Порты, сокеты и маршрутизация Главный арсенал для поиска открытых портов и проверки таблицы маршрутизации.# Вывести список открытых сокетов $ netstat -l $ lsof -i $ ss -l # Показать таблицу маршрутизации $ ip route $ route # Показать открытые порты $ ss -tuln $ netstat -tuln # Проверить доступность порта на хосте $ nc -zv [host] [port]6. Использование пропускной способности (Bandwidth) Утилиты для мониторинга нагрузки на сеть в реальном времени. # Показать использование канала $ iftop $ nethogs $ vnstat $ bmon $ nload
Многие массово качают клиент «Telega» для обхода блокировок, не подозревая, что добровольно отдают свои сессии под перехват. Сейчас на уровне кода разберём, как устроена их MITM-атака и как защитить свою инфраструктуру. Telega (АО «Телега», ранее «Даль») — это альтернативный клиент, разработчики которого 18 марта 2026 года активировали принудительный перехват трафика. Клиент обращается к серверу за списком подменённых дата-центров.❗️❗️❗️ Нравится формат? Ставь 👍 👉 Рубрика: #News@LinuxSkill ⭐️ Зеркало в MAX #telega #mitm #infosec #telegramcurl -s https://api.telega.info/v1/dc-proxy # Возвращает подменённые IP адреса дата-центров в формате JSON (например, 130.49.152.X)Трафик перенаправляется на собственные серверы проекта, а проверка владельца подсети выдает прямую связь с экосистемой VK.whois 130.49.152.0 | grep AS # Вывод покажет AS203502 JOINT STOCK COMPANY TELEGA # Единственный апстрим: AS47764 LLC VKНо подмена IP — это только половина атаки. Чтобы читать зашифрованный трафик, разработчики вшили дополнительный RSA-ключ в динамическую библиотеку клиента.strings libtmessages.49.so | grep -A 1 "BEGIN RSA PUBLIC KEY" # Найдено 4 ключа. Ключ по адресу 0x15788E1 является подставным и отсутствует в официальном клиентеИменно этот четвёртый ключ позволяет их серверам успешно завершать криптографическое рукопожатие, выступая "человеком посередине". Более того, клиент получает с сервера конфигурацию (Remote Config), которая принудительно ослабляет криптозащиту.// Принудительное отключение Perfect Forward Secrecy и секретных чатов DcConfig.options.use_pfs = false; FeatureManager.currentInstance().isSCEnabled() = false;Секретные чаты (End-to-End) тихо игнорируются, а выключенный PFS позволяет злоумышленникам расшифровать весь записанный трафик в будущем, если ключи будут скомпрометированы. Просто удалить приложение с телефона недостаточно, так как активная сессия уже находится на их серверах.1. Принудительно отозвать сессии: В официальном клиенте Telegram -> Настройки -> Устройства -> Завершить все другие сеансы 2. Заблокировать подсети злоумышленников на корпоративном фаерволе: iptables -A OUTPUT -d 130.49.152.0/24 -j DROP iptables -A OUTPUT -d 130.49.224.0/19 -j DROPЕсли ты или твои коллеги обсуждали важные данные с пользователями Telega, считай эту информацию известной третьим лицам. Источники: Telega: как «удобный клиент Telegram» превратили в MITM с цензурой и ИИ-надзирателем В интернете появился полный теханализ MITM-атаки в клиенте Telega от неизвестного источника Остальные статьи по теме: habr.com habr.com habr.com habr.com habr.com habr.com habr.com habr.com habr.com habr.com habr.com
Задумывался, как ядро на самом деле обрабатывает твои нажатия в консоли, и почему опытные админы ставят❗️❗️❗️ Нравится формат? Ставь 👍 👉 Рубрика: #SkillHunter@LinuxSkill #Linux #DevOps #Security #VPN #Networking #DPIplocateвместо обычногоlocate? Я собрал для тебя выжимку из двух отличных статей с Хабра. Одна для глубокого погружения во внутренности подсистемы ввода-вывода, а вторая, чтобы намертво закрепить фундаментальную базу. 1. Чёрное окошко Linux: погружение в подсистему TTY > https://habr.com/ru/companies/ruvds/articles/983240/ Отличный исторический и технический разбор того, что скрывается за привычным эмулятором терминала. Автор объясняет, что TTY - это драйвер символьного устройства, а не просто окошко интерфейса. Оказывается, за кулисами работает алгоритм Line Discipline. Именно он буферизирует ввод и превращает управляющие коды (например, нажатие Ctrl+C) в сигналыSIGINTдля процессов. В комментариях к статье также отлично дополнили тему аварийного управления ядром через консоль:# Разрешить использование Magic SysRq Keys для прямого управления ядром echo "1" > /proc/sys/kernel/sysrqЭтот параметр позволяет посылать низкоуровневые команды (например, принудительную перезагрузку или убийство ресурсоемких процессов через OOM kill) напрямую в ядро при жестком зависании системы. 2. Учим Linux: Файлы, навигация и поиск > https://habr.com/ru/articles/1003550/ Мощный структурированный справочник по файловой системе и базовым утилитам. Подробно разбирается назначение виртуальных ФС/procи/sys, отличия жёстких ссылок от символических, а также нюансы работы с логами. Отдельное внимание уделено правильным флагам утилит для написания надежных скриптов:# Слежение за файлом лога в реальном времени с учётом его пересоздания (ротации) tail -F file.txtВ отличие от обычного флага-f, заглавнаяFне даст команде отвалиться, когда системный демон пересоздаст свой лог-файл. Также автор рекомендует использовать пакетplocateдля поиска файлов в современных дистрибутивах (например, Ubuntu 22.04) - он работает значительно быстрее устаревшегоmlocateза счёт более эффективного индекса. Пробегись по материалам и скинь коллегам, если они всё ещё путают консоль с терминалом.
Устал парсить ответы от API нечитаемой простынёй текста или писать костыли? Сейчас покажу шпаргалку по базовым операциям с JSON прямо в консоли Linux. 1. Pretty print (Красивый вывод) Команды для форматирования JSON в удобный структурированный вид.❗️❗️❗️ Нравится формат? Ставь 👍 👉 Рубрика: #шпаргалка@LinuxSkill #Linux #JSON #CLI #DevOps #Bash# Использование утилиты fx $ echo '{"name": "Linux"}' | fx . # Использование утилиты dasel $ echo '{"name": "Linux"}' | dasel -r json # Использование популярной утилиты jq $ echo '{"name": "Linux"}' | jq "." # Использование утилиты jshon $ echo '{"name": "Linux"}' | jshon # Использование утилиты jql $ echo '{"name": "Linux"}' | jql '.' # Использование утилиты emuto $ echo '{"name": "Linux"}' | emuto2. Select (Выборка данных) Как вытащить конкретное значение по ключу из JSON-строки,.# Выборка через dasel $ echo '{"name": "Linux"}' | dasel -r json '.name' # Выборка через fx $ echo '{"name": "Linux"}' | fx .name # Выборка через jq $ echo '{"name": "Linux"}' | jq ".name" # Выборка через jshon $ echo '{"name": "Linux"}' | jshon -e name # Выборка через jql $ echo '{"name": "Linux"}' | jql '.name' # Выборка через emuto $ echo '{"name": "Linux"}' | emuto "$.name"3. Put (Добавление и изменение) Команды для добавления новых ключей или изменения существующих значений.# Добавление строки через dasel $ echo '{"name": "Linux"}' | dasel put string -r json '.year' '1991' # Вставка значения через jshon $ echo '{"name": "Linux"}' | jshon -s 1991 -i year # Формирование нового объекта через emuto $ echo '{"name": "Linux"}' | emuto "{'name': $.name,'year':1991}"4. Delete (Удаление) Быстрое удаление ненужных полей из переданного JSON.# Удаление ключа через dasel $ echo '{"name": "Linux", "year": 1991}' | dasel delete -r json '.year' # Удаление ключа через jshon $ echo '{"name": "Linux", "year": 1991}' | jshon -d year # Удаление ключа путем пересоздания объекта в emuto $ echo '{"name": "Linux", "year": 1991}' | emuto "{'name': $.name}"5. Create (Создание) Генерация нового JSON-объекта из переданных параметров.# Создание JSON с помощью jo $ jo -p name=Linux year=1991Теперь ты знаешь, как быстро форматировать, изменять и парсить JSON без написания скриптов.
Думали, что всегда сможете переключить сессию на старый добрый Xorg, если новомодный Wayland снова залагает? Больше нет. Состоялся релиз GNOME 50 «Tokyo», и разработчики окончательно вырвали X11 с корнем. Выполняю работу над ошибками: разбираем архитектурные изменения строго без домыслов — только сухие факты из чейнджлогов. Что именно вырезали: Из композитного сервера Mutter и GNOME Shell полностью удален код поддержки протокола X11. Дисплейный менеджер GDM теперь запускает собственные сессии исключительно через Wayland, хотя запуск сторонних X11-оболочек через него пока сохранен. Старые X11-приложения продолжат работать благодаря интегрированной прослойке XWayland.❗️❗️❗️ Нравится формат? Ставь 👍 👉 Рубрика: #News@LinuxSkill #GNOME #Wayland #Linux #DevOps #Security #Systemd-Dx11Эта опция сборки, как и возможность настройки параметров X11, навсегда удалена из компонентаgnome-settings-daemon. Вернуть поддержку иксов в GNOME простой пересборкой пакета больше нельзя. Архитектурный сдвиг к systemd: Разработчики отказались от старых костылей в пользу жесткой интеграции с системным менеджером systemd. В GDM теперь задействована инфраструктураsystemd-userdbдля выделения учетных записей, а собственный встроенный менеджер сервисов GNOME отправлен на пенсию.run0Это новая утилита из состава systemd 256, которая теперь используется по умолчанию вместоpkexecдля выполнения привилегированных действий в мастере начальной настройки (gnome-initial-setup). Новый RDP и headless-режим: Удаленный доступ получил аппаратное ускорение вывода видео через современные API Vulkan и VA-API. Добавлена аутентификация через Kerberos и даже возможность проброса локальной web-камеры в сеанс с удаленной системой.gnome-headless-session@.serviceНовый systemd-сервис, специально добавленный в GDM для удобного запуска сеансов без подключенного физического экрана. Это долгожданное решение для комфортных RDP-подключений к headless-серверам. Фикс NVIDIA и управление цветом: Внедрен протокол Explicit Sync, который позволяет синхронизировать буферы напрямую и избавляет от графических артефактов и задержек на проприетарных драйверах NVIDIA. Variable Refresh Rate (VRR) и дробное (нецелое) масштабирование переведены из разряда экспериментальных функций и включены по умолчанию.color-management-v2Новый поддерживаемый протокол Wayland, предоставляющий полноценные средства для управления цветом. В дополнение к этому появилась поддержка передачи HDR-метаданных при screen sharing (совместном доступе к экрану), чтобы транслируемые цвета не теряли насыщенность.
Твой личный туннель начал отваливаться, а зарубежные сайты виснут после пары секунд загрузки? DPI перешел на новый уровень. В столице раскатали «белые списки», а системы анализа научились детектить популярные протоколы обхода по их поведению. Я собрал для тебя выжимку из двух мощнейших технических разборов на Хабре. Пора обновлять конфиги, пока наши сервера окончательно не легли. 1. Белые списки добрались до Москвы: изучаем механику «отсечки» в 16 килобайт > https://habr.com/ru/articles/1008164/ Провайдеры начали жестко фильтровать трафик по SNI. Если ты обращаешься к зарубежному серверу, TCP-хендшейк проходит успешно, но ровно через 16-20 килобайт сессия принудительно обрывается. Выживают только домены из специального белого списка, которых осталось около тысячи на весь интернет.❗️❗️❗️ Нравится формат? Ставь 👍 👉 Рубрика: #SkillHunter@LinuxSkill #Linux #DevOps #Security #VPN #Networking #DPI# Как проверить свой IP на блокировку с подменой SNI из белого списка curl -v --connect-to ::<твой_заблокированный_ip> https://ok.ruЕсли с поддельным разрешенным заголовком данные пролетают мгновенно, значит твой сервер жив, но попал под фильтрацию Продвинутого DPI. Спасают сложные схемы маршрутизации, например, проброс туннелей через промежуточные ноды у непопулярных хостеров. 2. Как ТСПУ ловит VLESS в 2026 и почему XHTTP — следующий шаг > https://habr.com/ru/articles/1009542/ Протокол Reality больше не спасает от блокировок. Он безупречно маскирует TLS-рукопожатие и справляется с активным зондированием, но системы фильтрации активно применяют поведенческий анализ. Туннель генерирует постоянный двунаправленный поток данных, который абсолютно не похож на реальный профиль веб-серфинга или запросы к API. Решение — переход на транспорт XHTTP, который бьет трафик на статистически нормальные пары HTTP запрос-ответ.# Фрагмент клиентского конфига для защиты от блокировки по числу хендшейков "xmux": { "maxConnections": 1 }Этот параметр в связке с новым транспортом помогает от так называемой «сибирской блокировки», когда фильтр рубит соединения за множество рукопожатий за короткое время. Что в итоге? Системы анализа пакетов научились проверять отпечатки библиотек, анализировать тайминги и выявлять аномалии в распределении трафика. Регулярно проверяй графики нагрузки на своих узлах и переводи критичную инфраструктуру на XHTTP, чтобы размыть поведенческий профиль соединения.
Снова зависла очередь печати, а бухгалтерия требует документы? Хватит ковырять настройки в графическом интерфейсе или судорожно перезапускать службу. Держи консольную шпаргалку для базового управления принтерами прямо из терминала. 1. Отправка файлов на печать Эти команды позволят быстро распечатать нужный документ без открытия сторонних программ.❗️❗️❗️ Нравится формат? Ставь 👍 👉 Рубрика: #шпаргалка@LinuxSkill #Linux #Sysadmin #DevOps #Printing #CLI# Печать файла напрямую в устройство $ cat [file] > /dev/lp # Отправить файл в очередь печати $ cat [file] | lpr # Форматировать файл (по 60 строк) и отправить на печать $ pr -l60 [file] | lpr # Распечатать файл на конкретном принтере $ lpr [printerName] [file]2. Просмотр очереди печати Перед тем как отменять задачи, полезно взглянуть, что именно застряло.# Показать текущую очередь задач $ lpq3. Отмена зависших задач Самый важный блок, когда нужно экстренно сбросить неудачную печать и успокоить пользователей.# Отменить текущую задачу печати $ lprm - # Удалить конкретную задачу по ее ID $ lprm [jobID] # Очистить всю очередь печати $ lprm -a all # Отменить все задачи на конкретном принтере $ cancel [printerName] # Отменить задачи конкретного пользователя $ cancel -u [user]4. Статус и управление принтером Используй эти ключи, чтобы проверить состояние устройства или принудительно его включить/выключить.# Отобразить подробный статус всех принтеров $ lpstat -t # Включить принтер $ enable [name] # Отключить принтер $ disable [name]Теперь зависшие документы тебе не страшны. Сохрани этот пост под рукой, чтобы быстро решать проблемы с печатью.
Помните, мы разбирали, как мессенджер MAX сканирует сеть и наличие VPN? Энтузиасты провели реверс-инжиниринг протокола и выкатили полностью открытый бэкенд. Сегодня у нас на разборе проект OpenMAX - эмулятор сервера для мессенджеров MAX и TamTam. Разберем архитектуру, посмотрим в исходники и учимся разворачивать независимую инфраструктуру. Проект написан на Python 3.12+ с активным использованием асинхронности (asyncio). Разработчик под ником Alexey Polyakov проделал огромную работу по реверсу официального API (api.oneme.ru и api.tamtam.chat). Стек технологий выглядит привычно и надежно для любого сисадмина: - Сетевое взаимодействие строится на websockets и TCP. - Для упаковки и сжатия трафика применяются msgpack и lz4. - В качестве базы данных поддерживаются MySQL, MariaDB и легкий SQLite (через aiosqlite). Судя по дампу SQL-таблиц, сервер локально хранит профили пользователей, токены авторизации, чаты, контакты и сами сообщения в формате JSON-объектов. Интересная деталь: автор проекта жестко выступает против современных трендов вайбкодинга. В правилах проекта (CODE_OF_CONDUCT.md) прямо указано, что OpenMAX не принимает правки и Pull Requests, написанные с использованием искусственного интеллекта и нейросетей. Только ручной хардкор. Как переключить на свой сервер? Просто скачать официальное приложение из стора и вбить IP-адрес не выйдет. Сервер требует модификации клиента. У вас есть два пути: 1. Использовать пропатченный мобильный клиент MAX для Android или iOS (в репозитории есть раздел с инструкциями по патчингу IPA и APK). 2. Собрать открытый клиент Komet из исходного кода, жестко заменив адреса серверов на свои локальные. Развертывание и настройка Проект пока находится на ранней стадии и не рекомендуется для сурового продакшена, но для тестирования закрытого корпоративного контура подходит. Для старта серверу обязательно требуются SSL-сертификаты. Если у тебя нет валидных сертификатов от Let's Encrypt, можно сгенерировать самоподписанные прямо в терминале.❗️❗️❗️ Нравится формат? Ставь 👍 👉 Рубрика: #News@LinuxSkill #MAX #OpenSource #Python #Security #SelfHosted #ReverseEngineering# Генерация самоподписанного сертификата X.509 на 365 дней openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365Далее нужно настроить переменные окружения. Сервер слушает сразу несколько портов для совместимости с разными клиентами.# Пример минимальной конфигурации .env файла host = "0.0.0.0" oneme_tcp_port = "443" tamtam_tcp_port = "4433" oneme_ws_port = "81" tamtam_ws_port = "82" log_level = "debug" db_type = "sqlite" db_file = "openmax.db" certfile = "cert.pem" keyfile = "key.pem"Что делать, если хочется попробовать? Авторы сами предупреждают в README: проект находится на ранней стадии разработки, вероятно полон багов и категорически не рекомендован для профессиональной среды. На данный момент у сервера нет опубликованных релизов, стабильных версий и changelog-ов. Под капотом: - Весь код написан на Python и лежит в директории `src/`. - Реализован собственный TCP/WS-стек через модули `oneme_tcp`, `tamtam_tcp` и `tamtam_ws`. - Конфигурация задается через файл `.env` (шаблон доступен в `.env.example`). - Схема базы данных описана в файле `tables.sql`. Уже этого набора характеристик достаточно, чтобы понять: пускать этот код в контур, где критична безопасность, нельзя. Вердикт: используйте проект исключительно как локальную песочницу в закрытой сети с тестовыми данными. Если очень хочется развернуть сервер — прячьте его в изолированный контейнер без доступа к боевым базам и вашей основной внутренней сети.
Снова забыл, как быстро отфильтровать логи, создать симлинк или разом поменять права на директорию? Хватит тратить время на StackOverflow — держи ультимативную шпаргалку, которая раз и навсегда закроет всю рутину в консоли. Сохраняй, чтобы не потерять! 1. Создание, удаление и чтение файлов❗️❗️❗️ Нравится формат? Ставь 👍 👉 Рубрика: #шпаргалка@LinuxSkill #Linux #Bash #DevOps #Sysadmin #CLI# Создать файл touch [fileName] echo "" >> [fileName] > [fileName] # Удалить файл rm [fileName] # Отобразить содержимое файла cat [fileName] bat [fileName] # Редактировать текстовый файл vi [fileName] nano [fileName]2. Копирование и перемещение# Копировать файл или папку cp [fileName] [newFileName] cat [fileName] > [newFileName] dd if=[fileName] of=[newFileName] # Переместить или переименовать mv [fileName] [newFileName]3. Директории и навигация# Создать папку mkdir [folderName] # Удалить папку rm -r [folderName] # Список содержимого папки ls exa lsd # Сменить папку cd [path] # Домашняя директория пользователя cd ~ # Родительская директория cd .. # Предыдущая директория cd - # Показать текущую директорию pwd # Дерево директорий tree4. Ссылки, поиск и тип файлов# Физическая ссылка на файл/папку ln [fileOrigin] [linkDest] # Символическая ссылка ln -s [target] [linkName] # Найти фразу внутри файла grep [phrase] [fileName] rg [phrase] [fileName] # Показать тип файла file [fileName] # Сравнить два файла diff [file1] [file2]5. Фильтрация и просмотр# Посчитать строки, слова и символы wc [fileName] # Показать первые строки файла head [fileName] # Показать последние строки файла tail [fileName] # Просмотр содержимого с навигацией less [fileName] more [fileName] # Отсортировать содержимое sort [fileName]6. Права, владельцы и размер# Просмотр прав доступа ls -l [file] stat [file] # Установить права доступа chmod [permission] [file] # Сделать файл исполняемым chmod +x [file] # Изменить владельца файла chown [user] [file] # Изменить группу файла chgrp [group] [file] # Размер поддиректорий du -h --max-depth=1 dust7. Монтирование и Корзина# Монтировать файловую систему mount /dev/[device] [path] # Размонтировать umount [path] # Список файлов в корзине ls -l ~/.local/share/Trash/files trash-list # Очистить корзину rm -r ~/.local/share/Trash trash-empty # Переместить файл в корзину gio trash [file]Теперь ты во всеоружии. Перешли этот пост коллеге, который до сих пор гуглит базовые ключи!
Инструкция для вас: на что смотреть, где подстелить соломку и какие неудобные вопросы задавать на собеседовании. Деньги предлагают отличные (от 450 000 рублей), проект масштабный (100+ млн пользователей), но текст вакансии зияет дырами. Давайте разбираться. 1. Адекватность названия и задач: Ловушка "Человек-оркестр" В заголовке висит Senior DevOps Engineer, но реальность куда суровее. От вас хотят гибрида классического DevOps, MLOps и... бэкендера. Самый жирный красный флаг в задачах — требование экспертного владения Golang для backend-разработки и работы с gRPC/HTTP. О чем это говорит нам: Компания сама не до конца понимает, кто ей нужен. Вы либо будете 80% времени пилить продуктовый код и балансировать gRPC-трафик, а в оставшиеся 20% чинить пайплайны на коленке, либо наоборот. В любом случае, с вас будут спрашивать за две, а то и три разные роли. 2. Технологический стек: Что скрыто за фасадом? Сам базовый стек выглядит зрелым: AWS или GCP, K8s (GKE), Docker, Terraform, Linux. Но дьявол кроется в том, чего в тексте нет: • Где CI/CD? В описании нет ни слова про инструменты непрерывной интеграции. GitLab CI, Jenkins, GitHub Actions? Если этого нет в тексте, есть риск, что код в прод едет bash-скриптами со старого ноутбука техлида. • Абстрактный мониторинг: Хотят "глубокий опыт настройки мониторинга". Какого? Prometheus + Grafana? Datadog? ELK? Вам нужно знать, будете ли вы писать PromQL-запросы или ковыряться в легаси-системах. • Магия MLOps: Вас просят деплоить ML-модели в продакшен. При этом знание Python (база для MLOps) засунуто в раздел "Будет плюсом". Про специализированные инструменты (Kubeflow, MLflow, Triton) вообще тишина. Скорее всего, ML-инфраструктуры там еще нет, и строить ее с нуля придется вам. 3. Скрытые риски и "Красные флаги" • «Атмосфера стартапа из Кремниевой Долины». Братцы, на нашем инженерном сленге это переводится однозначно: отсутствие внятной документации, хаос в процессах согласования, деплои по пятницам и переработки по ночам ради быстрого Time-to-Market. • On-call и дежурства. Аудитория в 100 миллионов пользователей означает жесточайший трафик и неизбежные ночные инциденты. В вакансии ни слова про дежурства. Кто встает по алерту в 3 часа ночи? Как это оплачивается? 5. Резюме: Инструкция перед собеседованием Если вас зацепила цифра в 450к и масштаб проекта, откликаться стоит. Но на техническом интервью снимайте розовые очки и жестко проясняйте следующие моменты: 1. Уточните баланс ролей. Прямо спросите: "Сколько процентов времени я буду писать бэкенд на Go, а сколько — заниматься чистой инфраструктурой и деплоем моделей?" 2. Сделайте аудит текущего стека. Требуйте назвать конкретные инструменты. Как устроен CI/CD прямо сейчас? Через что гоняется мониторинг? На чем крутятся ML-модели? 3. Проясните процессы On-call. Задайте вопрос в лоб: "Как часто падают системы, кто дежурит по ночам и как эти дежурства компенсируются (деньги/отгулы)?" 4. Выясните формат контракта. Узнайте юрисдикцию (компания международная), как именно будут переводить эти 450к (валюта, рубли, крипта) и какие налоги лягут на ваши плечи. 5. Требуйте инженерные бенефиты. Уточните про рабочий ноутбук, доступы и социальный пакет. Вы не джун, чтобы работать за идею и "атмосферу стартапа".❗️❗️❗️ Нравится формат? Ставь 👍 👉 Рубрика: #вакансии@LinuxSkill #вакансии #DevOps
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
