Если человеку отрубить ногу, это не значит что он стал пиратом.
ㅤ
Ай да вкуснятинку я тебе принёс. Пошел хайп на MP3 плееры и музыку в первоначальном виде, то есть без цензуры. Кто не знает, с 1 марта снова закрутили гайки и артистов обременили зацензурить все свои произведения. Теперь большинство песенок либо «запикано», либо смысл полностью изменен.
Поговорка «Из песни слов не выкинешь» заиграла новыми красками. Ладно, к делу.
Soulseek — кросплатформенная софтина для peer-to-peer (P2P) обмена файлами, в первую очередь — музыкой. Она позволяет пользователям напрямую обмениваться файлами между своими компьютерами через пока еще доступный интернет.
Помимо музыки, можно найти массу всего интересного, включая софт.
Суть soulseek — расшарить на компе папку и поделиться со всеми, как в старые добрые.
Можно ничего не шарить и только потреблять. Что прикольно, музло можно сразу качать дискографиями, а не отдельными песнями. И это музло НЕ будет «зацензурено».
Удобно? Да охуенно! Пойду поищу свой старенький digma mp3 плеер, да погружусь в вайб.
А какой у тебя был MP3 плеер? Поделись в комментах если еще помнишь.
Хорошей тебе рабочей недели. Не болей!
🛠 #soft #services #music
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
ㅤ
Ай да вкуснятинку я тебе принёс. Пошел хайп на MP3 плееры и музыку в первоначальном виде, то есть без цензуры. Кто не знает, с 1 марта снова закрутили гайки и артистов обременили зацензурить все свои произведения. Теперь большинство песенок либо «запикано», либо смысл полностью изменен.
Поговорка «Из песни слов не выкинешь» заиграла новыми красками. Ладно, к делу.
Soulseek — кросплатформенная софтина для peer-to-peer (P2P) обмена файлами, в первую очередь — музыкой. Она позволяет пользователям напрямую обмениваться файлами между своими компьютерами через пока еще доступный интернет.
Помимо музыки, можно найти массу всего интересного, включая софт.
Помню в начале 2000х было нечто подобное, вроде как «осёл» назывался (eDonkey, eMule).
Суть soulseek — расшарить на компе папку и поделиться со всеми, как в старые добрые.
Можно ничего не шарить и только потреблять. Что прикольно, музло можно сразу качать дискографиями, а не отдельными песнями. И это музло НЕ будет «зацензурено».
Удобно? Да охуенно! Пойду поищу свой старенький digma mp3 плеер, да погружусь в вайб.
А какой у тебя был MP3 плеер? Поделись в комментах если еще помнишь.
UPD: В комментариях есть ссылка на альтернативный клиент на гитхабе. Можно как Self-Hosted решение запустить.
Хорошей тебе рабочей недели. Не болей!
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Вчера работало. Сегодня — Legacy.
Переехать полноценно на linux я пока не смог, оказалось много завязок на винду, но яндекс.браузер был успешно заменен.
ㅤ
Сначала мой выбор пал на ARC, но как оказалось разработчики забили на него хуй. Поэтому коллеги из mastodon посоветовали попробовать ZEN.
Иии он полностью оправдал ожидания. Тем более оно на движке Firefox и отлично кастуется как визуально, так и функционально. А самое главное, в нем нет встроенных ИИ.
Подкупило меня именно наличие WorkSpaces. У меня есть 4 категории вкладок:
Раньше я группировал их в «группа вкладок», но теперь навесил workspaces на горячие клавиши «ALT+1, ALT+2…», стало намного удобнее и быстрее переключаться, возникает меньше путаницы.
Дополнительно к workspaces можно создавать папки под вкладки, например нашел что-то интересное, закрывать жалко, но и сейчас нет времени разбираться. Перенес вкладку в папку, она там висит и не тревожит моё внимание. Ну там всякий сплит окон типа терминального tmux.
Из необычного, все вкладки располагаются слева, сначала непривычно, но потом проникаешься. Настроек хуева гора. Если не хватает, то можно впендюрить обвесы, опять же на их сайте это всё лежит, ну и на гитхабе энтузиасты стряпают регулярно.
Что по глюкам? Да пока не наблюдаю, тормозов не ощущается, рутокен работает, нет ощущения, что пересел с лексуса на девятку, дальше уже посмотрим.
Присмотрись, возможно зайдет и наконец организуешь свои 100500 открытых вкладок которые жалко закрывать.
🛠 #soft
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Переехать полноценно на linux я пока не смог, оказалось много завязок на винду, но яндекс.браузер был успешно заменен.
ㅤ
Сначала мой выбор пал на ARC, но как оказалось разработчики забили на него хуй. Поэтому коллеги из mastodon посоветовали попробовать ZEN.
Иии он полностью оправдал ожидания. Тем более оно на движке Firefox и отлично кастуется как визуально, так и функционально. А самое главное, в нем нет встроенных ИИ.
Подкупило меня именно наличие WorkSpaces. У меня есть 4 категории вкладок:
1. Все подряд (побегать по сайтам)
2. Self-Hosted (домашние сервера и сервисы)
3. GPT (несколько нейронок)
4. Бухгалтерия (отчетность, диадоки-хуёки всякие)
Раньше я группировал их в «группа вкладок», но теперь навесил workspaces на горячие клавиши «ALT+1, ALT+2…», стало намного удобнее и быстрее переключаться, возникает меньше путаницы.
Дополнительно к workspaces можно создавать папки под вкладки, например нашел что-то интересное, закрывать жалко, но и сейчас нет времени разбираться. Перенес вкладку в папку, она там висит и не тревожит моё внимание. Ну там всякий сплит окон типа терминального tmux.
Из необычного, все вкладки располагаются слева, сначала непривычно, но потом проникаешься. Настроек хуева гора. Если не хватает, то можно впендюрить обвесы, опять же на их сайте это всё лежит, ну и на гитхабе энтузиасты стряпают регулярно.
Что по глюкам? Да пока не наблюдаю, тормозов не ощущается, рутокен работает, нет ощущения, что пересел с лексуса на девятку, дальше уже посмотрим.
Присмотрись, возможно зайдет и наконец организуешь свои 100500 открытых вкладок которые жалко закрывать.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Как кубер и докер дебажить???
Ладно, выдеру кусок из будущего сезона LF, s4e18 пусть побудет публичным, ради тебя ничего не жалко.
ㅤ
…
Зачастую используются «тулбоксы», это такие специальные docker контейнеры, которые содержат в себе все самые необходимые утилиты для этого самого дебага. Такие «тулбоксы» можно делать самостоятельно, а можно воспользоваться готовыми.
Один из самых популярных, это netshoot, в него включено свыше 50ти консольных утилит на все случаи жизни. Основной упор сделан на диагностику сетевой хуйни.
Например:
Теперь можно выполнить:
Или зайти в network namespace pod:
Короче если какой-то сервис не работает, запускается
Довольная удобная штука, ничего выдумывать не нужно. Аналогично создаются другие «тулбоксы» со своим содержимым и утилитами.
У каждого уважающего себя девопс-инженера, должен быть такой image под рукой, рано или поздно он обязательно пригодится и сослужит службу.
Чем еще подебажить:
- k8s-toolbox
- Busybox
- dnsutils
- Network Multitool
А в новых версиях куба активно используют Ephemeral containers, как раз тот самый
Кстати «тулбоксы» можно использовать не только в кубере, они отлично ложатся на обычный докер, опять-же сеть потыкать, покурлить и помяукать. Так что если у тебя нет куба, похуй, пригодится и для обычного докера.
Ну а теперь давай создадим искусственную проблему и попытаемся её диагностировать с помощью этих самых «тулбоксов».
….
На этом всё, изучай!
🛠 #devops #debug #docker #k8s
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Ладно, выдеру кусок из будущего сезона LF, s4e18 пусть побудет публичным, ради тебя ничего не жалко.
ㅤ
…
Чуть раньше я уже писал подобный пост для докера «основные методы отладки», но там освещены не все моменты.
Зачастую используются «тулбоксы», это такие специальные docker контейнеры, которые содержат в себе все самые необходимые утилиты для этого самого дебага. Такие «тулбоксы» можно делать самостоятельно, а можно воспользоваться готовыми.
Один из самых популярных, это netshoot, в него включено свыше 50ти консольных утилит на все случаи жизни. Основной упор сделан на диагностику сетевой хуйни.
Например:
kubectl run netshoot --rm -it --image=nicolaka/netshoot
Теперь можно выполнить:
dig service.bashdays.svc.cluster.local
curl http://service:8080
Или зайти в network namespace pod:
kubectl debug pod/myapp -it --image=nicolaka/netshoot
Короче если какой-то сервис не работает, запускается
netshoot делается DNS проверка dig service, проверка TCP nc service 5432, смотрим пакеты tcpdump -i any port 5432 и т.п.Довольная удобная штука, ничего выдумывать не нужно. Аналогично создаются другие «тулбоксы» со своим содержимым и утилитами.
У каждого уважающего себя девопс-инженера, должен быть такой image под рукой, рано или поздно он обязательно пригодится и сослужит службу.
Самое важное здесь, разместить этот образ на РФ серверах, чтобы рядышком был и никакие блокировки бы его не касались. Да и тот же `netshoot` желательно к себе утащить в норку.
Чем еще подебажить:
- k8s-toolbox
- Busybox
- dnsutils
- Network Multitool
А в новых версиях куба активно используют Ephemeral containers, как раз тот самый
kubectl debug. Можно внедрить debug container прямо в pod.Кстати «тулбоксы» можно использовать не только в кубере, они отлично ложатся на обычный докер, опять-же сеть потыкать, покурлить и помяукать. Так что если у тебя нет куба, похуй, пригодится и для обычного докера.
Ну а теперь давай создадим искусственную проблему и попытаемся её диагностировать с помощью этих самых «тулбоксов».
….
На этом всё, изучай!
—
Please open Telegram to view this post
VIEW IN TELEGRAM
15 функций Bash, которые стоит добавить в .bashrc
ㅤ
Со временем понимаешь, что половину времени в терминале ты пишешь одно и тоже. Пара небольших функций в
Создать директорию и сразу в неё перейти
Подняться на несколько уровней вверх
Быстро найти файл
Найти директорию
Найти процесс
Посмотреть последние команды
Поиск по истории
Узнать размер директории
Универсальная распаковка архивов
Быстрый HTTP-сервер из текущей папки
Узнать свой внешний IP
Узнать IP домена
Показать открытые порты
Полная очистка терминала
Безопасный rm
С удалением еще можно сделать аналог корзины, добавив простое копирование в какой-нибудь временный каталог, который автоматически зачищается спустя какое-то время, например в
The end. Кидай в комменты, какие функции используешь ты, будет полезно.
Источник: https://boreal.social/post/15-practical-bash-functions-i-use-in-my-bashrc (обсуждения на реддите)
🛠 #bash
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
ㅤ
Со временем понимаешь, что половину времени в терминале ты пишешь одно и тоже. Пара небольших функций в
.bashrc экономит часы. У каждого эти функции обычно индивидуальны, но возможно этот список раскроет тебе глаза на что-то новое.Создать директорию и сразу в неё перейти
mkcd() {
mkdir -p "$1" && cd "$1"
}Подняться на несколько уровней вверх
up() {
local d=""
for ((i=1;i<=$1;i++)); do
d+="../"
done
cd "$d"
}Быстро найти файл
ff() {
find . -type f -iname "*$1*"
}Найти директорию
fd() {
find . -type d -iname "*$1*"
}Найти процесс
psg() {
ps aux | grep -i "$1" | grep -v grep
}Посмотреть последние команды
h() {
history | tail -n "$1"
}Поиск по истории
hg() {
history | grep "$1"
}Узнать размер директории
dirsize() {
du -sh "$1"
}Универсальная распаковка архивов
extract() {
if [ -f "$1" ]; then
case "$1" in
*.tar.bz2) tar xjf "$1" ;;
*.tar.gz) tar xzf "$1" ;;
*.bz2) bunzip2 "$1" ;;
*.rar) unrar x "$1" ;;
*.gz) gunzip "$1" ;;
*.tar) tar xf "$1" ;;
*.tbz2) tar xjf "$1" ;;
*.tgz) tar xzf "$1" ;;
*.zip) unzip "$1" ;;
*.7z) 7z x "$1" ;;
*) echo "unknown archive" ;;
esac
fi
}Быстрый HTTP-сервер из текущей папки
serve() {
python3 -m http.server "${1:-8000}"
}Узнать свой внешний IP
myip() {
curl -s ifconfig.me
}Узнать IP домена
ipinfo() {
dig +short "$1"
}Показать открытые порты
ports() {
ss -tuln
}Полная очистка терминала
cls() {
clear && printf '\e[3J'
}Безопасный rm
rm() {
ls -FCsd -- "$@"
read -p 'Delete? [y/N] ' ans
if [ "$ans" = "y" ]; then
command rm -rf -- "$@"
fi
}С удалением еще можно сделать аналог корзины, добавив простое копирование в какой-нибудь временный каталог, который автоматически зачищается спустя какое-то время, например в
/tmp.The end. Кидай в комменты, какие функции используешь ты, будет полезно.
Источник: https://boreal.social/post/15-practical-bash-functions-i-use-in-my-bashrc (обсуждения на реддите)
—
Please open Telegram to view this post
VIEW IN TELEGRAM
8 119
Как спрятать IP сервера?
В древние времена, когда еще на территории РФ работал cloudflare, таких вопросов не возникало. Натыкал мышкой и живешь в малине. Даже на бесплатном тарифе.
Но всё это от лукавого, мир изменился, а альтернатив особо и не предложил. Всё что есть на рынке, пиздец дорогое, бесплатно прятать и защищать твой айпишник никто не будет.
У меня есть пару достойных вариантов для тебя, бесплатных. Первый, это поднять дохленькую випиэску, объединить всё в одну общую
Сейчас у меня так и организовано, в интернетах торчит випиэска, на ней тоннель и nginx разруливает уже по доменам, причем трафик завязан в мой домашний периметр на проксмокс. И даже микротик не пищит, что у него порты закрыты. Всё работает из коробки.
Второй вариант та же внешняя випиэска, но с поднятым Safeline. Это морда с обвесами, новогодняя ёлка на все случаи жизни. Про неё уже упоминали в гейте, это ничего не меняет.
Короче говоря заебачий такой WAF. Много крутилок, много перделок. В бесплатной версии хватает с головой (да, есть и платная). Получается ты не только анализируешь трафик, но и прячешь айпишник своих приложений и серверов. Пиздато? Пиздато!
Композ бывалый:
Два базовых контейнера: панель управления, API, хранилище правил, reverse proxy. А вообще в офф доке есть одна команда, которая скачает нужный композ, создать вольюмы и всё запустит:
Да, поделка Китайская, но опять же это ничего не значит. В Китае пиздатые специалисты.
Рекомендую потыкать, особенно если ищешь вменяемые и бесплатные альтернативы сдохшему клаудфларе.
🛠 #security #services
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
В древние времена, когда еще на территории РФ работал cloudflare, таких вопросов не возникало. Натыкал мышкой и живешь в малине. Даже на бесплатном тарифе.
Но всё это от лукавого, мир изменился, а альтернатив особо и не предложил. Всё что есть на рынке, пиздец дорогое, бесплатно прятать и защищать твой айпишник никто не будет.
У меня есть пару достойных вариантов для тебя, бесплатных. Первый, это поднять дохленькую випиэску, объединить всё в одну общую
netbird сеть и проксировать трафик с випиэски на твои поделки, хоть в интернетах, хоть на 1000 NATами. Сейчас у меня так и организовано, в интернетах торчит випиэска, на ней тоннель и nginx разруливает уже по доменам, причем трафик завязан в мой домашний периметр на проксмокс. И даже микротик не пищит, что у него порты закрыты. Всё работает из коробки.
Второй вариант та же внешняя випиэска, но с поднятым Safeline. Это морда с обвесами, новогодняя ёлка на все случаи жизни. Про неё уже упоминали в гейте, это ничего не меняет.
Оно ставится перед твоими веб-приложением и фильтрует трафик, защищая приложение от самых распространенных атак (SQL injection, XSS, Command injection, Path traversal, File inclusion, Webshell, RCE, боты-хуёты).
Короче говоря заебачий такой WAF. Много крутилок, много перделок. В бесплатной версии хватает с головой (да, есть и платная). Получается ты не только анализируешь трафик, но и прячешь айпишник своих приложений и серверов. Пиздато? Пиздато!
Композ бывалый:
version: "3"
services:
safeline-mgt:
image: chaitin/safeline-mgt:latest
container_name: safeline-mgt
restart: always
ports:
- "9443:9443"
volumes:
- ./data:/data
environment:
- TZ=UTC
safeline-gateway:
image: chaitin/safeline-gateway:latest
container_name: safeline-gateway
restart: always
depends_on:
- safeline-mgt
ports:
- "80:80"
- "443:443"
volumes:
- ./gateway:/gateway
environment:
- MGT_HOST=safeline-mgt
Два базовых контейнера: панель управления, API, хранилище правил, reverse proxy. А вообще в офф доке есть одна команда, которая скачает нужный композ, создать вольюмы и всё запустит:
bash <(curl -sSL https://waf.chaitin.com/release/latest/setup.sh)
Да, поделка Китайская, но опять же это ничего не значит. В Китае пиздатые специалисты.
Рекомендую потыкать, особенно если ищешь вменяемые и бесплатные альтернативы сдохшему клаудфларе.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Ну вот и всё, приплыли тапочки к дивану…
TL:DR: Всё хорошо, НЕ расходимся.
Ладно, томить не буду. Блокировки это всегда неприятно, но раз ты это читаешь, значит ты уже достаточно подкованный в определенных технических вопросах и умеешь приспосабливаться к реалиям. Это ценно! Могу только пожать тебе руку и снять шляпу.
Большинство на панике массово мигрируют в «то самое», но наш с тобой ледокол уверенно пробирается сквозь льдины. Так что, я не планирую никуда лукаться отсюда и буду продолжать свою деятельность именно здесь.
Ну а кто всёже поддался и не подстелил соломку, весь контент который я тут пилю для тебя — дублируется в «то самое». Все нужные ссылки есть в подписи к каждому посту. Старые материалы потихоньку перетащу в блог, ничего не потеряется.
Как говорится: Кто хочет — ищет возможности, кто не хочет — ищет причины.
Всех обнял, хорошего тебе дня и увидимся!
🛠 #рабочиебудни
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
TL:DR: Всё хорошо, НЕ расходимся.
Ладно, томить не буду. Блокировки это всегда неприятно, но раз ты это читаешь, значит ты уже достаточно подкованный в определенных технических вопросах и умеешь приспосабливаться к реалиям. Это ценно! Могу только пожать тебе руку и снять шляпу.
Большинство на панике массово мигрируют в «то самое», но наш с тобой ледокол уверенно пробирается сквозь льдины. Так что, я не планирую никуда лукаться отсюда и буду продолжать свою деятельность именно здесь.
Ну а кто всёже поддался и не подстелил соломку, весь контент который я тут пилю для тебя — дублируется в «то самое». Все нужные ссылки есть в подписи к каждому посту. Старые материалы потихоньку перетащу в блог, ничего не потеряется.
Да, Linux Factory продолжает работать, заходи если чё, замажем пати. Если нужен промик со скидкой 1000р (на месяц) на новый вход не стесняйся — пиши сюда.
Как говорится: Кто хочет — ищет возможности, кто не хочет — ищет причины.
Всех обнял, хорошего тебе дня и увидимся!
—
Please open Telegram to view this post
VIEW IN TELEGRAM
10 110
Всем привет.
Я тут с удивлением обнаружил, что в debian 13 исчезли команды
🔤 🔤 🔤 🔤 🔤 🔤 🔤
ㅤ
А я к ним так привык...
Решил немного упростить, чтобы вывод был в виде таблички:
Иногда мальчиши-плохиши подсовывают «пустого» пользователя " ", и чтобы число полей было всегда три, я заменяю его на ":", используется в качестве разделителя
Если нужно ограничить диапазон дат можно использовать ключ
где
Если не нравится дата в
Или какой-нибудь свой формат. Я, вообще не спец по
Всем кода без багов.
🛠 #bash #linux
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Я тут с удивлением обнаружил, что в debian 13 исчезли команды
last и lastb которые позволяли смотреть удачные/неудачные попытки ssh/sftpㅤ
А я к ним так привык...
journalctl — прекрасен, но лазить по логам — так себе занятие.Решил немного упростить, чтобы вывод был в виде таблички:
timestamp ip loginИногда мальчиши-плохиши подсовывают «пустого» пользователя " ", и чтобы число полей было всегда три, я заменяю его на ":", используется в качестве разделителя
/etc/passwd, и поэтому такого логина не должно быть.journalctl --output=short-unix --unit=ssh |
gawk '{match($0,/.*for( invalid user)? +(.*?) +from (([0-9]{1,3}[.]){3}[0-9]{1,3})/,a)
#^ это одна длинная строка
if(a[2]==""){a[2]=":"} # заменили "пробельного usera" на ":"
if(a[3]!="") print $1, a[3],a[2]}'
#Отображение только неудачных попыток
journalctl --output=short-unix --unit=ssh |
gawk '/error: maximum/{match($0,/.*for( invalid user)? +(.*?) +from (([0-9]{1,3}[.]){3}[0-9]{1,3})/,a)
#^это одна длинная строка
if(a[2]==""){a[2]=":"} # заменили "пробельного usera" на ":"
if(a[3]!="") print $1, a[3],a[2]}'
Если нужно ограничить диапазон дат можно использовать ключ
--since="@TIMESTAMP"где
TIMESTAMP дата вида 1773848322.767923 или 1773848322 или просто --since="-1 day"Если не нравится дата в
timestamp замените последнюю строчку на:if(a[3]!="") print strftime("%Y%m%d_%H%M%S",$1), a[3],a[2]}'Или какой-нибудь свой формат. Я, вообще не спец по
regexp, поэтому, если кто-нибудь поможет ускорить выражение — буду благодарен.Всем кода без багов.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
8 42
Forwarded from Selectel Newsfeed
🗂️ Podman — почти Docker
Но есть пара нюансов
Podman разрабатывался с упором на безопасность. Из-за этого могут возникнуть неочевидные ошибки при монтировании томов (volumes).
Вместе с Романом Шубиным — СТО и автором канала Bash Days — мы заглянули в кроличью нору и разобрали типичные ошибки при работе с Podman в файловой системе.
Подробнее про ключи, Named Volume и SELinux читайте по ссылке➡️
Только переходите к практике? Протестируйте Podman в серверной ОС от Selectel🏢
Но есть пара нюансов
Podman разрабатывался с упором на безопасность. Из-за этого могут возникнуть неочевидные ошибки при монтировании томов (volumes).
Вместе с Романом Шубиным — СТО и автором канала Bash Days — мы заглянули в кроличью нору и разобрали типичные ошибки при работе с Podman в файловой системе.
Подробнее про ключи, Named Volume и SELinux читайте по ссылке
Только переходите к практике? Протестируйте Podman в серверной ОС от Selectel
Please open Telegram to view this post
VIEW IN TELEGRAM
С пятничкой ребята. Ваш покорный 👆 снова в телевизоре. Рекомендую почитать, довольно интересное чтиво получилось.
Media is too big
VIEW IN TELEGRAM
Сижу, думаю, а чем бы тебя сегодня порадовать? Техническими темами не хочу, блевать от них уже хочется, вчера 5 постов написал на тему Podman, скоро поделюсь, много интересного наковырял.
ㅤ
Лови короче пиздатую игрульку, которую я нашел на днях. Работает в браузере, ничего устанавливать не нужно.
Называется — DeepNet
Это симулятор хакера в стиле киберпанк. Весь интерфейс это терминал, минимум графики. Сделано ОЧЕНЬ реалистично и атмосферно. Выглядит потрясающе.
Основной геймплей примерно такой:
- сканируешь сети (поиск целей)
- находишь сервисы и уязвимости
- подбираешь «эксплойты» под них
- получаешь доступ к системе
- работаешь с файлами через команды Bash команды
- крадёшь данные, чистишь следы, ставишь бэкдоры
Это не сюжетная игра, а скорее песочница с системами, где мир реагирует на твои действия и уровень внимания растет к твоим хакерским проделкам.
По наполненности:
- полностью клавиатурное управление
- онлайн-мир, который меняется со временем
- дофига консольных команд 100+
- симуляция файловых систем
- экономика, продаёшь данные, прокачиваешь железо
- firewall-правила, ханипоты, торги между игроками
Лучше один раз потрогать самому, чем читать описание. Затягивает с потрохами. Немного похожа на Hacknet, но более прокаченная, более живая.
Короче потыкай, рекомендую.
🛠 #games #security #privacy
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
ㅤ
Лови короче пиздатую игрульку, которую я нашел на днях. Работает в браузере, ничего устанавливать не нужно.
Называется — DeepNet
Это симулятор хакера в стиле киберпанк. Весь интерфейс это терминал, минимум графики. Сделано ОЧЕНЬ реалистично и атмосферно. Выглядит потрясающе.
Основной геймплей примерно такой:
- сканируешь сети (поиск целей)
- находишь сервисы и уязвимости
- подбираешь «эксплойты» под них
- получаешь доступ к системе
- работаешь с файлами через команды Bash команды
- крадёшь данные, чистишь следы, ставишь бэкдоры
Это не сюжетная игра, а скорее песочница с системами, где мир реагирует на твои действия и уровень внимания растет к твоим хакерским проделкам.
По наполненности:
- полностью клавиатурное управление
- онлайн-мир, который меняется со временем
- дофига консольных команд 100+
- симуляция файловых систем
- экономика, продаёшь данные, прокачиваешь железо
- firewall-правила, ханипоты, торги между игроками
Внутри игры есть DeepOS, это ретро десктоп, в котором есть окна, темы, мини приложения, редакторы кода. Можно переключаться между GUI и терминалом.
Лучше один раз потрогать самому, чем читать описание. Затягивает с потрохами. Немного похожа на Hacknet, но более прокаченная, более живая.
Короче потыкай, рекомендую.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
1 44
Цыганское лото: выиграл шляпу — проебал пальто.
Кого бесит поисковик Duckduckgo, есть вполне достойная альтернатива, называется Startpage.
ㅤ
Преподносит себя как супер-пупер приватный из Нидерландов.
Поисковик сам по себе делать нихуя не умеет, но получает результаты из гугла и бинга. И якобы скрывает твои поисковые запросы, данные, айпишники и т.п.
Как это работает:
В итоге гугол «видит» не тебя, а startpage. А капчу за тебя решают бедолаги из стран третьего мира за миску супа и початок кукурузы.
Насколько всё приватно?
Ну на бумаге одно, по делу другое. Если на тебя ордер выпишут, то эта конторка выдаст все что есть на тебя с потрохами.
С другой стороны так делают ВСЕ! Нахуй им заботиться о каком-то чёрте, если их бизнес в разы приоритетнее. Логично? Логично!
Но как альтернатива Duckduckgo, работает вполне вменяемо.
А если хочешь прям нормальную приватность и владеть самостоятельно всеми данными и запросами, то проще поднять свой подобный поисковик. А как это сделать, я уже писал тут.
Такие дела, чё, изучай!
🛠 #services #security #privacy
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Кого бесит поисковик Duckduckgo, есть вполне достойная альтернатива, называется Startpage.
ㅤ
Преподносит себя как супер-пупер приватный из Нидерландов.
Поисковик сам по себе делать нихуя не умеет, но получает результаты из гугла и бинга. И якобы скрывает твои поисковые запросы, данные, айпишники и т.п.
Как это работает:
- Ты вводишь запрос
- Startpage отправляет его в Google от своего имени
- Убирает всё, что может тебя идентифицировать
- Возвращает результат тебе
В итоге гугол «видит» не тебя, а startpage. А капчу за тебя решают бедолаги из стран третьего мира за миску супа и початок кукурузы.
Насколько всё приватно?
Ну на бумаге одно, по делу другое. Если на тебя ордер выпишут, то эта конторка выдаст все что есть на тебя с потрохами.
С другой стороны так делают ВСЕ! Нахуй им заботиться о каком-то чёрте, если их бизнес в разы приоритетнее. Логично? Логично!
Но как альтернатива Duckduckgo, работает вполне вменяемо.
А если хочешь прям нормальную приватность и владеть самостоятельно всеми данными и запросами, то проще поднять свой подобный поисковик. А как это сделать, я уже писал тут.
Такие дела, чё, изучай!
—
Please open Telegram to view this post
VIEW IN TELEGRAM
К чужому берегу лебеди да галки, а к нашему — хуи да палки.
ㅤ
С понедельничком ребят. Несу тебе очередную радость для ушей.
На этот раз сборник музла из кейгенов/трейнеров/патчеров, который оформлен в виде удобного веб-плеера. Что прикольно, есть плагины для браузера, тыкаешь и оно играет.
Для рабочего фона прям хорошо заходит, никакой долбёжки и выбивания их потока.
Ссылка: https://two.su/8yp6o
🛠 #services #music
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
ㅤ
С понедельничком ребят. Несу тебе очередную радость для ушей.
На этот раз сборник музла из кейгенов/трейнеров/патчеров, который оформлен в виде удобного веб-плеера. Что прикольно, есть плагины для браузера, тыкаешь и оно играет.
Для рабочего фона прям хорошо заходит, никакой долбёжки и выбивания их потока.
Ссылка: https://two.su/8yp6o
А еще можно скачать нечто подобное с вебархива, там около 2х гигов, глядишь где-то сгодится.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет. А у тебя спина белая 🥳
Недавно упоминал в чатике про цикл статей которые я написал про Podman, лови следующую.
Healthcheck инструментами Podman → https://two.su/3kcvf
🛠 #devops #dev
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Недавно упоминал в чатике про цикл статей которые я написал про Podman, лови следующую.
Рекомендую ознакомиться, столько интересного и неочевидного раскопал. Возможно это подтолкнет тебя к переезду с docker в podman.
Healthcheck инструментами Podman → https://two.su/3kcvf
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Диагностика проблем через контрольные суммы
🔤 🔤 🔤 🔤 🔤 🔤 🔤
Всем привет.
ㅤ
У меня на этой неделе случилась беда. На одной машине пользователя стала глючить 1с. Уже и кэши очищали, и машину перезагружали - глючит и все. Пало подозрение на повреждение самой 1с.
Можно было бы просто переставить, и забыть. Но мне хотелось именно убедиться, что проблема на диске.
Нужно просто рекурсивно сравнить два каталога по содержимому файлов. Каталог со старой установкой переименовал, поставил заново и начал сравнивать.
Проще всего это сделать с помощью
-n (--dry-run) — только тестирование
-c (--checksum) — по содержимому
-r (--recursive) — рекурсивно
-v (--verbose) — подробности
Вот только ставить на клиентскую машину
Поскольку сравниваем два предположительно одинаковых каталога, то в идеале, файлы должны быть в четном количестве. Если у файлов c одинаковыми
В общем, как я и предполагал, нашлись файлы с разной контрольной суммой. Значит повреждение было на диске. Ну, и после переустановки 1с, проблема ушла.
На самом деле проблема не такая редкая. Дело в дисках. Есть такая характеристика как Неисправимых ошибок чтения/прочитанных бит.
Например, на wd blue 1E-14, на wd gold 1E-15, на SSD Micron 7450 MAX 1e-17. То есть серверный ssd в 1000 раз надежней, чем бюджетный hdd. Просто не всегда эти ошибки одинаково заметны.
Кстати,
Всем работы без багов.
🛠 #debug #devops
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Всем привет.
ㅤ
У меня на этой неделе случилась беда. На одной машине пользователя стала глючить 1с. Уже и кэши очищали, и машину перезагружали - глючит и все. Пало подозрение на повреждение самой 1с.
Можно было бы просто переставить, и забыть. Но мне хотелось именно убедиться, что проблема на диске.
Нужно просто рекурсивно сравнить два каталога по содержимому файлов. Каталог со старой установкой переименовал, поставил заново и начал сравнивать.
Проще всего это сделать с помощью
rsync:rsync -ncrv /old1c /1c
-n (--dry-run) — только тестирование
-c (--checksum) — по содержимому
-r (--recursive) — рекурсивно
-v (--verbose) — подробности
Вот только ставить на клиентскую машину
rsync ради одного сравнения, так себе идея. Да и если забыть ключик -n, можно убить данные. Решил сделать все костылями:find /old1c /1c -type f -printf "%f " -exec md5sum {} \; |
awk '{print $2,$1}'|sort |uniq -c|awk '$1%2'-type f — только файлы-printf "%f " — печатаем basename-exec md5sum {} \; — для каждого файла вычисляем md5|awk '{print $2,$1}' — сначала md5, потом файл (не принципиально, но красивее)|sort |uniq -c — на первой позиции - число уникальных записей. Без sort uniq не работает.|awk '$1%2' — печатаем только строки, с нечетным числом записей.Поскольку сравниваем два предположительно одинаковых каталога, то в идеале, файлы должны быть в четном количестве. Если у файлов c одинаковыми
basename разная md5, то их число будет нечетным.В общем, как я и предполагал, нашлись файлы с разной контрольной суммой. Значит повреждение было на диске. Ну, и после переустановки 1с, проблема ушла.
На самом деле проблема не такая редкая. Дело в дисках. Есть такая характеристика как Неисправимых ошибок чтения/прочитанных бит.
Например, на wd blue 1E-14, на wd gold 1E-15, на SSD Micron 7450 MAX 1e-17. То есть серверный ssd в 1000 раз надежней, чем бюджетный hdd. Просто не всегда эти ошибки одинаково заметны.
Кстати,
rsync работает значительно быстрее. Если данных много — используйте его.Всем работы без багов.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Как превратить DNS-сервер в пушку для DDoS-атаки
В DNS есть такая прикольная штука, как ANY запрос, его суть — выдать тебе сразу все DNS записи по нужному домену.
ㅤ
Запрос вида:
Я встречал много Bash скриптов, которые на этом запросе завязаны, да чё греха таить, вчера буквально обратился товарищ (малваря-аналитик) с запросом — всё пропало, не работает, ааааа!!!
Хотя раньше всё работало из коробки и Bash скрипты вели себя предсказуемо. Но опять же, в зависимости от DNS сервера, результаты могли разница. Тебе могли отдать данные, которые в предыдущем запросе были совсем другими.
Логично. Провайдеры рано или поздно приходят к этому, начинают блокировать подобные запросы. Всё это связано с дидос атаками. Погоды эти ANY запросы не делают, но создают большую проблему и головную боль. Основная проблема — DDoS amplification.
Самый адекватный способ борьбы с этим — отключить всё нахуй и поломать возможный вектор атаки. Короче непредсказуемость ANY запроса это плохая практика. Запрос ANY никогда не был стандартизирован - «как получить всё».
Читать продолжение: https://two.su/dzg0a
🛠 #security #devops
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Разбираем механику DNS Amplification атак и выясняем, почему использование ANY-запросов превращает твой сервер в инструмент для DDoS. Узнай, как работают векторы усиления трафика и как правильно настроить защиту на BIND и Unbound.
В DNS есть такая прикольная штука, как ANY запрос, его суть — выдать тебе сразу все DNS записи по нужному домену.
ㅤ
Запрос вида:
dig chklst.ru ANY
Я встречал много Bash скриптов, которые на этом запросе завязаны, да чё греха таить, вчера буквально обратился товарищ (малваря-аналитик) с запросом — всё пропало, не работает, ааааа!!!
dig chklst.ru ANY
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; EDE: 21 (Not Supported): (Type ANY Queries not supported here, RFC8482)
;; QUESTION SECTION:
Хотя раньше всё работало из коробки и Bash скрипты вели себя предсказуемо. Но опять же, в зависимости от DNS сервера, результаты могли разница. Тебе могли отдать данные, которые в предыдущем запросе были совсем другими.
Логично. Провайдеры рано или поздно приходят к этому, начинают блокировать подобные запросы. Всё это связано с дидос атаками. Погоды эти ANY запросы не делают, но создают большую проблему и головную боль. Основная проблема — DDoS amplification.
Самый адекватный способ борьбы с этим — отключить всё нахуй и поломать возможный вектор атаки. Короче непредсказуемость ANY запроса это плохая практика. Запрос ANY никогда не был стандартизирован - «как получить всё».
Читать продолжение: https://two.su/dzg0a
—
Please open Telegram to view this post
VIEW IN TELEGRAM
А какие способы хитрой подмены файлов помимо mount --bind ты знаешь?
ㅤ
Наверное можно еще через cgroups замутить, или через eBPF понаделать хуки на системный вызов open, openat, туда же mount overlay...
🛠 #shitcode #bash
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
ㅤ
echo first >first.txt
echo second >second.txt
ln -s first.txt second.txt
# Выведет: ln: cannot create symbolic link from 'first.txt' to 'second.txt': File exists
mount --bind first.txt second.txt
# А так работает.
cat second.txt
#Выведет first.
Наверное можно еще через cgroups замутить, или через eBPF понаделать хуки на системный вызов open, openat, туда же mount overlay...
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Твой сайт — решето! Или как не обосраться
Недавно я показывал тебе как настроить свой собственный поисковый движок на SearXNG, ну так вот, нашел на просторах агрегатора, который собирает такие публичные поисковики в табличку. И по сути можно на чужих серверах устроить себе полноценный поиск по интернету.
ㅤ
Ссылка: https://searx.space/
Зачем? Ну к примеру нужно тебе что-то быстро анонимно поискать, а своё детище поднимать в хуй не упёрлось. Открываешь такой публичный поисковик и ебешь его в хвост и в гриву. Но естественно не забываем предварительно включить КВН или соксы.
Для браузеров есть пиздатые плагины: Zero Omega и FoxyProxy.
СТОП! Яж про другое…
Пойдем дальше, на этом сайте я увидел рейтинги настройки серверов и вспомнил, когда я 100 лет назад поднимал инстанс с собственным mastodon сервером, я упарывался в безопасность и прям активно соблюдал эти рейтинги. Потом это всё забылось и сегодня решил проверить свой основной блог и мягко говоря прихуел.
Мой социальный рейтинг по SSL был на уровне «D» — да вы батенька не девопс-инженер, вы пидор ебаный!
Дела, дела! Надо это исправлять.
Чё значит этот рейтинг?
Сервис Mozilla Observatory смотрит не на код приложения, а на то, насколько правильно настроен твой сервер и заголовки безопасности.
Кстати опять же пентестеры активно применяют это в своей работе, чтобы быстренько проверить безопасность конфигурации и по возможности найти лазейку к твоему шоколадному бекенду с последующим проникновением без вазелина.
Если кратко — это линтер безопасности, а рейтинг всего лишь сводная оценка качества настроек и твоих компетенций.
Основные категории проверки:
1. HTTP-заголовки безопасности
2. HTTPS и TLS
3. Cookies
4. Защита от известных атак
Хули, давай это исправим, мне пришлось добавить такое в свою конфигурацию, чтобы добить рейтинг в более-менее вменяемую зону и получить заветную букву «B». Чтобы получить «A» мне придется немного перекроить работу с javascript, но пока мне лень.
Собственно конфиг:
⚪ Это защита от XSS атак и внедрения чужого контента. Я прописал доверенные сайты с которыми работаю. Но узкой дыркой осталось «unsafe-inline», с помощью него я разрешил inline JS, чтобы мои статусы из mastodon корректно передавались. Вот эту штуку и нужно будет допилить, чтобы получить по ебалу рейтинг «A+».
⚪ Всегда используй протокол https, включая поддомены.
⚪ Предоставляет защиту от clickjacking, разрешает вставку сайта в iframe только с того же домена, но у меня уже это прописано в первом заголовке. Похуй, оставляем. Кстати он уже устаревший, но все еще используется.
⚪ Запрещает браузеру угадывать тип файла, например сервер отдал JS как
⚪ Контролирует, что отправляется в Referer, хороший баланс приватности и аналитики.
Если подытожить, получаем — грузи ресурсы только отсюда, не доверяй подозрительной хуйне, всегда используй https и не давай сайту быть встроенным куда попало.
На этом собственно и всё, можешь пойти и проверить свои компетенции в настройке.
Поделись в комментах своим социальным рейтингом, хоть позавидуем.
🛠 #security #devops
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Недавно я показывал тебе как настроить свой собственный поисковый движок на SearXNG, ну так вот, нашел на просторах агрегатора, который собирает такие публичные поисковики в табличку. И по сути можно на чужих серверах устроить себе полноценный поиск по интернету.
ㅤ
Ссылка: https://searx.space/
Зачем? Ну к примеру нужно тебе что-то быстро анонимно поискать, а своё детище поднимать в хуй не упёрлось. Открываешь такой публичный поисковик и ебешь его в хвост и в гриву. Но естественно не забываем предварительно включить КВН или соксы.
Для браузеров есть пиздатые плагины: Zero Omega и FoxyProxy.
Я пользуюсь первым, как-то более интуитивно понятно правила настраиваются, в отличие от второго. Но тут больше вкусовщина, возможно ты оверхед монстр и спокойно стихи на регулярках перед сном читаешь своему ребенку.
СТОП! Яж про другое…
Пойдем дальше, на этом сайте я увидел рейтинги настройки серверов и вспомнил, когда я 100 лет назад поднимал инстанс с собственным mastodon сервером, я упарывался в безопасность и прям активно соблюдал эти рейтинги. Потом это всё забылось и сегодня решил проверить свой основной блог и мягко говоря прихуел.
Мой социальный рейтинг по SSL был на уровне «D» — да вы батенька не девопс-инженер, вы пидор ебаный!
Дела, дела! Надо это исправлять.
Чё значит этот рейтинг?
Сервис Mozilla Observatory смотрит не на код приложения, а на то, насколько правильно настроен твой сервер и заголовки безопасности.
A / A+ = всё настроено пиздато
B / C = терпимо, но ты все равно долбаёб
D / F = хуйня, переделать, серьёзные дыры, почти нет защиты
Кстати опять же пентестеры активно применяют это в своей работе, чтобы быстренько проверить безопасность конфигурации и по возможности найти лазейку к твоему шоколадному бекенду с последующим проникновением без вазелина.
Если кратко — это линтер безопасности, а рейтинг всего лишь сводная оценка качества настроек и твоих компетенций.
Основные категории проверки:
1. HTTP-заголовки безопасности
2. HTTPS и TLS
3. Cookies
4. Защита от известных атак
Хули, давай это исправим, мне пришлось добавить такое в свою конфигурацию, чтобы добить рейтинг в более-менее вменяемую зону и получить заветную букву «B». Чтобы получить «A» мне придется немного перекроить работу с javascript, но пока мне лень.
Собственно конфиг:
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https:; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; frame-src 'self' https://video.bashdays.ru https://t.me; connect-src 'self' https://api.rss2json.com https://bashdayz.ru;" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
text/plain, браузер мог бы «догадаться» и выполнить. Теперь хуй, ничего не выполнит.Если подытожить, получаем — грузи ресурсы только отсюда, не доверяй подозрительной хуйне, всегда используй https и не давай сайту быть встроенным куда попало.
На этом собственно и всё, можешь пойти и проверить свои компетенции в настройке.
Поделись в комментах своим социальным рейтингом, хоть позавидуем.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Всем привет. Что мы все о bash да и bash. Надоело. Сегодня поговорим про
🔤 🔤 🔤 🔤 🔤 🔤 🔤
Не много осталось админов, которые парсят текстовые логи. Вся молодежь и даже пОдростки перешли на JSON. Ну да, это удобно. Но иногда
ㅤ
Но я сегодня не в настроении устраивать холивар.
При использовании логов очень часто возникает проблема — очень большое количество полей. А
Так вот, чтобы немного упростить задачу я написал маленький скрипт, который разбирает строку и нумерует поля. Это здорово экономит время.
Сам скрипт:
Как обычно сохраняем
Как это работает:
1. Сначала вводим разделитель.
2. Затем строчку лога и получаем разбивку по полям.
Ввод разделителя нужен, потому что иногда уже внутри кода приходится использовать оператор
Рассмотрим такой пример:
В этом случае, если нужно одновременно вытащить и дату и IP с портами, проще в качестве основного разделителя использовать
Здесь, если мы разбить по пробелам (
Всем кода без багов.
🛠 #bash #linux
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
awk.Не много осталось админов, которые парсят текстовые логи. Вся молодежь и даже пОдростки перешли на JSON. Ну да, это удобно. Но иногда
awk быстрее. Особенно на больших файлах и файлах и простых фильтрах.ㅤ
Но я сегодня не в настроении устраивать холивар.
При использовании логов очень часто возникает проблема — очень большое количество полей. А
awk зачастую использует именно номер поля.Так вот, чтобы немного упростить задачу я написал маленький скрипт, который разбирает строку и нумерует поля. Это здорово экономит время.
Сам скрипт:
#!/bin/awk -f
BEGIN{printf "INPUT field separator "
getline
FS=$0
printf "INPUT test line\n"
getline
printf "\n\n"
for (i=1;i<=NF;i++)print i, $i
}
Как обычно сохраняем
fields.awk и делаем исполняемым:chmod +x fields.awk
./fields.awk
Как это работает:
1. Сначала вводим разделитель.
2. Затем строчку лога и получаем разбивку по полям.
Ввод разделителя нужен, потому что иногда уже внутри кода приходится использовать оператор
split и другой разделитель. Да и логи бывают разных форматов.Рассмотрим такой пример:
<134>1 2026-04-17T16:51:47+03:00 OPNsense.internal filterlog 18074 - [meta sequenceId="2054702"] 111,,,4b75111111111111111111111111cb1d,eno1,match,block,in,4,0x0,,64,27367,0,DF,6,tcp,60,192.168.2.125,192.168.7.14,60248,22,0,S,1539242113,,65535,,mss;sackOK;TS;nop;wscale
В этом случае, если нужно одновременно вытащить и дату и IP с портами, проще в качестве основного разделителя использовать
",", а потом первое поле:<134>1 2026-04-17T16:51:47+03:00 OPNsense.internal filterlog 18074 - [meta sequenceId="2054702"] 111
Здесь, если мы разбить по пробелам (
split($1,f," ")), то f[2] будет содержать дату. Которую в свою очередь можно путем нехитрых манипуляций превратить в unuxtime, для удобства машинной обработки.Всем кода без багов.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
1 41