LLeo
2025/01/22_1 - Ну и как это теперь развидеть?

2025/01/22 - Бобр и другие музыкальные новинки
2025/01/18 - Русский народный роман-с
РУССКИЙ НАРОДНЫЙ РОМАН-С
Я в душе не ебу,
для чего и кому это надо?
Накрывает досада
на лихую судьбу.
Продолжая ходьбу
по аллеям осеннего сада,
я в душе не ебу,
я в душе не ебу.
Где мои бриллианты?
Мои орхидеи и феи?
Почему я в Капотне?
А не на песках Малибу?
Почему как резьбу
нарезаю круги по Москве я?
Я в душе не ебу!
Я в душе не ебу!
Букингемский дворец
остужает ночная прохлада...
Зеленеет Канада...
Гольфстрим изгибает губу...
Я в душе не ебу —
почему я не там, а у МКАДа?
Вот в душе не ебу!
Я в душе не ебу!
Из маршрутки шансон
проливается душный и скверный...
В придорожных тавернах
чечня начинает пальбу...
Нефтяную трубу
кто-то пилит надрывно и нервно...
Кто? В душе не ебу!
Я в душе не ебу!
Почему я, как есть,
перемазан в побелке фасада?
И от пива помятую жесть
прижимаю к разбитому лбу?
Почему минус шесть?!
На аллеях —
казалось бы, вроде бы, сцуко —
ещё календарноооо-осееееееннего сада?!
Я в душе не ебу!
Я в душе не ебу!
Я в душе не ебу,
почему, благороднай и тонкай,
до сих пор не в Париже с японкой,
не в Софии с цейлонкой
вовсю нарушаю табу...
Я в душе не ебу,
почему просто так,
сисадмином, в конторе,
на сраной сижу повремёнке?
Потому что мудак.
Почему? А в душе не ебу!
24.02.2018
Мотив, надеюсь, вы себе представляете. А если нет, любая нейросеть вам споет. Только мне не показывайте, я по старинке, по крышке рояля.
2025/01/16 - Продающие картинки


2025/01/12 - Для скучных программистов: немного о шифровании на фронтендах
=============== cut ===============
[ ТЕКСТ ПОД КАТОМ: Доступен только в оригинальной заметке на сайте ]
=============== /cut ===============
Но с AES всё понятно давно. А что касается математики эллиптических кривых 25519, она пришла на смену старым методам сравнительно недавно и очень хорошо себя показала. Во-первых, она крайне надежна среди всего зоопарка. Во-вторых, очень быстра. В-третьих, компактна и красива. Например, старые ключи rsa занимали текстовые файл на несколько строк, а публичный ключ 25519 всего одну строчку, и этого скромного размера более чем достаточно. Вот например мой:
=============== cut ===============
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF8ZJDFjcdno13Rez/ebX5/i77YJRg3ODXuQbZgbt2nD lleo@lleo.me
=============== /cut ===============
Для JS-разработки существует библиотека noble: https://github.com/paulmillr/noble-ed25519 Её можно использовать и в nodejs-проектах и даже на веб-фронтенде — в полной версии (непакованная) она занимает всего 100кб. Для сравнения: библиотечища PGP openpgp.min.js весит более 600кб, и это дико пакованная. Что умеет библиотека 25519? Вот например: 1. Сгенерировать новый приватный ключ. А к нему — публичный. Приватный вы храните в тайне, публичный показываете всем. 2. Цифровая подпись. Своим приватным ключом вы можете подписать любые данные. Получатель, зная лишь ваш публичный ключ, всегда сможет проверить, что данные подписали именно вы. 3. Асимметричное шифрование данных для конкретного получателя, зная его приватный ключ (чтобы расшифровать эти данные смог лишь человек, обладающий приватной частью этого ключа). Тут интересный принцип. Старый алгоритм RSA позволял просто взять и зашифровать данные чужим приватным ключом. Алгоритмы 25519 работают чуть сложнее — они используют принцип «общего секрета». Это некий «общий» пароль для А и Б, который нигде не хранится, потому что в любой момент его можно вычислить, причем двумя способами: либо зная публичный ключ А и приватный Б, либо, наоборот, приватный Б и публичный А. Хитрая математика все равно вычислит «общий пароль» одинаково. Поэтому как работает шифрование данных для абонента для его публичного ключа? Первым делом генерируется временный ключ. Он позже будет забыт. С его помощью (используя приватную часть ключа и публичный ключ получателя) вычисляется общий пароль. Остаётся этим паролем тупо и симметрично зашифровать данные (при помощи того же мощного AES), а в комплект к шифровке добавить публичную часть временного ключа. Данные отправляются, все временные ключи и пароль отправитель уничтожает. Теперь никто, кроме получателя, не сможет это расшифровать обратно. А он сможет — добавит к публичному ключу свой приватный и легко вычислит, каким был общий пароль, которым шифрованы данные. И столь же симметрично их расшифрует. 4. Возникает интересная проблема: ну хорошо, а как зашифровать таким способом данные для нескольких получателей, не дублируя сами данные? PGP на старом RSA в этом смысле работал проще: если можно шифровать что-то, зная лишь публичник адресата, то данные шифруются единым паролем, а сам пароль шифруется много раз для каждого из адресатов и прикладываются к данным по числу получателей. Данные не дублируются, а шифрованных паролей можно напихать для каждого, они же относительно короткие (спойлер: в RSA не очень). С x25519 это явно не сработает, поэтому схема усложняется. Мы генерируем единый пароль для шифровки данных (любого типа, не обязательно ключи 25519). А далее — как всё в предыдущем пункте, с той лишь разницей, что шифруем не данные, а сам пароль. То есть — генерируем столько временных ключей 25519, сколько у нас получателей, и для каждого получателя шифруем пароль. К общей посылке у нас добавляется по числу получателей: 32 байта публичного временного ключа + 48 байт шифрованный пароль + 32 байта на сам публичник получателя, чтоб он разобрался, какой из паролей шифрован для него, и ему не пришлось раскрывать данные подряд всеми чужими паролями, пока не увидит, что информация теперь расшифровалась чуть более осмысленно. Итого — чуть больше 100 байт на получателя. 5. Да, еще есть неочевидный нюанс, что генерится пара ключей обычно в формате Edwards (ed25519), а использовать для поиска общего секрета можно только ключи формата Mongometry (x25519), но это уже сущие мелочи, это делается легкой конвертацией ключа в одну строчку.
=============== cut ===============
=============== /cut ===============
=============== cut ===============
[ ТЕКСТ ПОД КАТОМ: Доступен только в оригинальной заметке на сайте ]
=============== /cut ===============
Файлик: cryptotest.js Временная копия библиотеки: noble-curves.js Теперь вы можете нарисовать прямо в браузере свой собственный pgp-протокол, если конечно начальство позволит.
2025/01/11 - Если бы повара работали как программисты

2025/01/09 - Праздничного вам в ленту

2025/01/08 - Для истинных сомелье: не просрочка, а ферментация
Пуэр лежал в земле как зомби,
но как-то в полночь невзначай
он вылез, сбрасывая комья...
и в чай!
Уже не так страшна цена 90 рублей — если поехать в Ашан и попасть на скидку, можно взять и по 56. Зато новые вкусы отвечают на новые вызовы. Но вот вопрос: продолжается ферментация при дальнейшем хранении как у вина или останавливается как у коньяка?
2025/01/05 - Как сделать уютный камин из Тик-Така

2024/12/28 - Долой китайские VPN
Крепчает охват интернета,
грядёт орбитальный сигнал.
Россия в порядке ответа
желает, чтоб враг понимал:
его технологии жалки,
в России растут как грибы
глушилки, давилки, сбивалки,
лучи электронной борьбы.
Мы в плане вредительства — боги!
Мы в сфере помех — короли!
И нету таких технологий,
чтоб мы их сломать не могли!
2018 Несознательные граждане, пользующиеся VPN, уже заметили, что некоторые VPN перестали работать вообще, а некоторые перестали работать с мобильных операторов. Вызвано это тем, что Россия успешно импортирует китайскую модель и оборудование. Если раньше VPN класса shadowsocks (например, Outline) работал, потому что шифровал трафик неизвестным Китаю способом, то теперь проводятся эксперименты по отключению любых непонятных способов шифрования путем потери выборочных пакетов. А этого shadowsocks не переносит. Разумеется, мы все очень рады, что наконец-то усилились меры борьбы с VPN! Однако, как объяснил мне мудрый Chuk, есть в этой борьбе некоторые недоработки. Связаны они с тем, что вслед за оборудованием по взлому частного трафика из того же дружественного Китая подъехали и новые технологии его обхода. Нынешние VPN-протоколы давно забили болт на свои чисто транспортные задачи (изначально VPN был изобретен вовсе не для обхода цензуры), а занялись активным противодействием. В частности — научились шифровать трафик, подделывая его под обычный ws https. Мерзавцы пользуются тем, что заблокировать ws и https пока не получается — встанут все банки, заводы, билетные кассы, у молодых родителей отключатся вебкамеры для наблюдения за детской кроваткой, а у пожилых генералов — камеры на заборах военных объектов... А отличать обычный https от необычного мы пока не умеем, потому что и там и там просто шифрованный поток. Китайские ученые давно бьются над задачей, но пока тоже безуспешно. Чтобы проверить, умеет ли ваш домашний провайдер или мобильный оператор блокировать новые вредоносные китайские VPN, сделаем самопроверку. 1. Очень хорошо, если у вас уже есть свой сайт на зарубежном хостинге с линуксом. Иначе придется купить хостинг. Можно даже уговорить зарубежного друга поставить Raspberry в углу на свою домашнюю сеть, если там внешний IP, и пробросить на роутере порт 80 (ну или 443, если не дружите с CloudFlare). В любом случае очень неплохо, если DNS заведен через cloudflare.com и не придется морочиться с собственными сертификатами ssl для https. 2. Скачиваем китайский инсталлятор https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/refs/heads/master/install-release.sh и запускаем от root. 3. Правим конфигурацию, я рекомендую для тестов создать сразу три протокола: shadowsocks, Vmess и VLESS (самый новый). Если у вас был раньше установлен shadowsocks-libev, убейте его навсегда. Пример: /usr/local/etc/v2ray/config.json (ключ ID придумайте сами). Мы подняли 3 протокола: VLESS на внутреннем порту 2025, shadowsocks (открытый) на порту 1984 и Vmess на внутреннем порту 2024. 4. В конфигурации nginx для своего сайта добавляем два эндпоинта: /vless с портом 2025 и /vmess с портом 2024. Пример: /etc/nginx/sites-enabled/mysite.conf Имеется в виду, что соединение идет на ваш сайт murzilka.com и попадает на DNS CloudFlare, тот устанавливает tls-соединение как https, а сам общается с вашим сайтом по 80 порту, и никто снаружи не знает, где ваш сайт находится, и на какой конечный адрес (murzilka.com/vless) идут данные. 5. Настраиваем клиент под мобильник. Удобный, бесплатный и не глючный называется v2rayNG (Андроид) или FoXray (iOS). Поля вводим в настройках такие:
=============== cut ===============
Название: Проверка VPN
Адрес: murzilka.com
Порт: 443
ID: 111111-aaaa-bbbb-cccc-222222222
Шифрование: none
Транспорт (Сеть): ws
Узел ws: murzilka.com
Путь ws: /vless
TLS: tls
Разрешать небезопасные: false
=============== /cut ===============
А вот красивого клиента под Linux с одной кнопочкой я не нашел, поставил Nekoray (sudo apt install nekoray) Он страшненький, непонятный и малость глючный, но работает.
Вот и вся настройка. Теперь вы даже сможете прочесть на Хабре забаненную статью про все эти технологии: https://habr.com/ru/articles/727868/ Там, кстати, написан один важный момент: разные технофрики вам будут говорить, что надо сверху накрутить еще для пущей крутизны дополнительно то, пятое и десятое, однако не следует бежать быстрее медведя, это его только расстраивает: достаточно бежать быстрее самых медленных бегунов.
Ну и конечно не забудьте снести всё это, как только протестируете. Ведь наша цель — всего лишь выяснить, умеет ли ваш провайдер уже бороться с новыми китайскими VPN. Если не умеет пока — напишите ему, пусть исправляется. Я вижу, что домашние операторы в Питере и Чертаново пока не умеют блокировать ни shadowsocks, ни vless, ни vmess. А вот мобильный оператор Тинькофф уже научился блокировать shadowsocks, хотя против новых китайских vless/vmess по-прежнему бессилен. Скорей бы уже все VPN запретили! Я категорически против любых нелегальных VPN, от них бездуховность, мошенники и вирусы.
PS: Кстати, забавно, что мне бы пригодился VPN вовсе не по причине обхода российских блокировок, а по причине обхода западных: без VPN для российских IP запрещен вход на chatgpt.com А я как-то уже совсем разучился без него программировать.
2024/12/25 - Теперь зелёный: ни у кого вопросов нет

=============== cut ===============
Эпоха Перестройки. Учёным удалось оживить товарища Сталина. Ему показали новые реалии и спросили, что он думает.
— Во-первых, — сказал товарищ Сталин, попыхивая трубкой, — необходимо немедленно расстрелять всё руководство страны, включая всех депутатов. Во-вторых — перекрасить Мавзолей в зелёный цвет.
— Но... — растерянно переглядываются учёные, — зачем же перекрашивать Мавзолей в зелёный?
— Я знал, — отвечает товарищ Сталин, — что по первому пункту ни у кого вопросов не будет.
=============== /cut ===============
2024/12/21 - Немного культурного кода из сокровищницы Родины
2024/12/18 - London

2024/12/17_1 - Осторожно, меня взломали!
2024/12/17 - This account has been hacked
2024/12/14_1 - Готовим солянку








Действие второе: тем временем на сковородке разворачиваем фронт событий: обжариваем в масле мелко порезанный лучок (вторая луковица), затем из кастрюли вынимаем мясо, режем кубиками и кидаем на сковородку. Добавляем томат-пасту и всякие копчености — порубленные охотничьи колбаски, копченые сосиски и так далее. Все это обжариваем, добавляем ложку-две бульона, специи и соленые огурцы — порубленные кубиками. В кастрюлю с бульоном взамен мяса насыпаем картошку. Чуть позже — полстакана риса.
Тем временем продолжаем обжаривать на скоровородке.
И наконец вываливаем все в кастрюлюи варим еще минут 10-15.
Готовую солянку подаем на стол, бросая в тареку каперсы, ломтик лимона и ложку сметаны. Приятного аппетита!
Все страницы по теме «кулинария»: 2019-09-06: Готовим ленинградский рассольник с читалкой PocketBook 641 Aqua 22018-04-23: Исконно русский суп Том Ям2016-10-29: Кулинарии пост: стейк по-чертановски2016-01-30: Хачапури по-аджарски2014-08-25: Рецептик соленых огурцов от бабушки?2013-12-13: Суп из пива с семками по-чертановски2012-03-28: КАК СВАРИТЬ ЯЙЦО В МИКРОВОЛНОВКЕ2010-02-15: F5.RU: Блинам!2007-08-21: RAZGOVOR.ORG: Настоящая мужская кулинария2005-12-22: Как грызть кедровые орехи: мастер-класс Юлия Буркина