#nodejs — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #nodejs, aggregated by home.social.
-
I think I’m finally happy with the new API of the (hitherto undocumented and experimental) stateful components in Kitten.
I’ve been trying to get it as close to plain JS as possible without any framework magic. (There’s still a lot of framework magic but it’s behind the scenes, not at the syntax level.)
It’s taken longer than I thought it would (if I had a penny…) but I think this was worth it.
🤞 new release should be next week alongside TypeScript support, etc.
(The screenshot is a complete one-page Kitten web site, by the way. Albeit one that just displays “MyComponent” at its index. But that’s *all* the code. And that’s fully type-safe TypeScript. Without a build stage.)
-
I think I’m finally happy with the new API of the (hitherto undocumented and experimental) stateful components in Kitten.
I’ve been trying to get it as close to plain JS as possible without any framework magic. (There’s still a lot of framework magic but it’s behind the scenes, not at the syntax level.)
It’s taken longer than I thought it would (if I had a penny…) but I think this was worth it.
🤞 new release should be next week alongside TypeScript support, etc.
(The screenshot is a complete one-page Kitten web site, by the way. Albeit one that just displays “MyComponent” at its index. But that’s *all* the code. And that’s fully type-safe TypeScript. Without a build stage.)
-
I think I’m finally happy with the new API of the (hitherto undocumented and experimental) stateful components in Kitten.
I’ve been trying to get it as close to plain JS as possible without any framework magic. (There’s still a lot of framework magic but it’s behind the scenes, not at the syntax level.)
It’s taken longer than I thought it would (if I had a penny…) but I think this was worth it.
🤞 new release should be next week alongside TypeScript support, etc.
(The screenshot is a complete one-page Kitten web site, by the way. Albeit one that just displays “MyComponent” at its index. But that’s *all* the code. And that’s fully type-safe TypeScript. Without a build stage.)
-
I think I’m finally happy with the new API of the (hitherto undocumented and experimental) stateful components in Kitten.
I’ve been trying to get it as close to plain JS as possible without any framework magic. (There’s still a lot of framework magic but it’s behind the scenes, not at the syntax level.)
It’s taken longer than I thought it would (if I had a penny…) but I think this was worth it.
🤞 new release should be next week alongside TypeScript support, etc.
(The screenshot is a complete one-page Kitten web site, by the way. Albeit one that just displays “MyComponent” at its index. But that’s *all* the code. And that’s fully type-safe TypeScript. Without a build stage.)
-
I think I’m finally happy with the new API of the (hitherto undocumented and experimental) stateful components in Kitten.
I’ve been trying to get it as close to plain JS as possible without any framework magic. (There’s still a lot of framework magic but it’s behind the scenes, not at the syntax level.)
It’s taken longer than I thought it would (if I had a penny…) but I think this was worth it.
🤞 new release should be next week alongside TypeScript support, etc.
(The screenshot is a complete one-page Kitten web site, by the way. Albeit one that just displays “MyComponent” at its index. But that’s *all* the code. And that’s fully type-safe TypeScript. Without a build stage.)
-
Most JavaScript apps don't need a rewrite.
They need a maintenance cadence: framework upgrades, dependency cleanup, security patches. Fixed-cost monthly. 25%+ lift in feature delivery from managing debt.
-
Структурированное логирование и трейсинг в Node.js: @cleverbrush/log и @cleverbrush/otel
Статья о том, как получить наблюдаемость (observability) в приложении с минимальным кодом, а бонусом получить структурированные логи с типизированными шаблонами, автоматическую корреляцию со спанами OpenTelemetry, всё это с помощью набора библиотек, которые я называю CleverBrush Framework.
https://habr.com/ru/articles/1040714/
#структурированное_логирование #OpenTelemetry #Nodejs #TypeScript #трейсинг #observability #Cleverbrush #xpenser #схемная_валидация #финансовый_трекер
-
Структурированное логирование и трейсинг в Node.js: @cleverbrush/log и @cleverbrush/otel
Статья о том, как получить наблюдаемость (observability) в приложении с минимальным кодом, а бонусом получить структурированные логи с типизированными шаблонами, автоматическую корреляцию со спанами OpenTelemetry, всё это с помощью набора библиотек, которые я называю CleverBrush Framework.
https://habr.com/ru/articles/1040714/
#структурированное_логирование #OpenTelemetry #Nodejs #TypeScript #трейсинг #observability #Cleverbrush #xpenser #схемная_валидация #финансовый_трекер
-
Структурированное логирование и трейсинг в Node.js: @cleverbrush/log и @cleverbrush/otel
Статья о том, как получить наблюдаемость (observability) в приложении с минимальным кодом, а бонусом получить структурированные логи с типизированными шаблонами, автоматическую корреляцию со спанами OpenTelemetry, всё это с помощью набора библиотек, которые я называю CleverBrush Framework.
https://habr.com/ru/articles/1040714/
#структурированное_логирование #OpenTelemetry #Nodejs #TypeScript #трейсинг #observability #Cleverbrush #xpenser #схемная_валидация #финансовый_трекер
-
Структурированное логирование и трейсинг в Node.js: @cleverbrush/log и @cleverbrush/otel
Статья о том, как получить наблюдаемость (observability) в приложении с минимальным кодом, а бонусом получить структурированные логи с типизированными шаблонами, автоматическую корреляцию со спанами OpenTelemetry, всё это с помощью набора библиотек, которые я называю CleverBrush Framework.
https://habr.com/ru/articles/1040714/
#структурированное_логирование #OpenTelemetry #Nodejs #TypeScript #трейсинг #observability #Cleverbrush #xpenser #схемная_валидация #финансовый_трекер
-
I was banging my head against search engines and even AI, because I wanted to turn a very old #iPad running #IOS 12 into a #DigitalPhotoFrame.
Long story short: It is close to impossible. #Apple fans will tell you, you need to throw it away and buy something brandnew for $1200 or so. #Linux nerds will tell you, you need to built something yourself with a #RaspberryPi and a touch screen (something like… $300…500?). Windows nerds meanwhile are busy waiting for an update that will shove new useless AI features up their behind, so at least no BS from that side.
But not all hope is lost. If you have a Linux-based home server or NAS, it's actually… easy. There is this web server thing using #NodeJS, delivering a slide show that is tuned also to work with older #Safari versions on dead old iPads.
The old iPad Air display is actually quite good. So why throw it away?
Especially #monochrome photos look amazing on this display.
Here you go: https://github.com/carlosbaraza/old-ipad-photo-frame
-
I was banging my head against search engines and even AI, because I wanted to turn a very old #iPad running #IOS 12 into a #DigitalPhotoFrame.
Long story short: It is close to impossible. #Apple fans will tell you, you need to throw it away and buy something brandnew for $1200 or so. #Linux nerds will tell you, you need to built something yourself with a #RaspberryPi and a touch screen (something like… $300…500?). Windows nerds meanwhile are busy waiting for an update that will shove new useless AI features up their behind, so at least no BS from that side.
But not all hope is lost. If you have a Linux-based home server or NAS, it's actually… easy. There is this web server thing using #NodeJS, delivering a slide show that is tuned also to work with older #Safari versions on dead old iPads.
The old iPad Air display is actually quite good. So why throw it away?
Especially #monochrome photos look amazing on this display.
Here you go: https://github.com/carlosbaraza/old-ipad-photo-frame
-
I was banging my head against search engines and even AI, because I wanted to turn a very old #iPad running #IOS 12 into a #DigitalPhotoFrame.
Long story short: It is close to impossible. #Apple fans will tell you, you need to throw it away and buy something brandnew for $1200 or so. #Linux nerds will tell you, you need to built something yourself with a #RaspberryPi and a touch screen (something like… $300…500?). Windows nerds meanwhile are busy waiting for an update that will shove new useless AI features up their behind, so at least no BS from that side.
But not all hope is lost. If you have a Linux-based home server or NAS, it's actually… easy. There is this web server thing using #NodeJS, delivering a slide show that is tuned also to work with older #Safari versions on dead old iPads.
The old iPad Air display is actually quite good. So why throw it away?
Especially #monochrome photos look amazing on this display.
Here you go: https://github.com/carlosbaraza/old-ipad-photo-frame
-
I was banging my head against search engines and even AI, because I wanted to turn a very old #iPad running #IOS 12 into a #DigitalPhotoFrame.
Long story short: It is close to impossible. #Apple fans will tell you, you need to throw it away and buy something brandnew for $1200 or so. #Linux nerds will tell you, you need to built something yourself with a #RaspberryPi and a touch screen (something like… $300…500?). Windows nerds meanwhile are busy waiting for an update that will shove new useless AI features up their behind, so at least no BS from that side.
But not all hope is lost. If you have a Linux-based home server or NAS, it's actually… easy. There is this web server thing using #NodeJS, delivering a slide show that is tuned also to work with older #Safari versions on dead old iPads.
The old iPad Air display is actually quite good. So why throw it away?
Especially #monochrome photos look amazing on this display.
Here you go: https://github.com/carlosbaraza/old-ipad-photo-frame
-
I was banging my head against search engines and even AI, because I wanted to turn a very old #iPad running #IOS 12 into a #DigitalPhotoFrame.
Long story short: It is close to impossible. #Apple fans will tell you, you need to throw it away and buy something brandnew for $1200 or so. #Linux nerds will tell you, you need to built something yourself with a #RaspberryPi and a touch screen (something like… $300…500?). Windows nerds meanwhile are busy waiting for an update that will shove new useless AI features up their behind, so at least no BS from that side.
But not all hope is lost. If you have a Linux-based home server or NAS, it's actually… easy. There is this web server thing using #NodeJS, delivering a slide show that is tuned also to work with older #Safari versions on dead old iPads.
The old iPad Air display is actually quite good. So why throw it away?
Especially #monochrome photos look amazing on this display.
Here you go: https://github.com/carlosbaraza/old-ipad-photo-frame
-
InSales без пушей: как бесплатно перенести уведомления о заказах в Telegram на Yandex Cloud Serverless
Если ваша CMS или CRM умеет отправлять email‑копию о новом заказе на произвольный адрес — этот гайд для вас. InSales, RetailCRM, МойСклад, WooCommerce, Битрикс, самописная система — без разницы. Инфраструктура одна и та же. Ссылка на гитхаб с полным мануалом по установке на русском в конце статьи. Поводом написать стало то, что неделю назад приложение InSales было удалено из App Store и пуши о заказах пропали сразу. Таким образом мы пропустили несколько заказов, но благо они не сорвались полностью, хотя небольшой неприятный осадок остался. Первая мысль при поиске решения — n8n или Make. Но зарубежные no‑code платформы сейчас работают в России нестабильно из‑за замедлений и блокировок трафика. Строить критическую бизнес‑инфраструктуру на том, что может лечь в любой момент — плохая идея. Задача: автономная система, работающая внутри РФ, без постоянного сервера, с доставкой уведомлений в Telegram за секунды. Решение — Yandex Cloud Serverless, т.к он не боится блокировок, имеет очень щедрые лимиты, благодаря чему функция работает полностью бесплатно. К тому же сервис очень гибок в настройке и улучшении. Расскажу, что получилось, и дам полный гайд по настройке.
https://habr.com/ru/articles/1040472/
#InSales #Yandex_Cloud #Serverless #Telegram_bot #Nodejs #YDB #YMQ #автоматизация #уведомления #backend
-
InSales без пушей: как бесплатно перенести уведомления о заказах в Telegram на Yandex Cloud Serverless
Если ваша CMS или CRM умеет отправлять email‑копию о новом заказе на произвольный адрес — этот гайд для вас. InSales, RetailCRM, МойСклад, WooCommerce, Битрикс, самописная система — без разницы. Инфраструктура одна и та же. Ссылка на гитхаб с полным мануалом по установке на русском в конце статьи. Поводом написать стало то, что неделю назад приложение InSales было удалено из App Store и пуши о заказах пропали сразу. Таким образом мы пропустили несколько заказов, но благо они не сорвались полностью, хотя небольшой неприятный осадок остался. Первая мысль при поиске решения — n8n или Make. Но зарубежные no‑code платформы сейчас работают в России нестабильно из‑за замедлений и блокировок трафика. Строить критическую бизнес‑инфраструктуру на том, что может лечь в любой момент — плохая идея. Задача: автономная система, работающая внутри РФ, без постоянного сервера, с доставкой уведомлений в Telegram за секунды. Решение — Yandex Cloud Serverless, т.к он не боится блокировок, имеет очень щедрые лимиты, благодаря чему функция работает полностью бесплатно. К тому же сервис очень гибок в настройке и улучшении. Расскажу, что получилось, и дам полный гайд по настройке.
https://habr.com/ru/articles/1040472/
#InSales #Yandex_Cloud #Serverless #Telegram_bot #Nodejs #YDB #YMQ #автоматизация #уведомления #backend
-
InSales без пушей: как бесплатно перенести уведомления о заказах в Telegram на Yandex Cloud Serverless
Если ваша CMS или CRM умеет отправлять email‑копию о новом заказе на произвольный адрес — этот гайд для вас. InSales, RetailCRM, МойСклад, WooCommerce, Битрикс, самописная система — без разницы. Инфраструктура одна и та же. Ссылка на гитхаб с полным мануалом по установке на русском в конце статьи. Поводом написать стало то, что неделю назад приложение InSales было удалено из App Store и пуши о заказах пропали сразу. Таким образом мы пропустили несколько заказов, но благо они не сорвались полностью, хотя небольшой неприятный осадок остался. Первая мысль при поиске решения — n8n или Make. Но зарубежные no‑code платформы сейчас работают в России нестабильно из‑за замедлений и блокировок трафика. Строить критическую бизнес‑инфраструктуру на том, что может лечь в любой момент — плохая идея. Задача: автономная система, работающая внутри РФ, без постоянного сервера, с доставкой уведомлений в Telegram за секунды. Решение — Yandex Cloud Serverless, т.к он не боится блокировок, имеет очень щедрые лимиты, благодаря чему функция работает полностью бесплатно. К тому же сервис очень гибок в настройке и улучшении. Расскажу, что получилось, и дам полный гайд по настройке.
https://habr.com/ru/articles/1040472/
#InSales #Yandex_Cloud #Serverless #Telegram_bot #Nodejs #YDB #YMQ #автоматизация #уведомления #backend
-
InSales без пушей: как бесплатно перенести уведомления о заказах в Telegram на Yandex Cloud Serverless
Если ваша CMS или CRM умеет отправлять email‑копию о новом заказе на произвольный адрес — этот гайд для вас. InSales, RetailCRM, МойСклад, WooCommerce, Битрикс, самописная система — без разницы. Инфраструктура одна и та же. Ссылка на гитхаб с полным мануалом по установке на русском в конце статьи. Поводом написать стало то, что неделю назад приложение InSales было удалено из App Store и пуши о заказах пропали сразу. Таким образом мы пропустили несколько заказов, но благо они не сорвались полностью, хотя небольшой неприятный осадок остался. Первая мысль при поиске решения — n8n или Make. Но зарубежные no‑code платформы сейчас работают в России нестабильно из‑за замедлений и блокировок трафика. Строить критическую бизнес‑инфраструктуру на том, что может лечь в любой момент — плохая идея. Задача: автономная система, работающая внутри РФ, без постоянного сервера, с доставкой уведомлений в Telegram за секунды. Решение — Yandex Cloud Serverless, т.к он не боится блокировок, имеет очень щедрые лимиты, благодаря чему функция работает полностью бесплатно. К тому же сервис очень гибок в настройке и улучшении. Расскажу, что получилось, и дам полный гайд по настройке.
https://habr.com/ru/articles/1040472/
#InSales #Yandex_Cloud #Serverless #Telegram_bot #Nodejs #YDB #YMQ #автоматизация #уведомления #backend
-
🚀 How to Deploy #Directus on #Ubuntu #VPS
This guide details the steps required to deploy Directus on Ubuntu VPS server. Our guide walks through deploying Directus on a fresh Ubuntu VPS with PostgreSQL, PM2, and Nginx.
What is Directus?
Directus is an open-source headless CMS and data platform that sits on top of a SQL database (like PostgreSQL or MySQL) and ...
Continued 👉 https://blog.radwebhosting.com/deploy-directus-on-ubuntu-vps/?utm_source=mastodon&utm_medium=social&utm_campaign=mastodon.raddemo.host #headlesscms #contentmanagement #selfhosted #cmsapps #selfhosting #nodejs #opensource -
🚀 How to Deploy #Directus on #Ubuntu #VPS
This guide details the steps required to deploy Directus on Ubuntu VPS server. Our guide walks through deploying Directus on a fresh Ubuntu VPS with PostgreSQL, PM2, and Nginx.
What is Directus?
Directus is an open-source headless CMS and data platform that sits on top of a SQL database (like PostgreSQL or MySQL) and ...
Continued 👉 https://blog.radwebhosting.com/deploy-directus-on-ubuntu-vps/?utm_source=mastodon&utm_medium=social&utm_campaign=mastodon.raddemo.host #headlesscms #contentmanagement #selfhosted #cmsapps #selfhosting #nodejs #opensource -
🚀 How to Deploy #Directus on #Ubuntu #VPS
This guide details the steps required to deploy Directus on Ubuntu VPS server. Our guide walks through deploying Directus on a fresh Ubuntu VPS with PostgreSQL, PM2, and Nginx.
What is Directus?
Directus is an open-source headless CMS and data platform that sits on top of a SQL database (like PostgreSQL or MySQL) and ...
Continued 👉 https://blog.radwebhosting.com/deploy-directus-on-ubuntu-vps/?utm_source=mastodon&utm_medium=social&utm_campaign=mastodon.raddemo.host #headlesscms #contentmanagement #selfhosted #cmsapps #selfhosting #nodejs #opensource -
How to Install #Directus on #AlmaLinux #VPS
Here's a step-by-step guide detailing how to install Directus on AlmaLinux VPS.
What is Directus?
Directus is an open-source #headless #CMS and data platform that allows you to manage and interact with your database through a RESTful API or GraphQL API. It provides a modern, ...
Continued 👉 https://blog.radwebhosting.com/install-directus-on-almalinux-vps/?utm_source=mastodon&utm_medium=social&utm_campaign=mastodon.social #letsencrypt #opensource #installguide #postgresql #nodejs #selfhosted #npm #cmsapps #selfhosting #vpsguide #contentmanagement -
How to Install #Directus on #AlmaLinux #VPS
Here's a step-by-step guide detailing how to install Directus on AlmaLinux VPS.
What is Directus?
Directus is an open-source #headless #CMS and data platform that allows you to manage and interact with your database through a RESTful API or GraphQL API. It provides a modern, ...
Continued 👉 https://blog.radwebhosting.com/install-directus-on-almalinux-vps/?utm_source=mastodon&utm_medium=social&utm_campaign=mastodon.social #letsencrypt #opensource #installguide #postgresql #nodejs #selfhosted #npm #cmsapps #selfhosting #vpsguide #contentmanagement -
How to Install #Directus on #AlmaLinux #VPS
Here's a step-by-step guide detailing how to install Directus on AlmaLinux VPS.
What is Directus?
Directus is an open-source #headless #CMS and data platform that allows you to manage and interact with your database through a RESTful API or GraphQL API. It provides a modern, ...
Continued 👉 https://blog.radwebhosting.com/install-directus-on-almalinux-vps/?utm_source=mastodon&utm_medium=social&utm_campaign=mastodon.social #letsencrypt #opensource #installguide #postgresql #nodejs #selfhosted #npm #cmsapps #selfhosting #vpsguide #contentmanagement -
Node.js 25 bringt laut heise Online mögliche Sicherheitslücken mit, besonders in der JavaScript‑Sandbox vm2.
🔑 Was ist drin?
- Angriffe auf vm2 möglich
- Zeigt Schwächen der aktuellen Node‑Sicherheit
- Appell an Entwickler:innen zur Überprüfung & Meldung von BugsLasst uns die Sicherheit decentralisiert wachen!
#NodeJS #Sicherheit #JavaScript #Fediverse #OpenSource -
Как я 8 дней ловил утечку памяти в Nuxt 3 SSR, и несколько раз думал, что починил
Всем привет. Я занимаюсь фронтендом в небольшой команде сервиса бронирования отелей. Хочу как я 8 дней ловил утечку памяти на проде, несколько раз думал, что починил, и каждый раз ошибался. А последний фикс был не в нашем коде, а в патче самого Vue, который через неделю апстрим откатил как регрессионный. У нас в результате осталась одна патч-версия, в которой утечки нет; обычный minor/patch update сейчас для нас не безопасен без повторной проверки heap-снапшотами. Наш стек Nuxt 3.18 + Vue 3.5.x + TypeScript, SSR, Pinia, PM2 cluster, nginx перед Node. Обычный каталог отелей с тысячами SEO-страниц вида /oteli-v-{город}/{подборка}
https://habr.com/ru/articles/1040346/
#memory_leak #утечка_памяти #Vuejs #Nuxtjs #Nodejs #JavaScript #SSR #V8
-
Как я 8 дней ловил утечку памяти в Nuxt 3 SSR, и несколько раз думал, что починил
Всем привет. Я занимаюсь фронтендом в небольшой команде сервиса бронирования отелей. Хочу как я 8 дней ловил утечку памяти на проде, несколько раз думал, что починил, и каждый раз ошибался. А последний фикс был не в нашем коде, а в патче самого Vue, который через неделю апстрим откатил как регрессионный. У нас в результате осталась одна патч-версия, в которой утечки нет; обычный minor/patch update сейчас для нас не безопасен без повторной проверки heap-снапшотами. Наш стек Nuxt 3.18 + Vue 3.5.x + TypeScript, SSR, Pinia, PM2 cluster, nginx перед Node. Обычный каталог отелей с тысячами SEO-страниц вида /oteli-v-{город}/{подборка}
https://habr.com/ru/articles/1040346/
#memory_leak #утечка_памяти #Vuejs #Nuxtjs #Nodejs #JavaScript #SSR #V8
-
Как я 8 дней ловил утечку памяти в Nuxt 3 SSR, и несколько раз думал, что починил
Всем привет. Я занимаюсь фронтендом в небольшой команде сервиса бронирования отелей. Хочу как я 8 дней ловил утечку памяти на проде, несколько раз думал, что починил, и каждый раз ошибался. А последний фикс был не в нашем коде, а в патче самого Vue, который через неделю апстрим откатил как регрессионный. У нас в результате осталась одна патч-версия, в которой утечки нет; обычный minor/patch update сейчас для нас не безопасен без повторной проверки heap-снапшотами. Наш стек Nuxt 3.18 + Vue 3.5.x + TypeScript, SSR, Pinia, PM2 cluster, nginx перед Node. Обычный каталог отелей с тысячами SEO-страниц вида /oteli-v-{город}/{подборка}
https://habr.com/ru/articles/1040346/
#memory_leak #утечка_памяти #Vuejs #Nuxtjs #Nodejs #JavaScript #SSR #V8
-
Как я 8 дней ловил утечку памяти в Nuxt 3 SSR, и несколько раз думал, что починил
Всем привет. Я занимаюсь фронтендом в небольшой команде сервиса бронирования отелей. Хочу как я 8 дней ловил утечку памяти на проде, несколько раз думал, что починил, и каждый раз ошибался. А последний фикс был не в нашем коде, а в патче самого Vue, который через неделю апстрим откатил как регрессионный. У нас в результате осталась одна патч-версия, в которой утечки нет; обычный minor/patch update сейчас для нас не безопасен без повторной проверки heap-снапшотами. Наш стек Nuxt 3.18 + Vue 3.5.x + TypeScript, SSR, Pinia, PM2 cluster, nginx перед Node. Обычный каталог отелей с тысячами SEO-страниц вида /oteli-v-{город}/{подборка}
https://habr.com/ru/articles/1040346/
#memory_leak #утечка_памяти #Vuejs #Nuxtjs #Nodejs #JavaScript #SSR #V8
-
Wasmer stellt **Edge.js** vor – ein Framework, das Node.js‑Apps in eine WebAssembly‑Sandbox verschiebt.
- JavaScript‑Code läuft jetzt direkt an der Edge mit WASM‑Performance und Container‑ähnlicher Isolation.
- Bestehende Node‑Module bleiben nutzbar, während Start‑Times und Ressourcennutzung sich stark verbessern.
- Ideal für dezentrale, sichere Edge‑Computing‑Projekte.#WebAssembly #EdgeComputing #NodeJS #OpenSource #Dezentralität
-
🚨 Neuer Angriff auf das NPM‑Ökosystem!
Am 23. Jan. 2024 wurden kritische JavaScript‑Pakete mit der Malware **“Shuffled NPM”** kompromittiert.**Wichtig:**
- Prüft eure Abhängigkeiten ▶ Verwendet Hash‑Checks & automatisierte Scans.
- Folgt den Sicherheitswarnungen von npm‑security.
- Nutzt Lock‑Files & Monorepos, um ungewollte Updates zu verhindern. -
Как вредоносный код переписал мой Git-коммит и заразил десятки проектов и несколько рабочих машин
История о том, как один странный git push оказался началом расследования, которое вывело меня не на один взломанный аккаунт, а на цепочку зараженных репозиториев и проектов. Снаружи все выглядело почти нормально: знакомый автор, знакомый коммит, привычные файлы. Но внутри последнего коммита уже жил чужой обфусцированный JavaScript. Он прятался в конфиге, менял Git-историю и маскировался под обычную работу разработчика. Первой версией был взлом моего GitHub, но смена ключей и паролей ничего не решила. Потом след вывел на другого разработчика, потом еще на несколько проектов, и картина стала намного неприятнее. Это оказалась PolinRider-like supply chain атака, которая использует сам developer workflow как транспорт. В статье я разбираю, какие мелкие странности помогли заметить проблему и почему им нельзя махать рукой. Показываю реальные скриншоты, подозрительные изменения в .gitignore и payload внутри babel.config.js. В конце оставил скрипты, которые могут помочь быстро проверить свои проекты и логи на PolinRider похожие признаки.
https://habr.com/ru/articles/1040200/
#обфусцированный_код #вредоносное_по #вредоносный_код #yarn #npm #nodejs #polinrider
-
Как вредоносный код переписал мой Git-коммит и заразил десятки проектов и несколько рабочих машин
История о том, как один странный git push оказался началом расследования, которое вывело меня не на один взломанный аккаунт, а на цепочку зараженных репозиториев и проектов. Снаружи все выглядело почти нормально: знакомый автор, знакомый коммит, привычные файлы. Но внутри последнего коммита уже жил чужой обфусцированный JavaScript. Он прятался в конфиге, менял Git-историю и маскировался под обычную работу разработчика. Первой версией был взлом моего GitHub, но смена ключей и паролей ничего не решила. Потом след вывел на другого разработчика, потом еще на несколько проектов, и картина стала намного неприятнее. Это оказалась PolinRider-like supply chain атака, которая использует сам developer workflow как транспорт. В статье я разбираю, какие мелкие странности помогли заметить проблему и почему им нельзя махать рукой. Показываю реальные скриншоты, подозрительные изменения в .gitignore и payload внутри babel.config.js. В конце оставил скрипты, которые могут помочь быстро проверить свои проекты и логи на PolinRider похожие признаки.
https://habr.com/ru/articles/1040200/
#обфусцированный_код #вредоносное_по #вредоносный_код #yarn #npm #nodejs #polinrider
-
Как вредоносный код переписал мой Git-коммит и заразил десятки проектов и несколько рабочих машин
История о том, как один странный git push оказался началом расследования, которое вывело меня не на один взломанный аккаунт, а на цепочку зараженных репозиториев и проектов. Снаружи все выглядело почти нормально: знакомый автор, знакомый коммит, привычные файлы. Но внутри последнего коммита уже жил чужой обфусцированный JavaScript. Он прятался в конфиге, менял Git-историю и маскировался под обычную работу разработчика. Первой версией был взлом моего GitHub, но смена ключей и паролей ничего не решила. Потом след вывел на другого разработчика, потом еще на несколько проектов, и картина стала намного неприятнее. Это оказалась PolinRider-like supply chain атака, которая использует сам developer workflow как транспорт. В статье я разбираю, какие мелкие странности помогли заметить проблему и почему им нельзя махать рукой. Показываю реальные скриншоты, подозрительные изменения в .gitignore и payload внутри babel.config.js. В конце оставил скрипты, которые могут помочь быстро проверить свои проекты и логи на PolinRider похожие признаки.
https://habr.com/ru/articles/1040200/
#обфусцированный_код #вредоносное_по #вредоносный_код #yarn #npm #nodejs #polinrider
-
Как вредоносный код переписал мой Git-коммит и заразил десятки проектов и несколько рабочих машин
История о том, как один странный git push оказался началом расследования, которое вывело меня не на один взломанный аккаунт, а на цепочку зараженных репозиториев и проектов. Снаружи все выглядело почти нормально: знакомый автор, знакомый коммит, привычные файлы. Но внутри последнего коммита уже жил чужой обфусцированный JavaScript. Он прятался в конфиге, менял Git-историю и маскировался под обычную работу разработчика. Первой версией был взлом моего GitHub, но смена ключей и паролей ничего не решила. Потом след вывел на другого разработчика, потом еще на несколько проектов, и картина стала намного неприятнее. Это оказалась PolinRider-like supply chain атака, которая использует сам developer workflow как транспорт. В статье я разбираю, какие мелкие странности помогли заметить проблему и почему им нельзя махать рукой. Показываю реальные скриншоты, подозрительные изменения в .gitignore и payload внутри babel.config.js. В конце оставил скрипты, которые могут помочь быстро проверить свои проекты и логи на PolinRider похожие признаки.
https://habr.com/ru/articles/1040200/
#обфусцированный_код #вредоносное_по #вредоносный_код #yarn #npm #nodejs #polinrider
-
🚀 Deploy #Claude Code on #Ubuntu #VPS This article demonstrates how to deploy Claude Code on Ubuntu VPS. What is Claude Code? Claude Code refers to using Claude (Anthropic’s AI model ... Continued 👉 #nodejs #letsencrypt #claudecode #selfhosting #selfhosted #anthropic #reverseproxy
🚀 Deploy Claude Code on Ubuntu... -
🚀 Deploy #Claude Code on #Ubuntu #VPS This article demonstrates how to deploy Claude Code on Ubuntu VPS. What is Claude Code? Claude Code refers to using Claude (Anthropic’s AI model ... Continued 👉 #nodejs #letsencrypt #claudecode #selfhosting #selfhosted #anthropic #reverseproxy
🚀 Deploy Claude Code on Ubuntu... -
Starting Applications Automatically After Reboot Using PM2
https://voragine.net/link/starting-applications-automatically-after-reboot-using-pm2
-
How to Install #PeerTube on #Ubuntu VPS This article provides an in-depth guide demonstrating how to install PeerTube on Ubuntu VPS. What is PeerTube? ... Continued 👉 #videostreaming #vpsguide #letsencrypt #selfhosted #nodejs #selfhosting #decentralized #opensource #installguide #fediverse
How to Install PeerTube on Ubu... -
How to Install #PeerTube on #Ubuntu VPS This article provides an in-depth guide demonstrating how to install PeerTube on Ubuntu VPS. What is PeerTube? ... Continued 👉 #videostreaming #vpsguide #letsencrypt #selfhosted #nodejs #selfhosting #decentralized #opensource #installguide #fediverse
How to Install PeerTube on Ubu... -
I just want to say FUCK YOU NPMJS.COM for making me having to create a new access token every 90 days maximum, and for offering a shitty 2FA without TOTP option
#npm #developer #webdeveloper #node #npmpackage #javascript #nodejs #node #OpenSource #FreeSoftware #js #typescrypt #web #programmer #npmjs
-
I just want to say FUCK YOU NPMJS.COM for making me having to create a new access token every 90 days maximum, and for offering a shitty 2FA without TOTP option
#npm #developer #webdeveloper #node #npmpackage #javascript #nodejs #node #OpenSource #FreeSoftware #js #typescrypt #web #programmer #npmjs
-
I just want to say FUCK YOU NPMJS.COM for making me having to create a new access token every 90 days maximum, and for offering a shitty 2FA without TOTP option
#npm #developer #webdeveloper #node #npmpackage #javascript #nodejs #node #OpenSource #FreeSoftware #js #typescrypt #web #programmer #npmjs
-
I just want to say FUCK YOU NPMJS.COM for making me having to create a new access token every 90 days maximum, and for offering a shitty 2FA without TOTP option
#npm #developer #webdeveloper #node #npmpackage #javascript #nodejs #node #OpenSource #FreeSoftware #js #typescrypt #web #programmer #npmjs
-
I just want to say FUCK YOU NPMJS.COM for making me having to create a new access token every 90 days maximum, and for offering a shitty 2FA without TOTP option
#npm #developer #webdeveloper #node #npmpackage #javascript #nodejs #node #OpenSource #FreeSoftware #js #typescrypt #web #programmer #npmjs
-
Once more unto HR desks, dear friends, once more. Or cease the pursuit with our jobless dead.
Again I launch a plea into the Digital Void for employment as a
Software Developer. Tilting against those who know not what they seek, yet clinging tightly to the precious offers of employment, as Cerberus before the Gates of Jobs.How shall I scale those bastions of employ against the machinations of AI minions. Well versed I be in the Arts of #C, #Erlang, #NodeJS, among other arcana and lore.
(any puns intended)
-
Once more unto HR desks, dear friends, once more. Or cease the pursuit with our jobless dead.
Again I launch a plea into the Digital Void for employment as a
Software Developer. Tilting against those who know not what they seek, yet clinging tightly to the precious offers of employment, as Cerberus before the Gates of Jobs.How shall I scale those bastions of employ against the machinations of AI minions. Well versed I be in the Arts of #C, #Erlang, #NodeJS, among other arcana and lore.
(any puns intended)
-
Once more unto HR desks, dear friends, once more. Or cease the pursuit with our jobless dead.
Again I launch a plea into the Digital Void for employment as a
Software Developer. Tilting against those who know not what they seek, yet clinging tightly to the precious offers of employment, as Cerberus before the Gates of Jobs.How shall I scale those bastions of employ against the machinations of AI minions. Well versed I be in the Arts of #C, #Erlang, #NodeJS, among other arcana and lore.
(any puns intended)
-
Once more unto HR desks, dear friends, once more. Or cease the pursuit with our jobless dead.
Again I launch a plea into the Digital Void for employment as a
Software Developer. Tilting against those who know not what they seek, yet clinging tightly to the precious offers of employment, as Cerberus before the Gates of Jobs.How shall I scale those bastions of employ against the machinations of AI minions. Well versed I be in the Arts of #C, #Erlang, #NodeJS, among other arcana and lore.
(any puns intended)