BashMaster
8.22K subscribers
678 photos
14 videos
1 file
701 links
Удобные консольные наработки на каждый день для разработчиков, девопсов и сисадминов.

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
⚙️ Reverse Shell Generator

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

➡️ Что умеет?
▶️Генерирует команды для популярных языков: Python, Bash, Perl, PHP и других
▶️Поддерживает Windows, Linux и macOS.
▶️Позволяет задавать IP-адрес и порт для настройки соединения.
▶️Удобный CLI-интерфейс, который делает процесс максимально простым.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Делаем всё в терминале: от конвертации валют и до прогноза погоды

✔️Коллекция небольших bash-скриптов для поклонников работы в терминале. В набор входит конвертер валют и криптовалют, прогноз погоды, шифрование файлов и другие полезные инструменты.

▶️Все скрипты из набора Bash-Snippets были полностью протестированы на MacOS и Linux. Большинство этих скриптов было протестировано на Windows 10. Скрипты не работают с Cygwin или Mysys2.

➡️ Установка для MacOS через homebrew, для Linux через linuxbrew:

▶️Все скрипты:
brew install bash-snippets # installs all tools


▶️Отдельные скрипты:
brew install bash-snippets --without-all-tools --with-newton --with-weather


➡️ Установка через Git:

▶️Для начала необходимо клонировать репозиторий:
git clone https://github.com/alexanderepstein/Bash-Snippets


▶️Затем нужно перейти в клонированную директорию:
cd Bash-Snippets


▶️Запустить скрипт управляемой установки, это позволит выбрать какие скрипты устанавливать:
./install.sh


▶️Установить все скрипты:
./install.sh all


▶️Установить отдельный скрипт, указав его имя:
./install.sh stocks


➡️ Скрипты
▶️Youtube-Viewer
▶️Weather
▶️Meme
▶️Qrify
▶️Short
▶️Cheat
▶️Cloudup
▶️Crypt
▶️Cryptocurrency
▶️Currency
▶️Geo
▶️Lyrics
▶️Movies
▶️Newton
▶️Siteciphers
▶️Stocks
▶️Taste
▶️Todo
▶️Transfer

🖼️ Перейти на сайт

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️Автоматизация процессов: освойте новые практики для DevOps и администраторов

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

❤️ В Слёрме собрали лучшие обучающие материалы, которые помогут вам быстро освоить CI/CD, IaC:

🔸CI/CD c Jenkins
🔸Gitlab CI/CD
🔸Cloud-инженер на примере AWS
🔸Terraform База
🔸Terraform Мега
🔸Ansible: Infrastructure as Code

Все программы актуальны в 2025 году, курсы ведут практикующие спикеры —  идеальный старт освоения новых инструментов автоматизации. 

Курсы подойдут: 
👉администраторам
👉инженерам
👉специалистам поддержки, мониторинга и ИБ. 

Посмотреть подборку и выбрать подходящий курс👉 здесь

#реклама
О рекламодателе
⚙️ Bash exporter

✔️Простой и минималистичный экспортер метрик Prometheus для скриптов на Bash, написанный на Go.

➡️ Некоторые параметры использования:
debug — уровень отладки лога
interval — интервал сбора метрик в секундах (по умолчанию 300)
labels — дополнительные метки (по умолчанию hostname, env)
path — путь к директории со скриптами Bash (по умолчанию /scripts)
prefix — префикс для метрик (по умолчанию bash)
web.listen-address — адрес, на котором выставлять метрики (по умолчанию :9300)

🐙 Перейти на Github

bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Мечтаешь о той самой работе в Big Tech, но никогда не проектировал системы? Или работаешь на галере с нулевым подходом к проектированию и не знаешь, а как разбираться в архитектуре приложений?

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

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

Приходи на мой Открытый Урок, где за час мы посмотрим на эти самые компоненты. А еще я расскажу про процесс проектирования в Big Tech и что такое system design секция.

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

ЗАПИСАТЬСЯ

PS: недавно проходил собес в один российский Big Tech. Результат можешь увидеть на скрине
⚙️ Polybar

✔️Настраиваемая панель статуса для Linux и Unix-подобных операционных систем. Она предназначена для работы с различными оконными менеджерами и средами рабочего стола, предоставляя гибкий и многофункциональный инструмент для отображения информации о системе, статусе приложений и пользовательских модулей

➡️ Некоторые преимущества Polybar:
▶️высокая настраиваемость с широким спектром встроенных модулей
▶️поддержка нескольких мониторов и динамической конфигурации
▶️активное сообщество и обширная документация
▶️лёгкость и эффективное использование ресурсов.

▶️Конфигурационный файл Polybar находится в ~/.config/polybar/config.

➡️ Некоторые функции программы:
▶️отображение даты и времени
▶️раскладка клавиатуры и статус индикаторов; 4
▶️уровень подсветки
▶️управление громкостью
управление воспроизведением MPD и статус
▶️детали сетевого подключения
▶️пользовательское дерево меню
▶️индикатор нагрузки процессора.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Уйти в пентест? Стать devops-инженером или системным администратором? 
Только вам решать, куда расти, если вы знаете Linux.

Курс "Основы Linux" обучит вас тонкостям работы с ОС: от работы в командной строке до создания прикладных программ.

80% практики
сопровождение куратора
финальный проект для портфолио — курс завершает проектная работа
сертификат или удостоверение о повышении квалификации

Старт: 17 февраля. Оставьте заявку на сайте или напишите нашему менеджеру @Codeby_Academy

Присоединяйтесь и узнайте все о Linux и смежном ПО: от основ командной строки до развертывания Kubernetes! 
⚙️ Starship

✔️Инструмент для настройки приглашения командной строки, который легко накатывается поверх zsh, fish, bash и прочего.

➡️ Особенности:
▶️Быстрая. Очень быстрая.
▶️Настраиваемая. Можно настроить каждый элемент командной строки
▶️Универсальная. Работает с любой оболочкой и в любой операционной системе
▶️Умная. Сразу показывает соответствующую информацию
▶️Много функций. Поддерживает все любимые инструменты
▶️Лёгкая. Быстрая установка — начать использовать программу можно в считанные минуты

➡️ Для работы Starship в терминале должен быть установлен шрифт Nerd Font (например, FiraCode Nerd Font), иначе некоторые специальные символы не будут отображаться нормально в приглашении командной строки.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ k1s — самая простая панель управления Kubernetes

✔️Минималистичная панель управления Kubernetes, показывающая текущее состояние ресурсов Kubernetes определённого типа в реальном времени. Инструмент состоит из сценария Bash примерно из 50 строк кода.

▶️Панель может отображать вид в реальном времени любого типа ресурсов в любом пространстве имён (или по всем пространствам имён). Для некоторых типов ресурсов выводится дополнительная информация, например текущее состояние для Pod и требуемое и фактическое количество реплик для Deployments.

➡️ k1s запускается прямо на локальной машине и использует обычную конфигурацию kubeconfig на машине. То есть по умолчанию подключается к тому же кластеру, к которому подключается kubectl.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет, меня зовут Артур (@artur_speaking). Я обычный техлид в Российской компании. Много лет я занимаюсь ИТ и принял решение двигаться дальше, решил релоцироваться в Лондон.

Уже почти 3 года я готовлюсь к собеседованиям в Европу. Делюсь своим опытом по релокации и о многом другом в моем чате @artur_speaking. Пощу без духоты и пафоса. Жду вас.
⚙️ Nginx Access Log Analyzer and Dashboard Generator

✔️Bash-скрипт, который анализирует логи доступа Nginx и генерирует подробную HTML-панель с ключевыми метриками, связанными с веб-трафиком, безопасностью и производительностью.

➡️ Скрипт анализирует логи и собирает такую информацию, как:
▶️Количество запросов. Общее число полученных запросов.
▶️Уникальные IP. Список уникальных клиентских IP, делающих запросы.
▶️Количество ошибок. Число HTTP-ошибок (например, 4xx, 5xx ошибки).
▶️Анализ безопасности. Обнаружение потенциальных проблем с безопасностью, включая попытки SQL-инъекции, обхода директорий и XSS-попытки.
▶️Самые частые IP и URL. Идентификация наиболее часто используемых IP-адресов и URL, что полезно для выявления возможных источников всплесков трафика или угроз безопасности.

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

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Свежие вакансии для разработчиков, которых нет на hh

Выбери своё направление и подпишись

🔽

1. Python

2. Java

3. React

4. JavaScript

5. Web 3.0

6. Back end

7. Data Engineer

8. IT продажи

9. IT поддержка

10. PHP

11. 1С 

12. GO

13. QA

14. Flutter

Полный список каналов IT-вакансий: @best_itjob и @it_rab
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Automated-Server-Monitoring-and-Alerting-with-Bash-Script-and-AWS-SNS

✔️Скрипт предназначен для автоматизации задач мониторинга сервера на Ubuntu с использованием AWS SNS для отправки оповещений в реальном времени при достижении критических порогов.

➡️ Некоторые особенности скрипта:
▶️мониторинг использования CPU, RAM и дискового пространства на сервере Ubuntu
▶️использование команд AWS CLI для отправки оповещений через AWS SNS
▶️настраиваемые пороги для оповещений об использовании CPU, RAM и диска
▶️отправка оповещений в реальном времени в тему AWS SNS для мониторинга и уведомления.

➡️ Перед запуском скрипта необходимо заменить место holders фактическими учётными данными AWS и ARN темы SNS. Также нужно убедиться, что на сервере Ubuntu установлена и настроена AWS CLI.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Получите миллион на перенос IT-инфраструктуры ⚡️

Перенесите ваши проекты в Selectel и получите до 1 000 000 бонусов, бесплатную консультацию от архитекторов Selectel и помощь в переносе от опытной командой DevOps-инженеров.

В Selectel более 50+ совместимых продуктов для проектов любой сложности. Это значит, что вы сможете разместить всю IT-инфраструктуру у одного провайдера.

Используйте выделенные или облачные серверы, масштабируйте ресурсы в зависимости от нагрузки, безопасно храните и обрабатывайте данные, запускайте производительные веб-сервисы в облаке Selectel.

Selectel — один из ведущих провайдеров IT-инфраструктуры в России. Их сервисами пользуются уже более 25 тысяч клиентов с совершенно разными проектами: от сервисов онлайн-бронирования до образовательных платформ. Перенесите и вы свой проект в Selectel бесплатно!

Регистрируйтесь в панели управления и оставляйте заявку на участие в акции: https://slc.tl/zspiy

Реклама, АО «Селектел», ИНН: 7810962785, ERID: 2VtzqwyJZiL
⚙️ Разница между определением переменных Bash с и без export

✔️Мы определяем переменную с помощью export, чтобы сделать ее доступной для всех подпроцессов (или дочерних процессов).
export variable_name=value

▶️Переменная доступна для любого подпроцесса, который вы запускаете из этого процесса оболочки.
Если вы определяете переменную без экспорта, как показано ниже:
variable_name=value

Переменная ограничена оболочкой и недоступна для любого другого подпроцесса.

▶️Вы можете использовать это для временных и/или циклических переменных.
Давайте определим переменную с именем «itsecforu» без «экспорта», как показано ниже:
$ itsecforu="Welcome to www.itsecforu.ru!"

Теперь отобразим значение с помощью команды «echo»:
$ echo $itsecforu

Будет отображено значение переменной itsecforu.ru:
Welcome to www.itsecforu.ru!

▶️Теперь запустите новый сеанс оболочки Bash, выполнив следующую команду:
 $ bash

Затем попробуйте отобразить значение переменной itsecforu с помощью команды «echo»:
$ echo $itsecforu

Видите?
Система ничего не возвращает!
Вы видите только пустой вывод.

➡️ Следовательно, доказано, что когда мы определяем переменную без экспорта, она не будет доступна дочерним процессам.

▶️Давайте снова определим ту же переменную с опцией экспорта:
$ export itsecforu="Welcome to www.itsecforu.ru!"

Выведем значение переменной:
$ echo $itsecforu

Пример вывода:
Welcome to www.itsecforu.ru!

Начнем новый сеанс оболочки. Попробуйте еще раз отобразить значение переменной:
$ echo $itsecforu

Теперь система вернет значение.

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

🖼️ Ссылка на источник

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Вебинар
QoS в коммутаторах Eltex 24хх/34хх серии

🗓 31.01.2025
🕒 14:00 по МСК

Теория и Практика:
- Базовый и расширенный QoS
- Механизмы классификации трафика
- Доступные алгоритмы организации очередей
- Практические тесты с применением генератора трафика Cisco TRex

👉 Регистрация

Ведущий вебинара:
Алексей Листаров — инженер с многолетним опытом работы в крупном операторе связи. Сертифицированный преподаватель Академии Eltex.

#eltex #eltexcm #webinar #вебинар #mes

@eltexcm

#реклама
О рекламодателе
⚙️ sshudo

✔️Минимальная замена команды sudo на основе SSH для использования с командами, которые содержат параметры с пробелами или пустые параметры.

➡️ Использование:
▶️Нужно использовать sshudo перед ограниченной командой, которую можно выполнить только от имени пользователя root. Тогда система запросит пароль, после его ввода запустит команду.

➡️ Некоторые ограничения:
▶️не будет работать, если параметры содержат одну или несколько одинарных кавычек
▶️не позволяет передавать параметры SSH, для этого нужно использовать ~/.ssh/config
▶️работает только для получения привилегий пользователя root.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Бросаем костыли и внедряем Service Mesh

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

Знакомо? Значит, пора задуматься о новых решениях для своего проекта.

Приглашаем на трёхдневный онлайн-интенсив по Service Mesh от Слёрм, на котором разберём автоматический мониторинг, chaos engineering, мультикластерное взаимодействие и многое другое.

Чтобы разобраться в технологии, вы на интенсиве:

👉 решите реальные бизнес-кейсы;
👉 поймёте принцип работы и в дальнейшем сможете применить знания на любом решении;
👉 научитесь искать причины проблем.

Даты проведения: 28.02-03.03. 
Специальные условия группам от 3-х человек.

👉 Программа и запись на интенсив по ссылке.

#реклама
О рекламодателе
⚙️ Система мониторинга на bash’е

✔️Система мониторинга на bash’е хороша тем, что все для ее работы на машине скорее всего уже есть.

➡️ Принципы работы
▶️Прежде чем начинать писать, надо определиться, как будет устроена наша система мониторинга. Пусть у нас будет только серверная часть, клиентской части не будет. И задача у нас будет только одна — проверять, в сети ли машина, за которой мы следим, точнее, пингуется ли она. Для больших сетей такой вариант не подойдет, возможно, будет недостаточно информативен, а для небольшой локальной сети на пару десятков машин его может быть вполне достаточно.

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

▶️Назовём систему мониторинга, желательно оригинально — Byams (Bash-written Yet Another Monitoring Script). Написанный на баше еще один скрипт мониторинга. :) Будем надеяться, что это название еще не занято.

➡️ Приступим
▶️Начнем с подключения хоста к нашей системе мониторинга. На практике это просто запись информации об адресе или доменном имени хоста в какой-то файл. Пусть это будет /etc/byams/hosts.
Вот пример этого файла:
192.168.0.10

▶️Для простоты будем писать один единственный файл скрипта, который будет добавлять в мониторинг хост, удалять из мониторинга хост и мониторить хосты, находящиеся в списке. И выглядеть это будет следующим образом:
byams add 
byams remove
byams

▶️Если скрипт запущен без параметров, он просто запустит мониторинг всех хостов, находящихся в данный момент в списке.

▶️Давайте вынесем файл с настройками в директорию /etc/byams. Вы можете вынести этот файл в любую директорию, доступную пользователю, от имени которого скрипт будет запускаться, поскольку он не требует привилегий суперпользователя для своей работы, достаточно прав обычного пользователя.

➡️ Подробно
▶️В файле настроек будет находиться следующее:
# Директория, где будет храниться файл с данными
DATA_DIR="/etc/byams"
# Название самого файла для хранения данных
DATA_FILE_NAME="hosts"
# Адрес электронной почты, на который будут посылаться оповещения о недоступности хостов
MAILTO=root@localhost

▶️Вот как будет выглядеть сам скрипт:
#!/bin/bash

# Подключаем файл настроек
. /etc/byams/byams.conf

# Формируем полное имя файла с данными
DATA_FILE="$DATA_DIR/$DATA_FILE_NAME"

add_to_monitoring(){
# Дописываем IP-адрес или имя хоста в файл данных
echo $2 >> $DATA_FILE
}

remove_from_monitoring(){
# Удаляем IP-адрес или имя хоста из файла данных
sed -i '/$2/d' $DATA_FILE
}

run_monitoring(){
# Для каждого хоста из списка, содержащегося в файле данных
# последовательно выполняем функцию check_host
for HOST in cat $DATA_FILE
do
check_host $HOST
done
}

check_host(){
# Функция check_host может содержать любые действия по проверке
# доступности одного хоста и реакции на недоступность этого хоста
# В нашем случае мы просто посылаем один ICMP-пакет, и если пришел ответ, значит
# всё в порядке, если не пришел, то переменная RESULT получит пустое значение
RESULT=ping -c 1 $1 | grep ttl
if [ "$RESULT" == "" ]
then
# А здесь будут выполнены действия по извещению о недоступности хоста
# Мы просто посылаем письмо о том, что хост, который мы проверяем, недоступен
MESSAGE="$1 is unavailable"
echo "$MESSAGE" | mail -s "$MESSAGE" $MAILTO
fi
}

case "$1" in
add)
add_to_monitoring $2
;;
remove)
remove_from_monitoring $2
;;
*)
run_monitoring
;;
esac

▶️Вот такая простая система мониторинга, состоящая из одного скрипта на bash’е, у нас получилась. Вы можете ее расширить так, как вам это необходимо.

➡️ Автоматический запуск
Автоматический запуск можно обеспечить, включив вызов скрипта в таблицу заданий cron’а.

🖼️ Ссылка на источник

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Network Admin
Команда nc (NetCat): «Сетевой швейцарский армейский нож»

NetCat, или просто nc, — это мощная и универсальная утилита для работы с сетями. Её часто называют «сетевым швейцарским ножом» из-за множества задач, которые она может выполнять.

nc поддерживает работу с TCP, UDP и UNIX-сокетами, и её возможности делают её незаменимым инструментом для администраторов и специалистов по сетевой безопасности.

Что умеет NetCat?
• Устанавливать TCP-соединения.
• Прослушивать порты TCP и UDP.
• Сканировать порты (как одиночные, так и диапазоны).
• Выступать в роли простого TCP-прокси.
• Проверять доступность удалённых портов.
• Тестировать сетевые службы и демоны.
• Передавать файлы между компьютерами в связке с другими инструментами, например, pv.

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

1️⃣Сканирование портов
Чтобы просканировать несколько конкретных портов на сервере, используйте следующую команду:

$ nc -zv server2.merionet.lan 21 22 80 443 3000


Здесь:
• -z — не устанавливать соединение, а только проверить доступность порта.
• -v — выводить дополнительную информацию (режим verbose).

2️⃣ Сканирование диапазона портов
Для проверки диапазона портов, укажите его через дефис:

$ nc -zv server2.merionet.lan 20-90


3️⃣ Установка TCP-соединения
Открыть TCP-соединение с портом 5000 на удалённом сервере с использованием источника порта 3000 и тайм-аутом в 10 секунд:

$ nc -p 3000 -w 10 server2.merionet.lan 5000


Здесь:
• -p — исходный порт (3000).
• -w — время ожидания (10 секунд).

N.A.
Please open Telegram to view this post
VIEW IN TELEGRAM
☁️ Облака, облака повсюду

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

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

Приглашаем на открытую конференцию K2 Cloud Conf.

У ребят планируется много технических докладов: от обзоров новых типов сетевых дисков до приоритетов бизнеса в области ИТ. Будет интересно.

📅 Когда: 4 марта 2025

👆 Участие бесплатное, ссылка на регистрацию тут
Please open Telegram to view this post
VIEW IN TELEGRAM