LinuxSkill - Сводки с прода и Шпаргалки
11K subscribers
65 photos
102 videos
2 files
527 links
Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам.
Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале.

📩 По всем вопросам: @chorapov

Зеркало в MAX: https://max.ru/LinuxSkill

РКН https://vk.cc/cMUwm4
Download Telegram
15 строк кода = полный контроль над производительностью

Эй, повелитель серверов!

Надоело переключаться между htop, df и free? Сейчас соберём свой монитор системы, который покажет всё важное одной командой. Bash + Python = твоя личная панель управления.

📌 Что получишь:
- CPU, RAM и диск в одном месте
- JSON-формат для интеграции
- Легко расширить под свои нужды

🔧 Шаг 1: Python-сборщик данных

Создай monitor.py:
import psutil
import json

def get_system_stats():
stats = {
"cpu": psutil.cpu_percent(interval=1),
"memory": psutil.virtual_memory().percent,
"disk": psutil.disk_usage('/').percent
}
return json.dumps(stats)

if __name__ == "__main__":
print(get_system_stats())


🔧 Шаг 2: Bash-обработчик

Создай monitor.sh:
#!/bin/bash
# Получаем данные от Python
stats=$(python3 monitor.py)

# Парсим JSON через jq
cpu=$(echo $stats | jq -r '.cpu')
memory=$(echo $stats | jq -r '.memory')
disk=$(echo $stats | jq -r '.disk')

# Красивый вывод
echo "CPU Usage: $cpu%"
echo "Memory Usage: $memory%"
echo "Disk Usage: $disk%"


🚀 Запускаем:
# Делаем исполняемым
chmod +x monitor.sh

# Смотрим магию
./monitor.sh


Результат:
CPU Usage: 12.3%
Memory Usage: 45.6%
Disk Usage: 67.8%


💡 Прокачай скрипт:
- Добавь алерты при превышении порогов
- Логируй данные для графиков
- Отправляй метрики в Telegram при критических значениях

Теперь один скрипт заменяет кучу утилит. А главное — ты можешь допилить его под свои задачи!
____________________

Дополнительный материал:
🧠 - Мастер-класс по выключению и перезагрузке Linux с помощью команды shutdown
🧠 - Прозрачность systemd: Освещаем теневые уголки системных процессов в Linux
🧠 - Управление питанием в Linux: Искусство выключения с помощью systemctl

#Linux_Mastery #Linux #Monitoring #Python #Bash #DevOps #Performance
🔥9👍6
🔐 Забудь про Nginx для тестов: вот решение проще

Эй, мастер быстрых решений!

Знаешь трюк с HTTP сервером на Python для передачи файлов? А что если нужен HTTPS для тестов, но лень возиться с Nginx? Показываю способ поднять защищённый сервер за минуту.

Классика для HTTP

# python3 -m http.server 8000


## Апгрейд до HTTPS

Генерируем самоподписный сертификат:
# openssl req -new -x509 -keyout localhost.pem -out localhost.pem -days 365 -nodes


Создаём файл webserver.py:
import http.server, ssl

server_address = ('172.20.0.210', 8000)
httpd = http.server.HTTPServer(server_address, http.server.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket(httpd.socket,server_side=True,certfile='localhost.pem',ssl_version=ssl.PROTOCOL_TLSv1_2)
httpd.serve_forever()


Запускаем HTTPS сервер:
# python3 webserver.py


Проверяем:
# Открываем в браузере
https://172.20.0.210:8000


Что получаем:
- Полноценный HTTPS сервер для тестов
- Файловый браузер по умолчанию
- Или веб-страница, если есть index.html
- Никаких конфигов и лишней возни

💡 Где пригодится:
- Тестирование приложений, требующих HTTPS
- Быстрая передача файлов по защищённому каналу
- Временный сервер для демо
- Проверка SSL/TLS настроек

Совет: сохрани скрипт в /usr/local/bin/ и используй как команду для быстрого запуска HTTPS где угодно.
____________________

Дополнительный материал:
🧠 - Открываем тайны Linux: Почему скрыть файлы от пользователя root невозможно?
🧠 - Как Создать Идеальный Dockerfile: Секреты Эффективности и Лаконичности
🧠 - Ускоряем YouTube и обходим блокировки на Linux: Ваше руководство

#Linux_Mastery #webserver #python #https #quickfix #sysadmin
👍14🔥3
Media is too big
VIEW IN TELEGRAM
🐧 Linux-администратор: с чего начать и куда расти

👋 Привет, покоритель пингвинов!

Анатолий, ведущий системный администратор с 10-летним опытом, отвечает на главные вопросы: как войти в профессию, нужно ли программировать, стоит ли ставить Linux дома и почему самообразование в IT — это навсегда.

🔗 Источник: https://www.youtube.com/
#linux #sysadmin #карьера #ansible #python #bash #devops
🆕 Прощай, слежка? Запускаем клон сервера MAX за 5 минут. Гайд для параноиков

Помните, мы разбирали, как мессенджер 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, можно сгенерировать самоподписанные прямо в терминале.

# Генерация самоподписанного сертификата 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`.

Уже этого набора характеристик достаточно, чтобы понять: пускать этот код в контур, где критична безопасность, нельзя.

Вердикт: используйте проект исключительно как локальную песочницу в закрытой сети с тестовыми данными. Если очень хочется развернуть сервер — прячьте его в изолированный контейнер без доступа к боевым базам и вашей основной внутренней сети.



❗️❗️❗️ Нравится формат? Ставь 👍

👉 Рубрика: #News@LinuxSkill

#MAX #OpenSource #Python #Security #SelfHosted #ReverseEngineering
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17👎2👀1