Обновить
489.62

Системное администрирование *

Лишь бы юзер был доволен

Сначала показывать
Порог рейтинга

Открытый проект FileSync позволяет отправлять файлы сразу на все устройства без облаков и мессенджеров. Работает прямо в браузере: нужно просто выбирать файл и передать одновременно на несколько устройств в реальном времени. Передача идёт напрямую между устройствами, с end-to-end шифрованием — файлы нигде не сохраняются и не проходят через сервер. Можно отправлять файлы сразу на смартфон, ноутбук и планшет через WebRTC. Подходит для больших файлов, не режет скорость как мессенджеры. Работает кроссплатформенно: iOS, Android, Windows, macOS, Linux. Можно развернуть у себя через Docker и использовать как личный файлообменник. Сервер нужен только для установления соединения, контент он не видит.

Теги:
+5
Комментарии1

Проект HTTP Cats (GitHub) позволяет использовать котиков в разных ситуациях для объяснения сетевых ошибок и проблем в работе веб-систем.

Теги:
+6
Комментарии6

Ребята, я сегодня релизнул cli-stash. Это TUI-утилита на Go + Bubble Tea для сохранения shell-команд в "избранном".

Пример использования cli-stash
Пример использования cli-stash

Она решает простую боль: сложные команды (docker, kubectl, ffmpeg) постоянно забываются, а копаться в history каждый раз это страдание.

Что умеет:

  • Сохраняет ваши команды в избранном

  • Возможность добавить из истории шелла

  • Нечеткий поиск

  • Сортировка по частоте использования

И самое крутое, что команда вставляется прямо в терминал. Таким образом вам не надо ничего копипастить: нашел → выбрал → enter → команда уже в cli.

# Установка в Linux
go install github.com/itcaat/cli-stash@latest

# Сборка из исходников
git clone https://github.com/itcaat/cli-stash.git
cd cli-stash
go build -o cli-stash .
sudo mv cli-stash /usr/local/bin/

В macOS поставить изян brew install itcaat/tap/cli-stash

Исходники и инструкция по использованию есть на github.

_________________

Хватит читать DevOps-статьи от людей без продакшена. Я рассказываю про свой реальный опыт в своем Telegram-канале DevOps Brain 🧠 ↩

Теги:
+6
Комментарии10

Пользователи постоянно жаловались, что часы на микроволновке в офисе никогда не показывают правильное время, потому что хозяину устройства было лень устанавливать их вручную. Поэтому он сделал в cron задачу по запуску скрипта un**ck-microwave.sh, которая ненадолго отключает питание каждые сутки в полночь.

Теги:
+12
Комментарии22

Сегодня хочу поднять тему, которую редко обсуждают отдельно, но без неё Docker просто не работал бы так стабильно и предсказуемо - манифесты образов.

Периодически в разные частях документации или статьях про Docker вы будете встречать "манифесты". Обычно это звучит как что-то второстепенное: мол, есть какая-то мета-информация, по которой Docker собирает образ из слоёв.

Но на деле это одна из ключевых деталей, которая отвечает за то, что контейнеры:

  • воспроизводимы

  • одинаковые на разных машинах

  • и не превращаются в "ну у меня работало".

Я попытаюсь все описать максимально просто.

Docker Manifest - это JSON-документ, который описывает образ. Можно представить его как схему или инструкцию, по которой Docker понимает:

  • какие слои относятся к образу

  • какие контрольные суммы должны быть у каждого слоя

  • в каком порядке их нужно использовать

  • для какой ОС и архитектуры этот образ подходит

И важный момент: когда ты делаешь docker pull, Docker сначала получает манифест, а уже потом начинает скачивать слои.

Как посмотреть манифест самому: docker manifest inspect nginx:latest.

Тут можно заметить, что один тег (nginx:latest) может ссылаться сразу на несколько вариантов образа - например под amd64 и arm64. Это как раз история про multi-arch. Иногда под словом manifest имеют в виду не сам образ, а manifest list (index). Это как меню: Docker смотрит на твою платформу и выбирает подходящий вариант (amd64/arm64).

Каждый слой Docker-образа имеет SHA256-хеш, который вычисляется из его содержимого.

Логика максимально простая:

  • поменялся файл

  • поменялось содержимое

  • поменялся хеш

  • значит получился другой слой

По сути это очень похоже на философию Git: всё завязано на содержимое, а не на "имя файла".

Docker Registry использует Content Addressable Storage - то есть хранит и раздаёт данные не по названию, а по их хешам.

Что происходит при push / pull?

Если упростить до понятной схемы, то процесс примерно такой:

  • клиент сначала отправляет/получает манифест

  • registry проверяет хеши и наличие слоёв

  • передаются только те слои, которых ещё нет

  • каждый слой проверяется по SHA256

То есть никакой лишней передачи данных и никаких "примерно совпало".

Комбинация манифестов и хешей даёт сразу несколько сильных преимуществ:

  • Безопасность - слой нельзя незаметно подменить

  • Экономия места - одинаковые слои не хранятся по сто раз

  • Целостность - скачанное гарантированно равно загруженному

  • Версионирование - образ это конкретная комбинация слоёв, а не “что-то похожее”

Именно поэтому условный nginx:latest на dev и на prod - это реально один и тот же образ, а не "почти такой же, но чуть другой". Ладно, давайте будем более дотошными. На самом деле нет - использовать latest плохая практика. За время пока образ приехал,- там уже могут быть разные образы.

Как минимум используйте конкретный тег, а еще лучше даже sha256 docker pull nginx@sha256:...

_________________

Хватит читать DevOps-статьи от людей без продакшена. Я рассказываю про свой реальный опыт в своем Telegram-канале DevOps Brain 🧠 ↩

Теги:
-1
Комментарии0

Хочу поделиться записью моего последнего вебинара - в преддверии следующего. Буду рад всем, кто посмотрит.

📘 Часть 1. Теория и философия Digital Q.DataBase 
Разбираем фундаментальные вопросы: 
• Как Digital Q.DataBase объединяет три SQL-диалекта
(T-SQL, PL/SQL, PL/pgSQL) в одном ядре? 
• Как продукт обеспечивает простоту и высокую скорость миграции? 
• Что входит в базовый состав коробочной версии? 

🛠 Часть 2. Практика: установка и работа с диалектами 
• скачиваем и устанавливаем Digital Q.DataBase, 
• получаем документацию, 
• выполняем практику по SQL-диалектам на демостендах. 

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

📎 Полезные ссылки 
🔹 Бесплатное получение дистрибутива: https://database.diasoft.ru
🔹
 Документация: доступна внутри дистрибутива 
🔹 Telegram-сообщество Digital Q.DataBase: https://t.me/dqdatabase

Теги:
+5
Комментарии0

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

Речь про vi...😱 

Как выйти из vi? Никак. Это не редактор, это пожизненный контракт.

Я открыл vi один раз в 2009 году. С тех пор у меня один и тот же терминал, потому что я всё ещё пытаюсь выйти.

Если ты случайно запустил vi на проде — проще выкинуть сервер, чем найти правильную комбинацию клавиш.


Это тот самый редактор, который в обычной жизни можно спокойно не трогать годами… А потом ты оказываешься в air-gap, где:

  • нет vscode

  • нет nano

  • нет mc

  • иногда даже less нет и кажется, что у тебя есть только vi и судьба

И вот ты открываешь конфиг… и мозг такой: эээээ мы не умеем, всё, до свидания.

Давай разберёмся, как перестать бояться vi и научиться выживать с ним спокойно.

Почему vi вызывает ступор? Потому что он не работает как обычные редакторы. Ты нажимаешь клавиши - а текст не печатается. Пытаешься выйти - не выходит. И где-то рядом уже открывается вкладка “как выйти из vi”, но интернет… в другой реальности.

Главное, что нужно понять - в vi есть несколько режимов:

  1. Normal mode - это режим команд и перемещения. Тут ты не печатаешь текст, а управляешь редактором.

  2. Insert mode - это режим, где можно реально редактировать и вводить текст.

  3. Command mode (через :) - cохранение, выход, всякие служебные команды и тд

Минимальный набор клавиш, чтобы выжить:

  • Войти в редактирование -> i, a, o

  • Вернуться обратно в команды -> Esc

  • Сохранить файл -> :w

  • Выйти -> :q

  • Сохранить и выйти -> :wq

  • Выйти без сохранения -> :q!

Полезные команды, которые реально пригодятся:

  • удалить строку -> dd

  • вставить строку ниже -> o

  • отменить действие -> u

  • повторить последнее действие -> .

  • поиск: / и дальше текст который ищем

Пример: быстро поправить конфиг и уйти живым

vi /etc/hostname

Дальше всё по шагам:

  1. нажми i и внеси правки

  2. нажми Esc

  3. введи :wq

  4. готово - конфиг сохранён, ты победил

А если ты хочешь владеть vi как ниндзя, то вот тебе Vim Cheat Sheet https://vim.rtorr.com/

_________________

Хватит читать DevOps-статьи от людей без продакшена. Я рассказываю про свой реальный опыт в своем Telegram-канале DevOps Brain 🧠 ↩

Теги:
+7
Комментарии14

Представлен открытый проект эмулятор Time Station Emulator, который может превратить практически любой смартфон или планшет в низкочастотный радиопередатчик, транслирующий сигнал времени и синхронизировать большинство радиоуправляемых («атомных») часов и наручных часов.

Решение имеет совместимость с большинством радиоуправляемых часов: эмулирует пять действующих радиостанций передачи сигналов времени (BPC, DCF77, JJY, MSF и WWVB). Сетевое время: вычисляет текущее время из сети с помощью алгоритма, подобного NTP. Независимость от местоположения: поддерживает применение смещения к передаваемому времени ±24 часа от текущего времени. Поддерживает летнее/зимнее время (BST/CEST/DST): передаёт информацию о переходе на летнее время для DCF77, MSF и WWVB. Поддерживает високосные секунды: передаёт смещение DUT1 для MSF и WWVB. Работает на стороне клиента, в браузере: полностью в браузере; не требует установки, регистрации и сбора данных.

Теги:
+2
Комментарии1

Открытый проект CompactGUI оптимизирует дисковое пространство, занятое играми. Степень сжатия — до 60%. Это не архивация — игры не запаковываются в ZIP и RAR, тут совершенно другой метод. Игры продолжат работать как обычно — ярлыки и папки будут на месте. Если игра обновилась в Steam, то решение само досожмёт обновление. Проект использует встроенные алгоритмы Windows.

Теги:
0
Комментарии0

Представлен легковесный инструмент Crawlee, который может спарсить информацию с сайтов, соцсетей и других ресурсов, а также обходит защиту от ботов. Может скачать аудио, видео, изображения, метаданные, документы и прочие нужные файлы. Скрипты решения написаны на Python, имитирует поведение человека на сайтах, в соцсетях и других ресурсах. Инструмент поддерживает мультизадачность и не теряет при этом скорость. Можно собирать несколько видов данных одновременно. Работает полностью локально.

Теги:
+2
Комментарии0

Открытый проект Mirror ищет скрытые процессы на macOS и следит за тем, чтобы никакой вредный код не потреблял память ПК. Умеет находить скрытые процессы, убивает процессы за один клик, включая даже «невидимые» процессы.

Теги:
+2
Комментарии3

Представлен бесплатный открытый проект HeartMuLa, который генерирует музыку на уровне платных ИИ-студий. Это полноценная музыкальная «студия всё в одном»: можно создавать треки по описанию, делать песни в стиле любимых артистов и работать с готовым аудио.

Что умеет HeartMuLa:

  • пишет тексты песен через встроенный чат-бот;

  • генерирует треки с вокалом и текстом длиннее 4 минут;

  • можно загрузить любой аудиофайл, и ИИ перенесёт его вайб и стиль в новый трек;

  • работает даже на слабом железе: локальная версия требует всего ~3 ГБ видеопамяти;

  • простой и понятный интерфейс. Фактически: бесплатный аналог Suno, но без подписок, ограничений и облака;

  • можно ставить локально и делать музыку прямо на своём ПК.

Теги:
+2
Комментарии6

Открытый загрузчик Telegram Files позволяет скачать файлы из Telegram даже из закрытых чатов, включая аудио, видео, картинки, голосовые, гифки, документы и прочие файлы. Поддерживает сразу несколько аккаунтов в Telegram. Можно скачивать файлы из разных чатов одновременно и вообще не терять в скорости. Поддерживает превью файлов во время скачивания.Работает локально, не нарушает политику мессенджера.

Теги:
+2
Комментарии0

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

Обзор и практическое использование Iptables

Iptables — базовый инструмент для админов и DevOps-инженеров, которым нужно быстро и прозрачно управлять сетевым трафиком на Linux-сервере: что пропускать, что блокировать и куда перенаправлять.

Как устроен Iptables, как поставить утилиту на Ubuntu/Debian и CentOS, синтаксис команд и набор самых ходовых сценариев — в базе знаний Рег.облака.

Теги:
+3
Комментарии1

Представлен открытый проект Handy, который освобождает руки пользователя и превращает микрофон в клавиатуру. Работает в Word, Telegram и даже в VS Code. Можно диктовать тексты в любом формате, приложении и любым голосом. Под капотом: Whisper от OpenAI или Parakeet от Nvidia. Все нейронки понимают русский. Проблем со вводом не будет. Работает полностью локально — все вычисления идут только на ПК. Сервис отсекает шумы, помехи, чихи и шмыганья — на выходе получается чистый звук, который идёт в такой же выверенный текст. Работает на macOS, Windows и Linux. Простой и понятный интерфейс. Разработчик регулярно обновляет решение.

Теги:
+6
Комментарии6

Представлен открытый проект MatrixDefender-4.2, который помогает убрать майнеры на ПК или ноутбуке, а также различные сетевые угрозы и прочий мусор. Сервис написан на Python, устанавливается за пару кликов. Проект находит и удаляет майнеры, лечит от LimeRAT, QuasarRAT и другие угрозы, блокирует С2-сервервы, которые управляют атаками на ПК.

Теги:
0
Комментарии0

Представлен открытый проект EyeOfWeb. Это локальный OSINT-поисковик с точных распознаванием лиц на базе нейросети InsightFace, которая сканирует черты лица с фото и сравнивает с тысячами изображений в сети. Источники поиска можно задать вручную: сайты, форумы, соцсети, тематические порталы и другие ресурсы. Также можно добавить поиск по метаданным фото. Сервис помогает устроить даже мультипоиск нескольких людей с фото. Для работы нужно 8 ГБ памяти. 

Теги:
+2
Комментарии0

Представлен проект CapacityTester — утилита с графическим интерфейсом для выявления реальной ёмкости носителей информации. Решение кроссплатформенное, написано на C++ и создано с использованием фреймворка Qt.

Есть два режима работы CapacityTester:

  1. Аналогичный используемому при работе консольных утилит f3write/f3read (пакет f3 — Fight Flash Fraud), когда свободное место на носителе (с файловой системой) заполняется специально сформированными файлами. На носителях большого объёма требуется длительное время для проверки.

  2. Деструктивный режим, когда данные пишутся напрямую на носитель, и фейковая ёмкость может быть выявлена быстрее (у f3 тоже, вроде бы, есть аналогичный режим, но это не точно).

Помимо авторских сборок, у программы есть пакет в репозиториях Altlinux и PKGBUILD в AUR.

Теги:
+3
Комментарии0

Представлен открытый проект Clipy (улучшенный аналог проектов cliply.space, yt-dlp CLI и 4K Video Downloader), который позволяет скачивать ролики с Youtube и сразу редактировать без потери качества. Решение качает контент в оригинальном качестве без перекодирования. Проект имеет встроенный видеоредактор — можно быстро обрезать, разделить видос или склеить. Всё работает локально на ПК. Полностью бесплатно и с открытым исходным кодом и удобным интерфейсом.

Теги:
+2
Комментарии2

Представлен открытый проект Mimesis: The Fake Data Generator для генерации фейковых данный для проектов, пентеста, хакинга или анонимности в сети, включая ФИО, email, адреса проживания, телефоны, локации, смена стран и адаптирование данных в соответствие с задачами. Полезно также для создания файлов JSON и XML произвольной структуры, а также анонимизации данных. Устанавливается за один клик, имеет простой и понятный интерфейс.

Теги:
0
Комментарии0
1
23 ...

Вклад авторов