DeSoft.ru
236 subscribers
116 photos
10 videos
1 file
213 links
Авторский канал: ИТ, разработка, безопасность, администрирование.

Сайт: desoft.ru
Автор: @y_demin
Download Telegram
Для продвинутых пользователей терминала, знатоков bash и просто любителей работы в консоли существует забавный проект - Suicide Linux. По сути это докер образ на базе Debian с преднастроенным .bashrc, который подменяет оригинальный файл в системе при запуске.

Suicide Linux воспринимает любую ошибку при вводе команд в консоли, как запрос на очистку жесткого диска (rm -rf /) 😄 Проверь насколько долго ты сможете пользоваться системой прежде, чем потеряешь все свои данные.

Для особо отважных предлагается примонтировать в докер раздел файловой системы хоста 😉
😁3👍2
👷 На сайте вышла очередная заметка про Golang

На этот раз затронута тема архитектуры проекта в Go. Предлагается организация сервисов с разделением на уровни ответственности, частично основываясь на принципах Clean Architecture, DDD и накопленного опыта из Go-сообщества.

На практике применял своего рода разделение по назначению, что в небольших сервисах отлично срабатывает в случае масштабирования или внесения серьезных изменений в код. Этот принцип я насобирал из десятка примеров, статей и выступлений Golang разработчиков, которые были актуальны года 4 назад. Здесь же представлен несколько иной подход - актуальный на сегодняшний день, и, я бы сказал, более каноничный.

#golang
👍6
🚜 Linux по четвергам


🔒 Управление правами доступа

🔻 chmod - Изменение прав доступа файлов в восьмеричной или символьной записи
chmod 755 script.sh          # rwxr-xr-x
chmod u+x,g-w,o-r file.txt # символьная запись

755: владелец полные, группа/остальные чтение+выполнение
u/g/o: пользователь/группа/остальные

🔻 chown - Изменение владельца файла и группы рекурсивно
chown -R user:group /path/to/directory

-R: рекурсивно
user:: изменить только пользователя
:group: изменить только группу

🔻 chgrp - Изменить группу-владельца для файла или каталога
chgrp -R my_group folder

-R: рекурсивно

🔻 umask - Установка прав доступа по умолчанию для создаваемых файлов
umask 022    # файлы: 644, каталоги: 755
umask -S # отображение в символьной форме


🔻 sudo -l - Список разрешенных sudo команд для текущего пользователя
sudo -l -U username    # проверка для конкретного пользователя

-l: список прав
-U: для определенного пользователя

💡 Несколько твиков

▫️ chmod --reference=file1.txt file2.txt для быстрого назначения прав одного файла на другой.
▫️ chown --reference=file1.txt file2.txt для быстрого назначения владельца одного файла на другой.
▫️ find / -perm -u+s -type f для поиска всех файлов с установленным SUID битом (потенциальные угрозы безопасности), начиная с корня файловой системы.

#linuxthursday #linux #шпаргалка
👍5🔥2
‼️ Начудил немного с ботом для мониторинга под вечер. В базе было несколько пользователей, видимо кто-то попал под баг вместе со мной.

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

🛠 Экстренно отловил и внес корректировки.

#monitoring #проекты #fail
👍6
📝 Changelog бота для мониторинга веб-ресурсов

Третья версия бота. Уже куда более приятная к использованию (не считая неотработанного бага 🫤) за счет автоматизации основной функциональности.

Автоматическая проверка списка адресов дважды в день.
Отчет в закрепе чата.
Вместо постоянной отправки новых сообщений бот редактирует закрепленный отчет, таким образом пользователь всегда видит актуальную информацию.
Уведомление на важные изменения в результатах проверки (просроченный / недоступный сертификат, скоро истекающий сертификат, восстановление ресурса после найденных ранее проблем). Уведомления улетают отдельными сообщениями.
Сбор внутренней статистики по базе на основе количества ресурсов, запросов, результатов проверок.

⚒️ Дальнейшие перспективы

В комментариях предложили проводить проверку факта доступности сервиса с ip адресов разной географии, что может быть актуально в связи с различными блокировками.
Переезд с файловой базы на PostgresSQL.
Служебные команды для администратора.
Мониторинг работы системы.

🌐 Исходники на gitverse
🔭 Бот @monid_bot

#monitoring #проекты
🔥3👍1
💡 Собранное ранее в n8n решение задачи для генерации статей по youtube видео ([1], [2], [3]) работает только с извлеченными субтитрами.

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

📌 В контексте задачи подготовил подборку систем для автоматизированного анализа и обработки видео

🔥 VideoDB - opensource платформа, способная закрыть широкий перечень потребностей
▫️ Репа
▫️ Нода для n8n
▫️ Self hosted версия с подключением к разным провайдерам

🔹 AI Studio - студия от гугла с Gemini под капотом (просто в чате с Gemini анализ видео недоступен)

🔹 Готовый n8n workflow сборщика summary из видео с использование Gemini

🔹 memories.ai - платформа для анализа, обработки и сопровождения видео

🔹 twelvelabs.io - еще одна площадка с широкими возможностями анализа видео

#ai #n8n #automation #tools #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👏1
🙈 Собирать заметки под разные платформы - та еще рутинная работа. Хочется охватить как можно больше основных каналов, однако, как начинаешь тратить на это дополнительные часы - все желание пропадает.

🦾 Но в арсенале же теперь есть система n8n! Поэтому следующей задачей для автоматизации будет переформатирование и постинг из Telegram, например, в ВК. Дальше больше, начну с одной платформы, а там по нарастающей, если результат будет стоить того.

#ai #n8n #automation
👍6👏1
🎉 Пару месяцев назад шумел ИИ-агент для разработки ChatGPT Codex - "убийца Claude Code" и все в этом духе. Codex и правда показывал результаты довольно внушительные, во многом опередив конкурента, судя по многочисленным разборам и тестам.

Отлично! Надо попробовать, может проект какой набросать с его помощью, думаю я. Как дошли руки - вижу новость - Anthropic выпустила Claude Code 2.0 - "убийцу убийц", всего 2-3 месяца и ответка прилетела🤷‍♂️. Изменения интересные и в vscode встроили полноценно (CHANGELOG).

А тут и Китай со своим DeepSeek старается не отставать. Поле битв так называемого ИИ не остывает ни на секунду. Глаза разбегаются. Когда-нибудь я обязательно соберу агентскую систему...

#ai #news
👍3
🎁 OpenAI Academy опубликовала 300+ промптов на все случаи жизни. В подборке как общие запросы, так и целевые, под разные профессии: руководители, специалисты по продажам, маркетологи, разработчики, инженеры, эйчары и прочее.

Забираем "best practice" для повседневной работы с чат-ботами на официальном сайте академии 🎉

#ai #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🚜 Linux по четвергам


📊 Мониторинг системы и производительности

🔻 iotop - Мониторинг использования дискового I/O по процессам в реальном времени
iotop -o -d 2

-o: показывать только процессы с I/O
-d: задержка между обновлениями

🔻 vmstat - Отображение системной статистики (CPU, память, I/O)
vmstat 2 5    # интервалы 2 секунды, 5 раз

Показывает: процессы, память, swap, I/O, систему, статистику CPU

🔻 iostat - Мониторинг загрузки устройств системного I/O
iostat -x 1   # расширенная статистика каждую секунду

-x: расширенная статистика
-c: только CPU
-d: только устройства

🔻 sar - Сбор и отчет об активности системы
sar -u 1 3    # использование CPU, интервалы 1 секунда, 3 раза
sar -r # использование памяти

-u: CPU
-r: память
-n DEV: сетевая активность по интерфейсам
-f: чтение из файла
-S: файл подкачки

💡 Несколько твиков

watch -n 1 'free -h && echo && df -h && echo && uptime' для непрерывного мониторинга или dstat -cdngy для комплексной статистики системы в реальном времени.

#linuxthursday #linux #шпаргалка
👍4
Forwarded from infosec
Андрей Созыкин завершил основной раздел своего курса по компьютерным сетям и приступил к следующей части, которая будет посвящена теме защищенных сетевых протоколов. В новом разделе будут рассмотрены следующие протоколы:

TLS – Transport Layer Security;
HTTPS – HTTP Secure;
DNS-over-TLS, DNS-over-HTTPS;
DNSSEC – DNS Security Extensions.

Отмечу, что лично я считаю данный курс одним из лучших и понятных в части изучения сетей. А еще курс полностью бесплатный и опубликован на YouTube, что делает его доступным для всех желающих! Напомню, что Андрей начал актуализировать свой курс еще год назад и сейчас можно посмотреть более 38 уроков:

Введение в курс;
Организация компьютерных сетей;
Терминология сетей;
Модель ISO OSI;
Модель и стек TCP/IP;
Стандартизация сетей;
Организация сетей TCP/IP;
Анализатор сети Wireshark;
Прикладной уровень;
Протокол HTTP;
HTTP в текстовом режиме;
Кэширование в HTTP;
HTTP в Wireshark;
HTTP API;
Практика по HTTP API;
HTTP API в Postman;
HTTP API в curl;
Система доменных имен DNS;
Протокол DNS;
Протокол DNS в Wireshark;
Типы записей DNS;
Типы записей DNS в Wireshark;
Утилиты DNS host и dig;
Итеративный и рекурсивный режимы DNS;
Транспортный уровень;
Протокол UDP;
Протокол UDP в Wireshark;
Протокол TCP;
Протокол TCP: скользящее окно;
Протокол TCP: установка соединения;
Утилиты TCPView, netstat и ss;
Протокол TCP: формат заголовка;
Протокол TCP в Wireshark;
Протокол TCP: управление потоком;
Протокол TCP: управление перегрузкой;
Интерфейс сокетов;
Практика по сокетам;
Протоколы, интерфейсы и сервисы.

Когда будет завершен раздел с описанием защищенных сетевых протоколов, то я обязательно опубликую эту информацию в канале. Либо можете самостоятельно отслеживать выход нового материала в этом плейлисте: https://www.youtube.com/playlist/seti

P.S. Не забывайте про мой репозиторий, в котором собрана подборка материала для изучения сетей (от курсов и книг, до шпаргалок и сообществ): https://github.com/SE-adm/Awesome-network

#Сети
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2
Истек недавно срок регистрации одного домена. Ресурс был добавлен в бота для мониторинга. Смотрю актуальную проверку - срок истечения сертификата 65 дней. Причем тут сертификат? Он же автоматически перевыпускается раз в 3 месяца и не имеет никакого отношения к сроку регистрации домена...

Отсюда новая и куда более важная функциональность в боте - проверка срока истечения регистрации домена, чтобы не пропустить его продление и не потерять домен, т.к. выкупаются они моментально.

🌐 Исходники на gitverse
🔭 Бот @monid_bot

#monitoring #проекты
👍4
👁 Мониторинг ресурсов и процессов Linux - типовая и ежедневная задача, решаемая рядом стандартных инструментов. Ниже подборка современных альтернатив устаревшим, иногда сложным для восприятия, утилитам top, htop, ps и им подобным.

🔹 gtop - терминальный дашборд с системной информацией и процессами на nodejs

🔹 bottom - кросс-платформенный графический монитор процессов и сборщик системной информации в терминале на Rust. Состоит их набора кастомизируемых виджетов, что позволяет настроить представление под себя.

🔥 glances - кросс-платформенное решение на Python с широким набором собираемое информации. Работа как в режиме клиента, так и сервера для удаленного мониторинга, API, web интерфейс, экспорт статистики в популярные форматы.

🔥 btop++ - мощное решение на C++ с поддержкой GPU, возможностями визуальной кастомизации, выбора тем и множеством других настроек.

🔹 procs - современный монитор процессов на Rust. Настраиваемый, легкий, с поддержкой расширенной информации о процессах по сравнению с ps.

#linux #tools #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Для получения образов в Docker по умолчанию используется официальный реестр - Docker Hub, а сделав несколько правок в конфигурации, можно подключиться к любому другому публичному или частному реестру.

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

Также подходит вариант организации собственного реестра. Однако, это довольно затратно, т.к. надо развернуть сервер с запасом ресурсов, обеспечить безопасность, доступ извне и так далее, что для разовых операций уж точно будет избыточным.

🎈 Для решения задачи трансфера локальных образов напрямую на целевую машину существует проект unregistry. Это плагин для Docker, который позволяет отправлять образы по слоям через ssh, т.е. синхронизировать их с удаленным хостом. Особенностью является отправка только тех слоев образа, которых еще нет на удаленной машине, что значительно повышает скорость синхронизации.
rsync для Docker образов


🔎 Как работает

▫️ Устанавливается ssh соединения с удаленным сервером.
▫️ На сервере запускается контейнер unregistry, который выступает в роли временного локального реестра (контейнер загружается из реестра github - ghcr.io, либо, в случае отсутствия доступа к интернет на целевой машине, его можно загрузить локально заранее и отправить на целевую машину через docker save image | ssh user@host 'docker load').
▫️ С локальной машины, откуда вызвали скрипт трансфера, пробрасывается случайный порт на порт unregistry удаленной машины, чтобы локальный Docker-клиент мог обратиться к удаленному unregistry контейнеру как к локальному.
▫️ Выполняется docker push через открытый туннель. unregistry на сервере проверяет существующие слои в хранилище и запрашивает только недостающие. Происходит передача слоев через ssh.
▫️ На удаленной машине останавливается и удаляется временный контейнер unregistry и закрывается ssh-туннель.

🔨 Установка

mkdir -p ~/.docker/cli-plugins
# скачиваем скрипт и сохраняем в каталог плагинов Docker
curl -sSL https://raw.githubusercontent.com/psviderski/unregistry/v0.3.1/docker-pussh -o ~/.docker/cli-plugins/docker-pussh
# делаем исполняемым
chmod +x ~/.docker/cli-plugins/docker-pussh


🚀 Примеры использования

# отправка на определенный ssh порт
docker pussh myapp:latest user@host:2222

# с использованием ключей
docker pussh myapp:latest user@host -i ~/.ssh/id_rsa


🌐 Больше примеров в описании репозитория.

📌 В итоге, представленный проект упростит деплой образов за счет исключения из цепочки необходимости использования реестра. Отлично подойдет для локального применения в homelab, встраивания в CI/CD и даже продакшена.

#docker #tools #deploy #cicd #homelab
👍6🔥1
📚 Cursor выпустили бесплатный интенсив для разработчиков, которые используют или планируют использовать ИИ для написания софта.
Этот курс поможет понять основы и покажет практические паттерны того, как создавать софт с помощью ИИ-моделей и инструментов. Мы приведём примеры на базе Cursor, но эти паттерны применимы к любым ИИ-моделям и продуктам.


🔸 Модели и их ограничения
🔸 Практика работы с ИИ. Как взаимодействовать с ИИ, чтобы получать рабочий код.
🔸 Вспомогательные инструменты
🔸 Агенты

🌐 Весь материал на русском языке. Проходим здесь.

#ai #полезное
👍5
🚜 Linux по четвергам


🖥 Системная информация и аппаратура

🔻 lscpu - Отображение подробной информации об архитектуре CPU
lscpu | grep -E "(Model|CPU\(s\)|Thread|Core)"

Показывает: модель CPU, ядра, потоки, архитектуру, размеры кэша

🔻 lsblk - Список блочных устройств в формате дерева
lsblk -f    # показать информацию о файловых системах
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,FSTYPE

-f: информация о FS
-o: пользовательские колонки
-a: все устройства

🔻 dmidecode - Отображение информации об оборудовании из DMI/SMBIOS
dmidecode -t memory | grep -i size        # информация о RAM
dmidecode -t system | grep -E "(Manufacturer|Product)"

-t: фильтр типа (bios, system, baseboard, chassis, processor, memory, cache, connector, slot)

🔻 inxi - Скрипт системной информации с исчерпывающим выводом
inxi -Fxz    # полная информация о системе, дополнительные детали, фильтр приватных данных
inxi -b # базовая информация о системе

-F: полный вывод
-x: дополнительные детали
-z: фильтр приватных данных
-b: базовая информация

💡 Твик: bash-скрипт системной информации для быстрых обзоров системы.
#!/bin/bash
echo "=== Сводка системы ==="
uname -a
lscpu | head -5
free -h
df -h /
uptime


#linuxthursday #linux #шпаргалка
👍3👏1
Proxmox сообщество не перестает расширяться, альтернативу такому комплексному решению в opensource среде подобрать довольно сложно. Широкое распространение, что логично, ведет к появлению все большего числа сопутствующих инструментов и сервисов, поэтому решил посвятить ряд подборок проектам proxmox тематики.

⚒️ Подборка скриптов и утилит для автоматизации установки и настройки Proxmox

🎈 Proxmox VE Helper-Scripts. Коллекция из сотен скриптов для автоматизации изменения конфигураций, установки контейнеров и виртуальных машин. Применяются через shell Proxmox.

▪️ Скрипты от ttech - последний раз сборник обновлялся в ноябре 2024, репу убрали в архив, так что для свежих версий Proxmox будет уже неактуально, однако коллекция до сих пор живет, можно перепутать и нарваться на ошибки при попытке использования.
▪️ Community сборник - актуальный на данный момент перечень из 300+ заготовленных скриптов по разным категориям.

🎈 CV4PVE Tools Suite от Corsinvest. Набор профессиональных утилит.

▪️ cv4pve-admin - веб-интерфейс администрирования
▪️ cv4pve-autosnap - автоматические снапшоты
▪️ cv4pve-cli - CLI-инструменты
▪️ cv4pve-diag - диагностика
▪️ cv4pve-metric - сбор метрик

#proxmox #полезное
👍3🔥1