Category: технологии

Category was added automatically. Read all entries about "технологии".

Book

Огораживатель

Я тут хочу роутер с симкой и батарейкой, но с перламутровыми пуговицами. Как минимум хочется поддержки IPSec и длинного срока выхода обновлений.

Как максимум хочется энтерпрайза в духе CradlePoint или Sierra Wireless. Но у них нет батарейных решений.

Бонус поинты:

- наличие у вендора страницы адвисорис
- наличие у вендора информации об EOL/support policy
- возможность подключаться к WiFi в туалете аэропорта, но сидеть при этом во внутренней сетке за WPA Enterprise+NAT+VPN - оказывается это реальная фича, Wifi-as-WAN.
- ethernet-порты для WAN и/или LAN
- данные о производительности разных фич в пакетах/c
- гостевой WiFi для непатченных жён и котов

Пока что лучшее, что нашёл батарейного - это разные инкарнации NetGear Nighthawk M1, с топовой 5G за аж 699. Но это домашние решения, и они ориентированы на маркетинговые 100500 попугаев, а не на секьюрити.
Book

ECMAScript Modules в Ноде в 2021

TLDR

Потратил тут ~неделю на приобретение тайного знания, так что вот вам оно забесплатно. Это к вопросу о визарде и галочках в том числе. Ну и как аргументированно посылать предлагающих перейти. Я тут попал в трудную ситуацию, когда придётся послать самого себя.

Если TLDR - то низя. Да, оно работает, работает в том виде в котором оно будет в 16.х, но mock-библиотеки не работают. То есть если вы не пишете тесты, или пишете их, но уверены, что вам не понадобятся те фичи, которые сейчас не работают, или пишете на уникальном сочетании технологий, которое внезапно работает - то можно. А если хотите хуяк-хуяк, и тесты на любом зрелом тестовом фреймворке и оно трам-пам-пам завелось - то низя.

Поддержка нодой

В ноде 14.х они наконец выкатили поддержку ES Modules без флага, но она помечена как Experimental в доке.

В ноде 15.х поддержка уже помечена как Stable. Но сама ветка не LTS. То есть в 16 ветке уже будет совсем зашибись.

Поддержка либами

Есть мок-либа https://www.npmjs.com/package/quibble, которая вроде как работает как --loader, но я её не смотрел и это же случай "пишете на уникальном сочетании технологий, которое внезапно работает".

В Jest поддержка заявлена только в jest@27, который сейчас @next. И оно использует ключик --vm-modules, который экспериментальный и отличается от других ключиков --loader и -r, которые вам встретятся по дороге. И там всё равно не работает jest.mock для некоторых типов модулей. В-общем Jest только транспиляция.

В mocha оно работает без ключика, но там есть длинный список ограничений:
- Watch mode does not support ES Module test files
- When using module-level mocks via libs like proxyquire, rewiremock or rewire, hold off on using ES modules for your test files

Разные версии ESM!

Но всё ещё более запутанно, на самом деле. Есть ~4 разных версии ES Modules только на сервере. В клиентский зоопарк я даже не лезу:

- TypeScript modules - как входной, так и генерируемый код
- node -r esm
- *.mjs
- type:module

И у них всех разные фичи и разная степень комплаенса спецификации! Последние 2 - это та самая "поддержка нодой" которая стабилизируется в 16.х.

И ещё это всё накладывается на то, что тестовые фреймворки клали хуй на систему модулей. В jest и mocha в обоих какие-то странные глобалсы. В tap их нет, но то относительная маргинальщина. А в библиотеках моков какие-то ебанутые требования к рантайму - в jest.mock например в factory не любой код можно. Jest вот решил перестать класть и завёл @jest/globals, который единственный способ использовать Jest c ES Modules, что совершенно правильный и прямой подход.
Book

Веб-фреймворк на Расте/wasm

https://yew.rs/docs/en/getting-started/build-a-sample-app

Помимо прочего, видно, что тулинг уже приличный. Можно например системные модули для ноды писать, и условный zstd-wasm лепить, который будет работать на Винде и в Андроиде без приседаний.
Book

Cубботний Unicode WTF

Я тут переехал локально, старый хозяин изъявил желание, чтобы я пиздовал нахуй.

Ну и на новом месте почему-то нету покрытия GPON, так что старый провайдер предлагает подключить 4 мбит по АДСЛ вместо старых 20. Ну и даже это никак не едут подключать, а я забался на LTE сидеть по разного рода дебильным логистическим причинам и тому что анлим они режут, после превышения какого-то минимального потолка трафика, до 256кбит. Не то чтобы мне было именно _нужно_ больше - мне важны потери и пинг, ну и в этом плане LTE уже охуенен, "как вайфай". Учитывая что я считаю вайфай нерабочей технологией, LTE в этом плане даже круче вайфая местами, я думаю, из-за того, что сеть хотя бы в какой-то степени инжинирится, а не просто понатыкал каждый АП-шек на автовыборе канала и повыкручивал уровень сигнала. Ну то есть да, стопицотгигабитный вайфай выдаёт таки реально ~300 мбит по виндовой самбе, но ССШ превращается в тыкву, т.к. качество плавает постоянно, и начинаешь напрягаться, это такая задержка из-за вайфая или что-то упало реально где-то посреди, или сервер подвис? То же самое с вебом.

В результате нашелся какой-то мелкий пров, который даёт 6 мбит за какие-то смешные деньги. Приехали, залепили, судя по всему Wi-Fi парабола с дальнобойной PoE AP, а в доме какой-то SOHO говнороутер абсолютно неизвестной марки.

Но это так сказать, присказка. Сказка заключается в том, что они не дали доступ к роутерам (не то чтобы я просил), а точку доступа запилили, барабанная дробь, I.G televisión.F06

Над буковкой о видите что-то странное? Так вот, это срёт в dd-wrt - мой второй роутер не умеет подключаться к AP c нерусскими юникод-именами. Тикету 4 года, пост на форуме тоже:

https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=304091
https://svn.dd-wrt.com/ticket/5535

Потратил пол-утра. В какой-то степени это даже хорошо, так как может придётся подключиться по-белому кабелем. И никто не будет протестовать что это декоративно нехорошо.
Book

В винде починили блютуз

Хез что было поломано. А может это не винда, а Андроид гадил как-то что винда не могла подключиться. Но теперь вот наушники включаешь и всё, они автоподключаются к винде.

Кстати там гуй странный, тру-гуй хез как по-другому открыть, я открывал через Windows-K
Book

Ещё один аргумент в пользу вацапа

https://www.whatsapp.com/security/advisories/2020/

(Имею ввиду vs телега).

У телеги конечно UX хороший на всех двух платформах которые я юзаю - винде и Андроиде. Best in class. Ну и протокол открытый вроде как. Но крипта во-первых плохая, против сигналовской у вацапа, во-вторых опциональная - но секурные чаты например не реплицируются между устройствами как в вацапе, групповых секурных чатов нету и те де.
Book

Звук в 2020

Играю тут в игрушку на Андроиде, так она внезапно не может в звук. В смысле что звук постоянно прерывается.

С другой стороны, винда внезапно не может в bluetooth - то ли мощи для AptX не хватает, что сомнительно, то ли ещё что, но звук из телефона в Youtube Music внезапно не глючит, а а винде периодически прерывается.

Тьфу!
Book

PKI курильщика

Обнаружил тут, что в Ведроиде PKI для нужд VPN сделана из говна.

Скажем, есть the Android Keystore provider feature, introduced in Android 4.3

Оно предоставляет плюс минус те же фичи, что виндовые Cryptographic Service Providers/Certificate Stores. А именно, возможность генерировать и использовать приватные ключи так, что приложение не видит ключа.

Ну то есть ключ живёт где-то там под рутом, и даже если нет HSM и ключ можно извлечь, имея физический доступ, при отсутствии уязвимостей эскалации привилегий наш ключ в домике. Он вообще не покидает никогда места генерации. Это опять же из разряда "нет поверхности атаки - нельзя атаковать".

Так вот, в том месте, где у здорового человека генерируется ключ внутри кейстора и публичный ключ отдаётся на подпись центру сертификации, у андроид-курильщика... импорт ключевой пары из ёбаного файла. Который блядь может любое приложение с правами доступа к диску прочитать и отправить товарищу майору.

Тут ещё нашлось, что SCEP это вовсе не MS, а, как и JWT, очень даже Cisco и IETF Draft. Но SCEP в Андроид тоже не завезли.
Book

День прошёл в обновлениях

Как-то достался мне бесхозный роутер, на который добрый человек накатил DD-WRT, ну и я его приспособил раздавать мне в спальню вайфай, поскольку роутер из зала не достаёт. (Раздавать на телефон — рабочий комп подключен по меди, ну его нахуй — я как чувствительный к потерям и задержкам ещё не видел работоспособного вайфая на самом деле, какая-то нерабочая технология, я даже не требую там больше 10 мбит или менее 50 мс; но мы отвлеклись)

Вот этот роутер как-то упорно не хотел обновляться с одного билда дд-врт на другой. Ну я терпел-терпел, а сегодня терпение лопнуло (а точнее, не было настроения работать — но было настроение пострадать хуйнёй), и я таки пострадал.

Включил на роутере телнет, обновился через mtd write но с ошибкой, и роутер превратился в полукирпич. Нашёл в вики как его восстановить, но там как-то по-дебильному всё описано. В результате нашёл несколько видео на етубе, третье оказалось приемлемым, ну и вернул родную прошивку, а потом накатил дд-врт последний в надежде на то, что он чуть менее дырявый (родная прошивка от 2015 года, а ддврт на ядре 3.18, которое в EOL ушёл всего лишь год назад).

Человечьим языком процедура такова:

— Роутер включаем с зажатой кнопкой резета, после чего он переходит в режим восстановления

— В этом режиме он хочет вытянуть файлик по TFTP c 192.168.0.66

 — Ставим на этот адрес тфтп-сервак, смотрим в логе, какое имя файла роутер пытается вытянуть

— Переименовываем родную прошивку в это имя и кладём на TFTP

— Профит!!!111

Collapse )