Forwarded from Купер.тех
Когда нужная команда утонула в хорошей документации, тебе нужна всего одна строка, а вместо этого перед глазами двадцать экранов текста и статья, название которой ты уже не помнишь — то на помощь приходят сниппеты.
Дмитрий Рагулин, DevOps-инженер платформы (PaaS), делится практическим подходом, как вытаскивать такие фрагменты на поверхность и держать их под рукой без переписывания документации и новых инструментов.
Если у вас тоже есть «команда, которая точно где-то была», то переходите по ссылке и читайте советы!
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
Отображение сниппетов в терминале
При работе с личной базой знаний быстро становится ясно, что данные бывают разного характера. Статьи и заметки подходят для описания концепций и решений, скрипты — для автоматизации повторяющихся действий. Однако на практике часто встречаются небольшие фрагменты…
1👍1👌1
Вы знали, что в Ansible можно определить переменную в 22х местах?
Вот теперь и живите с этим,вас еще на собесах будут мучать таким вопросом
Официальная дока - тут
Товарищам без VPN - порядок приоритета от наименьшего к наибольшему:
1. Передаваемые значения в adhoc/при запуске ansible
2. Директория defaults в структуре ансибл-роли
3. Переменные группы хостов в инвентори-файле
4. Inventory group_vars/all
5. Playbook group_vars/all
6. Inventory group_vars/*
7. Playbook group_vars/*
8. Переменные хостов в инвентори-файле
9. Inventory host_vars/*
10. Playbook host_vars/*
11. Facts хоста и закешированные set_facts
12. Секция
13. Секция
14. Секция
15. Директория vars в структуре ансибл-роли
16. Переменные объявленного блока
17. Переменные объявленной таски
18. Секция
19. Переменные из
20. Переменные объявленные в
21. Переменные которые используются внутри
22. Extra vars, которые используем через ключ
#шпаргалки
Вот теперь и живите с этим,
Официальная дока - тут
Товарищам без VPN - порядок приоритета от наименьшего к наибольшему:
1. Передаваемые значения в adhoc/при запуске ansible
[--private-key PRIVATE_KEY_FILE] [-u REMOTE_USER]...2. Директория defaults в структуре ансибл-роли
3. Переменные группы хостов в инвентори-файле
4. Inventory group_vars/all
5. Playbook group_vars/all
6. Inventory group_vars/*
7. Playbook group_vars/*
8. Переменные хостов в инвентори-файле
9. Inventory host_vars/*
10. Playbook host_vars/*
11. Facts хоста и закешированные set_facts
12. Секция
vars в плейбуке13. Секция
vars_prompt в плейбуке14. Секция
vars_files в плейбуке15. Директория vars в структуре ансибл-роли
16. Переменные объявленного блока
17. Переменные объявленной таски
18. Секция
include_vars19. Переменные из
register и set_fact20. Переменные объявленные в
include_role21. Переменные которые используются внутри
include_tasks22. Extra vars, которые используем через ключ
-e при запуске ansible#шпаргалки
1🤯6👍2👌1
Forwarded from Опенград
На днях тут наткнулся на одну прикольную статью, где рассказывалось об основных ошибках, которые возникают при взаимодействии с TLS и вообще PKI. А также о том, что достаточно часто многие заметают такие ошибки под ковер используя -k, если мы говорим о том же curl. Хотя делать это не рекомендуется. Решил написать свою, расширенную, так сказать, версию того, как диагностировать некоторые проблемы подобного рода.
Telegraph
Отладка основных ошибок во время работы с сертификатами
Введение Если вы работаете с инфраструктурой достаточно долго, у вас наверняка выработался рефлекс, при котором если вы видите ошибку сертификата, то добавляете ключ -k и идёте дальше. Это понятно. Ошибки TLS бывают раздражающими, непрозрачными и, казалось…
👍5
Forwarded from Типичный Сисадмин
Любой опытный админ знает, что не падает только то, что не работает. В конце 2024 года Yandex Cloud пережил один из самых жестких региональных инцидентов в своей истории. Отказ одного сетевого контроллера запустил эффект домино, который привел к потере внешней связности сразу в нескольких зонах доступности. Ситуация классическая для сложных систем, когда звезды сошлись так, что наложились миграции виртуалок, баги в маршрутизации и отсутствие предохранителей в очередях. Получился идеальный шторм
Недавно команда Yandex Cloud выкатила подробнейший суровый лонгрид на Хабре, показав, как именно дыры в слоях защиты привели к каскадному отказу.
Но самое ценное в выводах и решениях. Команда пересобрала подход к устойчивости сети:
Если вы строите Highload или просто хотите понять, как мыслят архитекторы, когда у них горит прод на уровне региона, то читать обязательно. Это отличный пример того, как превратить факап в точку роста и сделать систему неубиваемой (почти
👉 Читать разбор инцидента: https://habr.com/ru/companies/yandex/articles/992520/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🤮4💩3🤡1
Мне принесли открытку с NFC-меткой и жалобой что запись не работает, NFC Tools отдает ошибку
Никогда не работал с NFC, но было интересно поковырять через NDEF
Через чтение показывало только тип тега, название метки и серийник
При попытке чтения из памяти в hex видно, что в секторах есть данные которые пытались записать и получили ошибку (не забываем поменять вывод в UTF-8)
Попробуем поставить маркер конца сообщения и занулить следующий сектор
Помним, что первые 3 сектора у нас служебные, поэтому писать начнем с 4го сектора
Идём в "Продвинутые команды NFC", выбираем
В Data указываем:
Таким образом ставим метку конца сообщения
A2 - команда записи
04 - сектор в который пишем
FE - сама метка
С приложенной меткой нажать Send Command и подтвердить кнопкой Send
Далее отправить таким же образом команду:
Зануляем 5 сектор, данные расположенные в следующих секторах читаться не будут
Теперь пробуем прочитать метку стандартной тулзой и видим, что помимо стандартной информации у нас добавилось поле
Пробуем записать информацию на метку и все работает!
Почему так - хз)
Возможно, NFC Tools криво записал ссылку на метку изначально и починить это можно только ручками
#шпаргалки
Никогда не работал с NFC, но было интересно поковырять через NDEF
Через чтение показывало только тип тега, название метки и серийник
Тип тега: ISO 14443-3A
NXP - Mifare Ultralight
При попытке чтения из памяти в hex видно, что в секторах есть данные которые пытались записать и получили ошибку (не забываем поменять вывод в UTF-8)
Попробуем поставить маркер конца сообщения и занулить следующий сектор
Помним, что первые 3 сектора у нас служебные, поэтому писать начнем с 4го сектора
Идём в "Продвинутые команды NFC", выбираем
I/O Class "NfcA (ISO 14443-3A)"В Data указываем:
A2:04:FE:00:00:00 Таким образом ставим метку конца сообщения
A2 - команда записи
04 - сектор в который пишем
FE - сама метка
С приложенной меткой нажать Send Command и подтвердить кнопкой Send
Далее отправить таким же образом команду:
A2:05:00:00:00:00Зануляем 5 сектор, данные расположенные в следующих секторах читаться не будут
Теперь пробуем прочитать метку стандартной тулзой и видим, что помимо стандартной информации у нас добавилось поле
Возможность записи: да
Пробуем записать информацию на метку и все работает!
Почему так - хз)
Возможно, NFC Tools криво записал ссылку на метку изначально и починить это можно только ручками
#шпаргалки
👏4❤3🔥3
sdnv's funk-hole
Скоро мониторы не только обновлять, но ещё и заряжать придется🫣
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯2🤔1👌1👀1
- Мам, купи подписную Greeny
- У нас есть она дома
Greeny дома:
Бридж:Seymour Duncan TB-4
Нек: Seymour Duncan SH-1n
Струны: пристегнитесь -
#девайсы
🔥2
Kafka и искусство отпускать прошлое
Мой коллега запилил статейку о том как Kafka на самом деле решает, что хранить, что сжимать, а что удалять
#шпаргалки
Мой коллега запилил статейку о том как Kafka на самом деле решает, что хранить, что сжимать, а что удалять
#шпаргалки
Telegraph
Kafka: политики очистки
Назначение политик очисткиУправление логикой хранения данных, чтобы оставить в топике только необходимые данные, сняв при этом необходимость реализовывать эту логику вне Kafka, а также контролировать потребление дискового пространства на брокерах. Выбор политики…
🔥3
Forwarded from Типичный Сисадмин
Годами мы лепили гостевые SSID, ставили галочку AP Isolation и верили, что юзеры внутри одной подсети изолированы друг от друга. Оказалось - показалось
На симпозиуме NDSS 2026 показали атаку AirSnitch, которая умножает на ноль всю изоляцию Wi-Fi клиентов. Причем делает это не брутфорсом, а фундаментальным обманом логики работы коммутаторов на первом и втором уровнях модели OSI. Уязвимы практически все протестированные железки... Cisco, Ubiquiti, Netgear, D-Link, а также кастомные прошивки OpenWrt и DD-WRT
Суть атаки... Атакующий подключается к точке доступа, подделывая MAC-адрес жертвы. AP обновляет таблицу коммутации, связывая виртуальный порт атакующего с MAC-адресом жертвы. В результате весь входящий трафик начинает литься хакеру. Но чтобы сделать атаку двусторонней и не сбросить жертву окончательно, хакер использует хитрый трюк... он отправляет ICMP-пинг с рандомного MAC-адреса, завернутый в общий групповой ключ сети. Это заставляет точку доступа переключить маршрутизацию обратно на жертву. Постоянно жонглируя этими состояниями, атакующий незаметно встает посередине канала
Самая дичь заключается в том, что атака работает даже за пределами одного BSSID. Злоумышленник может сидеть на гостевом SSID, а ломать клиента из корпоративного SSID, если они обслуживаются одной точкой доступа. В энтерпрайз-сетях ситуация еще хуже, т.к. AirSnitch позволяет перехватывать трафик между пользователями, подключенными к разным физическим точкам доступа, если они делят общую проводную распределительную сеть. Разделение по VLAN помогает далеко не всегда, так как многие вендоры криво реализуют изоляцию между L2 и L3. Исследователи даже продемонстрировали, как с помощью этого метода перехватить RADIUS-пакеты и поднять фейкового двойника корпоративной WPA3-Enterprise сети.
Что со всем этим делать - пока вопрос открытый. Проблема кроется в самой архитектуре обработки фреймов, и некоторые производители железа уже говорят, что починить это программно невозможно и нужны фиксы в Wi-Fi чипах. Патчи будут, но до тех пор любая открытая или слабо защищенная сеть (даже с изоляцией) - это ваши риски уже сейчас
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔5❤4
Студенты ВШЭ пишут код на листках — из-за недельных отключений интернета студенты кодят в тетрадках и на досках
Пока учился в РЭУ - всегда писали на шарпе от руки
Возвращаемся к истокам хех
😁10🫡5
This media is not supported in your browser
VIEW IN TELEGRAM
Давненько не было гитарного стаффа
Пока готовлю посты про IoT с небольшим ништяком для вас
• Ibanez S470 (В бридже DiMarzio Steve Morse DP200F)
• Hotone Ampero 2 Stage
#музыка
Пока готовлю посты про IoT с небольшим ништяком для вас
• Ibanez S470 (В бридже DiMarzio Steve Morse DP200F)
• Hotone Ampero 2 Stage
#музыка
❤5🔥4🙉2🥰1
witr (Why is this running?)
Утилита witr отвечает на один-единственный вопрос:
Почему это запущено?
Когда что-либо работает в системе, будь то процесс, служба или что-то, привязанное к порту, всегда есть причина. Эта причина часто бывает косвенной, неочевидной или распределена по нескольким уровням, таким как контейнеры, службы или оболочки.
Существующие инструменты (ps, top, lsof, ss, systemctl, docker ps) предоставляют доступ к состоянию и метаданным. Они показывают, что запущено, но оставляют пользователю возможность самостоятельно определить причину, вручную сопоставляя результаты работы разных инструментов.
Репыч на Гитхаб
src: @usr_bin_linux
Утилита witr отвечает на один-единственный вопрос:
Почему это запущено?
Когда что-либо работает в системе, будь то процесс, служба или что-то, привязанное к порту, всегда есть причина. Эта причина часто бывает косвенной, неочевидной или распределена по нескольким уровням, таким как контейнеры, службы или оболочки.
Существующие инструменты (ps, top, lsof, ss, systemctl, docker ps) предоставляют доступ к состоянию и метаданным. Они показывают, что запущено, но оставляют пользователю возможность самостоятельно определить причину, вручную сопоставляя результаты работы разных инструментов.
Репыч на Гитхаб
src: @usr_bin_linux
🔥4
Некоторые может помнят, что я в процессе ремонта и постройки умного дома
Дело близится к финалу и я потихоньку буду делиться болью, решениями и моментами которые меня постигли в IoT
Один из продуктов которые я себе заимел - espdomofon
Железка позволяющая превратить ваш глупый координатный домофон в умный
Платка ставится в разрыв между подъездом и трубкой
Позволяет открывать дверь через телегу, Алису и тд, можно нарулить скрипты открывания и подключить к HA/SprutHub
Но вот незадача - плата приходит голышом
В мою трубку она не поместится, подразумевалось хранить извне
У вендора в продаже когда то давно была распечатанная моделька корпуса, но только для 6 версии
Мы с товарищем слегка подзаморочились и запилили 3D-модельку корпуса для espdomofon v8
С отверстиями под светодиод и винты клеммы
Чем и хочется с вами поделиться
Творение рук @AlexFly87
Смоделирует и напечатает🔥
#девайсы
Дело близится к финалу и я потихоньку буду делиться болью, решениями и моментами которые меня постигли в IoT
Один из продуктов которые я себе заимел - espdomofon
Железка позволяющая превратить ваш глупый координатный домофон в умный
Платка ставится в разрыв между подъездом и трубкой
Позволяет открывать дверь через телегу, Алису и тд, можно нарулить скрипты открывания и подключить к HA/SprutHub
Но вот незадача - плата приходит голышом
В мою трубку она не поместится, подразумевалось хранить извне
У вендора в продаже когда то давно была распечатанная моделька корпуса, но только для 6 версии
Мы с товарищем слегка подзаморочились и запилили 3D-модельку корпуса для espdomofon v8
С отверстиями под светодиод и винты клеммы
Чем и хочется с вами поделиться
Творение рук @AlexFly87
Смоделирует и напечатает🔥
#девайсы
espdomofon.ru
Купить Умный домофон WiFi версия v.8 в магазине умных домофонов Espdomofon - умный домофон
Умный домофон WiFi версии v.8 — ваш надёжный страж и помощник в умном доме! Интегрируется с Яндекс, HomeAssistant и другими системами. Имеет дополнительные функции для удобства использования. Управляйте гостями легко и безопасно!
🔥3👍2
Forwarded from SmartIntercom.ru
🖨 3D-модель корпуса для ESPDomofon v8 — теперь доступна!
Выкладываем STL-файлы корпуса для платы ESPDomofon v8. Модель состоит из двух деталей — основание и крышка — и печатается на любом FDM-принтере без поддержек. Спасибо за создание модели https://xn--r1a.website/sdnv_funkhole
Что внутри:
— Посадочное место точно под плату v8
— Вырез под USB Type-C питание
— Окно для индикаторных светодиодов
— Защёлкивается без винтов
Параметры печати:
Материал: PLA или PETG
Слой: 0.1 мм
Заполнение: 20–30%
Время печати: ~40–60 мин
Скачать можно тут: https://wiki.smartintercom.ru/ru/needs/3d-model-v8
#SmartIntercom #ESPDomofon #3Dprint #DIY #умныйдомофон
Выкладываем STL-файлы корпуса для платы ESPDomofon v8. Модель состоит из двух деталей — основание и крышка — и печатается на любом FDM-принтере без поддержек. Спасибо за создание модели https://xn--r1a.website/sdnv_funkhole
Что внутри:
— Посадочное место точно под плату v8
— Вырез под USB Type-C питание
— Окно для индикаторных светодиодов
— Защёлкивается без винтов
Параметры печати:
Материал: PLA или PETG
Слой: 0.1 мм
Заполнение: 20–30%
Время печати: ~40–60 мин
Скачать можно тут: https://wiki.smartintercom.ru/ru/needs/3d-model-v8
#SmartIntercom #ESPDomofon #3Dprint #DIY #умныйдомофон
Мы бы никогда не увидели такую картину, если бы я не захотел реализовать диммируемое LED-освещение через механический диммер от Aqaraпростихоспаде
И да, оно работает
И да, без жуткого ШИМа
Изначально я пытался сделать все на трековом освещении, но:
1. Нет нормальных БП/драйверов которые умеют конвертировать TRIAC в 1-10V (может такое физически нереализуемо?)
2. Не бывает диммируемых линейных трековых светильников в 220V
3. Есть возможность использовать только 220V споты со сменной лампой. В таком случае трек бесполезен для меня
Решил взять накладной линейный LED-светильник и нашел у того же вендора драйвер позволяющий диммировать через TRIAC ヽ(。◕o◕。)ノ
Диммер: Aqara Dimmer Switch H2
Светильник: Maytoni C133CL-12W4K-W
БП/Драйвер: Maytoni PSL-TR40-300mA
Этот БП не влезет в светильник, можно заменить на PSL-TR40-150-300mA
Все что нам нужно сделать это снять термоусадку с родного драйвера светильника и отпаять сам драйвер/срезать кабель (рис.2)
Затем снять штекер с БП (он подписан LED) и скоммутировать светильник с БП любым удобным способом соблюдая полярность блеат ಠ_ʖಠ
Вывод на нагрузку от диммера подключаем к БП и вуаля вы прекрасны
Из интересного:
Диммером можно управлять через Алису/приложение, но область диммирования от 75 до 100%
75% это фактически минимальная яркость светильника
Скорей всего это минимальная напруга которую можно дать на этот светильник
На других светильниках нижняя граница диммирования на 83% яркости
#девайсы
И да, оно работает
И да, без жуткого ШИМа
Изначально я пытался сделать все на трековом освещении, но:
1. Нет нормальных БП/драйверов которые умеют конвертировать TRIAC в 1-10V (может такое физически нереализуемо?)
2. Не бывает диммируемых линейных трековых светильников в 220V
3. Есть возможность использовать только 220V споты со сменной лампой. В таком случае трек бесполезен для меня
Решил взять накладной линейный LED-светильник и нашел у того же вендора драйвер позволяющий диммировать через TRIAC ヽ(。◕o◕。)ノ
Диммер: Aqara Dimmer Switch H2
Светильник: Maytoni C133CL-12W4K-W
БП/Драйвер: Maytoni PSL-TR40-300mA
Этот БП не влезет в светильник, можно заменить на PSL-TR40-150-300mA
Все что нам нужно сделать это снять термоусадку с родного драйвера светильника и отпаять сам драйвер/срезать кабель (рис.2)
Затем снять штекер с БП (он подписан LED) и скоммутировать светильник с БП любым удобным способом соблюдая полярность блеат ಠ_ʖಠ
Вывод на нагрузку от диммера подключаем к БП и вуаля вы прекрасны
Из интересного:
Диммером можно управлять через Алису/приложение, но область диммирования от 75 до 100%
75% это фактически минимальная яркость светильника
Скорей всего это минимальная напруга которую можно дать на этот светильник
На других светильниках нижняя граница диммирования на 83% яркости
#девайсы
godap - удобный и мощный TUI для LDAP
src: @devops_memops
Возможности:
— поддерживает аутентификацию с помощью пароля, NTLM-хеша, тикетов Kerberos или сертификата PEM/PKCS#12
— преобразует дату/время, логические значения и другие категориальные атрибуты в читаемый текст
— красивые цвета и крутые эмодзи
— поддержка LDAPS и StartTLS
— быстрый проводник, загружающий объекты по запросу
— рекурсивный поиск объектов в сочетании с полезными сохраненными поисковыми запросами
— гибкий поиск участников групп и групп пользователей
— поддерживает создание, редактирование и удаление объектов и атрибутов
— поддерживает перемещение и переименование объектов
— поддерживает поиск удаленных и переработанных объектов
— поддерживает экспорт определенных поддеревьев каталога в файлы JSON.
— интерактивный редактор userAccountControl
— интерактивный просмотрщик + редактор DACL
— интерактивный просмотрщик + редактор ADIDNS (базовый)
— просмотрщик групповых политик
— поддержка SOCKS
Подробнее: https://github.com/Macmod/godapsrc: @devops_memops
GitHub
GitHub - Macmod/godap: A complete terminal user interface (TUI) for LDAP.
A complete terminal user interface (TUI) for LDAP. - Macmod/godap