Приветствую всех!
Вел на сайте технические работы, сейчас работа сайта восстановлена. Причина была в нашумевшей уязвимости в последних версиях React и Next.js (CVE-2025-55182 / CVE-2025-66478), которая позволяла удалённо выполнять код на сервере через RSC/Server Functions.
Кстати, Cloudflare внедрили автоматическую фильтрацию подозрительных запросов, а некоторые хостеры начали самостоятельно сканировать проекты и временно ограничивать сервера, если уязвимость не закрыта.
Сети сейчас массово сканируются ботами, которые проверяют сайты на наличие этой уязвимости, поэтому если вы используете React/Next.js - обязательно обновитесь до исправленных версий, если ещё этого не сделали.
Вел на сайте технические работы, сейчас работа сайта восстановлена. Причина была в нашумевшей уязвимости в последних версиях React и Next.js (CVE-2025-55182 / CVE-2025-66478), которая позволяла удалённо выполнять код на сервере через RSC/Server Functions.
Кстати, Cloudflare внедрили автоматическую фильтрацию подозрительных запросов, а некоторые хостеры начали самостоятельно сканировать проекты и временно ограничивать сервера, если уязвимость не закрыта.
Сети сейчас массово сканируются ботами, которые проверяют сайты на наличие этой уязвимости, поэтому если вы используете React/Next.js - обязательно обновитесь до исправленных версий, если ещё этого не сделали.
2🔥12❤5👍4
Я зашёл на свой сервер сейчас и понял, что ситуация оказалась куда веселее, чем я думал
Пока я обновлял проект из-за той самой уязвимости, на машину уже успел прилететь бот, который активно сканирует интернет на наличие этой дыры. В итоге на сервере я обнаружил майнер, запущенный через удалённое выполнение кода прямо из окружения некста.
Процесс жил в RAM, работал из /dev, был запущен от root, жрал почти 300% CPU и породил несколько тысяч zombie-процессов. Следов автозапуска не было, а бинарь удалял себя сразу после старта, так что вредоносными оказались именно выполняемые процессы в памяти.
Пока я обновлял проект из-за той самой уязвимости, на машину уже успел прилететь бот, который активно сканирует интернет на наличие этой дыры. В итоге на сервере я обнаружил майнер, запущенный через удалённое выполнение кода прямо из окружения некста.
Процесс жил в RAM, работал из /dev, был запущен от root, жрал почти 300% CPU и породил несколько тысяч zombie-процессов. Следов автозапуска не было, а бинарь удалял себя сразу после старта, так что вредоносными оказались именно выполняемые процессы в памяти.
2😱23😨3❤🔥2🔥1🙈1
Наконец восстановил работу сайта. Переустановил сервер с нуля, перенёс бд, обновил секреты и полностью перевёл фронтенд на Next.js 16
1❤🔥18👍12🔥9❤1
Всем привет!
Восстановил работу сайта с документацией для своего SDK nestjs-yookassa. Кроме того, обновил саму документацию и добавил guard для проверки того, что вебхук действительно пришёл от юкассы при помощи IP-адресов. Достаточно просто повесить декоратор на эндпоинт с вебхуком - и всё, защита готова.
Также восстановил работу международных платежей на своём сайте, они были недоступны из-за смены платёжного провайдера. Сейчас я подключил новый платёжный шлюз с более расширенным списком стран из которых принимаются карты.
Что касается курса по микросервисам, работа идёт полным ходом. У меня уже готово 20 часов материала. Снимаю очень много, и не припомню, чтобы когда-то записывал так продуктивно. В среднем получается по 2–3 часа в день.
Восстановил работу сайта с документацией для своего SDK nestjs-yookassa. Кроме того, обновил саму документацию и добавил guard для проверки того, что вебхук действительно пришёл от юкассы при помощи IP-адресов. Достаточно просто повесить декоратор на эндпоинт с вебхуком - и всё, защита готова.
Также восстановил работу международных платежей на своём сайте, они были недоступны из-за смены платёжного провайдера. Сейчас я подключил новый платёжный шлюз с более расширенным списком стран из которых принимаются карты.
Что касается курса по микросервисам, работа идёт полным ходом. У меня уже готово 20 часов материала. Снимаю очень много, и не припомню, чтобы когда-то записывал так продуктивно. В среднем получается по 2–3 часа в день.
1🔥26👍8❤4
Приветствую! Хочу поделиться своими успехами по поводу предстоящего курса по микросервисам.
Пару дней назад я закончил самую сложную часть курса. Как раз в эти дни я активно снимаю более лёгкие главы, и с микросервисами сейчас работа идёт как по маслу. Параллельно я объединяю всё отснятое и вырезаю лишние моменты.
По моим подсчётам, на данный момент уже готово около 29 часов материала. Оставшиеся 10-11 часов это ещё несколько микросервисов и фронтенд.
На фронтенд я не планирую делать особый акцент. Сейчас даже подумываю частично его через копипастить (конечно не полностью). Например, после авторизации и личного кабинета я ещё думаю, как лучше поступить.
Кстати, напишите как бы вы хотели видеть фронтенд в этом курсе. Он здесь нужен в первую очередь для демонстрации красивого и законченного результата, а основной акцент будет сделан именно на микросервисной архитектуре.
Пару дней назад я закончил самую сложную часть курса. Как раз в эти дни я активно снимаю более лёгкие главы, и с микросервисами сейчас работа идёт как по маслу. Параллельно я объединяю всё отснятое и вырезаю лишние моменты.
По моим подсчётам, на данный момент уже готово около 29 часов материала. Оставшиеся 10-11 часов это ещё несколько микросервисов и фронтенд.
На фронтенд я не планирую делать особый акцент. Сейчас даже подумываю частично его через копипастить (конечно не полностью). Например, после авторизации и личного кабинета я ещё думаю, как лучше поступить.
Кстати, напишите как бы вы хотели видеть фронтенд в этом курсе. Он здесь нужен в первую очередь для демонстрации красивого и законченного результата, а основной акцент будет сделан именно на микросервисной архитектуре.
5🔥43👍3❤2❤🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥5
🚀 Микросервисы на практике - сервис продажи билетов!
Я наконец готов представить самый масштабный проект на канале - полноценный курс по микросервисной архитектуре, в котором мы с нуля создаём сервис продажи билетов за 35 часов.
В ходе курса мы будем работать с такими технологиями, как Nest.js, gRPC, Proto, RabbitMQ, PostgreSQL, Prisma, Redis, MongoDB, TypeORM, Drizzle ORM, Docker, GitHub Actions, Prometheus, Loki и Grafana.
Кроме того, я покажу, как создавать и публиковать собственные пакеты в NPM, мы напишем один из микросервисов на Golang - и это лишь малая часть того, что вас ждёт.
Прошу вас поставить лайк и написать комментарий. Это поможет продвинуть видео, а меня будет мотивировать выпускать такие масштабные проекты и курсы дальше.
📱 Посмотреть видео можно на ютубе: https://tcdr.cc/microservices-youtube
📱 Исходный код можно скачать на сайте: https://tcdr.cc/microservices-course
UPD: конкурс завершён, победитель найден. Спасибо всем, кто участвовал!
Я наконец готов представить самый масштабный проект на канале - полноценный курс по микросервисной архитектуре, в котором мы с нуля создаём сервис продажи билетов за 35 часов.
В ходе курса мы будем работать с такими технологиями, как Nest.js, gRPC, Proto, RabbitMQ, PostgreSQL, Prisma, Redis, MongoDB, TypeORM, Drizzle ORM, Docker, GitHub Actions, Prometheus, Loki и Grafana.
Кроме того, я покажу, как создавать и публиковать собственные пакеты в NPM, мы напишем один из микросервисов на Golang - и это лишь малая часть того, что вас ждёт.
Прошу вас поставить лайк и написать комментарий. Это поможет продвинуть видео, а меня будет мотивировать выпускать такие масштабные проекты и курсы дальше.
📱 Посмотреть видео можно на ютубе: https://tcdr.cc/microservices-youtube
📱 Исходный код можно скачать на сайте: https://tcdr.cc/microservices-course
UPD: конкурс завершён, победитель найден. Спасибо всем, кто участвовал!
607🔥78❤15😱7
Поздравляю всех с новым годом! 🎉
Хочу подвести итоги года по поводу моего канала и платформы. Курсов было не так много, но я постарался сделать каждый максимально полезным. Самыми масштабными проектами стали курс по Nest.js, который до сих пор набирает обороты, курс по интеграции нескольких платёжных систем и конечно же, курс по микросервисной архитектуре, который длиться целых 35 часов.🚀
За этот год я накопил уйму опыта разработки, как для заказчиков, так и для себя. Было много экспериментов, ошибок и побед, но каждый такой урок помогает двигаться дальше.
Что касается сайта, в апреле был крупный апдейт, а осенью я внедрил премиум-подписку, которая открывает доступ ко всему исходному коду. Благодаря этому сайт начал приносить первую прибыль.💵
В целом год оказался очень продуктивным. Я приобрёл много нового опыта и в новом году планирую выпускать больше видео для вас, как больших курсов, так и небольших лекций или практических гайдов.📸
Спасибо всем, кто поддерживает канал и платформу. Ваша поддержка мотивирует создавать новые проекты и делиться с вами полезными знаниями.🤝
Желаю всем в новом году новых достижений, интересных проектов и вдохновения для реализации своих идей!🥳 🍾
Хочу подвести итоги года по поводу моего канала и платформы. Курсов было не так много, но я постарался сделать каждый максимально полезным. Самыми масштабными проектами стали курс по Nest.js, который до сих пор набирает обороты, курс по интеграции нескольких платёжных систем и конечно же, курс по микросервисной архитектуре, который длиться целых 35 часов.
За этот год я накопил уйму опыта разработки, как для заказчиков, так и для себя. Было много экспериментов, ошибок и побед, но каждый такой урок помогает двигаться дальше.
Что касается сайта, в апреле был крупный апдейт, а осенью я внедрил премиум-подписку, которая открывает доступ ко всему исходному коду. Благодаря этому сайт начал приносить первую прибыль.
В целом год оказался очень продуктивным. Я приобрёл много нового опыта и в новом году планирую выпускать больше видео для вас, как больших курсов, так и небольших лекций или практических гайдов.
Спасибо всем, кто поддерживает канал и платформу. Ваша поддержка мотивирует создавать новые проекты и делиться с вами полезными знаниями.
Желаю всем в новом году новых достижений, интересных проектов и вдохновения для реализации своих идей!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤44🎉18🍾7👍5🔥5
Всем привет! Решил вам немного рассказать, что такое ТСПУ и как оно работает 🧐
ТСПУ (технические средства противодействия угрозам) - это специальное оборудование, которое ставят прямо на магистрали у провайдеров. По сути, это централизованный комплекс на базе DPI (Deep Packet Inspection). И это не просто блокировка по IP или DNS.
Оно смотрит глубже: не только куда идут данные, но и как они устроены, как клиент и сервер общаются, с какой частотой идут пакеты, какой размер и структура сообщений. Даже если всё зашифровано, остаются метаданные, по которым понятно, что это за соединение и что делает пользователь.
С ТСПУ можно блокировать сервисы тонко. Например как сейчас с ютубом, то есть интерфейс видно, но при этом видео не воспроизводится. С точки зрения пользователя это выглядит как лаги интернета, а не как явная блокировка. То есть соединение есть, но часть функций может работать криво.
Все эти правила применяются централизованно, а не у каждого провайдера отдельно. То есть если что-то поменяли на уровне ТСПУ, это сразу касается всех, без ручной настройки.
ТСПУ (технические средства противодействия угрозам) - это специальное оборудование, которое ставят прямо на магистрали у провайдеров. По сути, это централизованный комплекс на базе DPI (Deep Packet Inspection). И это не просто блокировка по IP или DNS.
Оно смотрит глубже: не только куда идут данные, но и как они устроены, как клиент и сервер общаются, с какой частотой идут пакеты, какой размер и структура сообщений. Даже если всё зашифровано, остаются метаданные, по которым понятно, что это за соединение и что делает пользователь.
С ТСПУ можно блокировать сервисы тонко. Например как сейчас с ютубом, то есть интерфейс видно, но при этом видео не воспроизводится. С точки зрения пользователя это выглядит как лаги интернета, а не как явная блокировка. То есть соединение есть, но часть функций может работать криво.
Все эти правила применяются централизованно, а не у каждого провайдера отдельно. То есть если что-то поменяли на уровне ТСПУ, это сразу касается всех, без ручной настройки.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27❤6😱3
Какой вы хотели бы следующий большой курс?
Anonymous Poll
20%
Полный курс по тестированию Nest.js приложений
29%
Курс по DDD (Domain-Driven Design)
40%
Курс по Next.js
10%
Курс по работе с несколькими ORM в контексте Nest.js (Prisma, Drizzle, Mongoose)
❤🔥4🔥2🥰1
Победитель в конкурсе определён!
Секретная фраза из курса по микросервисам была найдена, все призы я отправил
UPD: она находится на 33:41:56
Секретная фраза из курса по микросервисам была найдена, все призы я отправил
UPD: она находится на 33:41:56
❤14😁4👍3
Приветствую всех! Я решил завести профиль в Teletype, чтобы публиковать там различные статьи. Первую статью я написал про то, как развернуть свой собственный статус-сервис с Uptime Kuma.
Прочитать можно здесь: https://blog.teacoder.ru/uptime-kuma-guide
Прочитать можно здесь: https://blog.teacoder.ru/uptime-kuma-guide
Teletype
Как развернуть свой собственный статус-сервис с Uptime Kuma
В этой статье я покажу, как развернуть свой собственный сервис для мониторинга сайтов и приложений с помощью Uptime Kuma
1🔥33❤11👍2
Приветствую! Сейчас я готовлю проект для небольшого курса про очень интересную технологию. Речь идёт о поисковом движке Meilisearch.
Мне показалось интересным рассказать о том, как можно реализовать продвинутый поиск, который учитывает отпечатки слов, разные склонения и другие особенности языка. Еще хочу уделить внимание внедрению искусственного интеллекта в поиск.
Кроме этого, я занимаюсь документацией для своей библиотеки Patcode, которая нужна для генерации простых одноразовых кодов. Параллельно я планирую немного улучшить её функциональность.
Мне показалось интересным рассказать о том, как можно реализовать продвинутый поиск, который учитывает отпечатки слов, разные склонения и другие особенности языка. Еще хочу уделить внимание внедрению искусственного интеллекта в поиск.
Кроме этого, я занимаюсь документацией для своей библиотеки Patcode, которая нужна для генерации простых одноразовых кодов. Параллельно я планирую немного улучшить её функциональность.
2👍49🔥16❤8❤🔥3😱2
Всем привет! Подготовил для вас статью про хранение секретов и работу с ними через Infisical.
Прочитать можно здесь: https://blog.teacoder.ru/infisical-secrets-nodejs
Прочитать можно здесь: https://blog.teacoder.ru/infisical-secrets-nodejs
Teletype
Infisical: менеджер секретов
Сегодня я хочу рассказать вам про Infisical - удобный менеджер секретов.
🔥24❤11❤🔥3👍2🙏1
Привет всем!
Я решил разработать десктопное приложение на Electron. Это будет приложение для управления базами данных. Базово всё уже настроено, я накидал UI и сейчас работаю над функционалом подключения к базам. Пока тестирую на Postgres, но в первой версии планирую добавить ещё пару баз, а в будущем список будет расширяться.
Когда выйдет первая версия, я открою исходный код, а о всех крупных апдейтах буду сообщать здесь.
Кроме этого, почти готов сценарий для нового видео. Это будет теоретическая лекция про сети, веб и интернет.
Я решил разработать десктопное приложение на Electron. Это будет приложение для управления базами данных. Базово всё уже настроено, я накидал UI и сейчас работаю над функционалом подключения к базам. Пока тестирую на Postgres, но в первой версии планирую добавить ещё пару баз, а в будущем список будет расширяться.
Когда выйдет первая версия, я открою исходный код, а о всех крупных апдейтах буду сообщать здесь.
Кроме этого, почти готов сценарий для нового видео. Это будет теоретическая лекция про сети, веб и интернет.
🔥73❤12👍3
В React Server Components нашли новую уязвимость CVE‑2026‑23864, которая затрагивает Next.js 13-16 и пакеты react-server-dom-parcel, react-server-dom-webpack и react-server-dom-turbopack. Она позволяет вызывать падение сервера, Out‑Of‑Memory или сильную нагрузку на CPU при специально сформированных запросах, но удалённого выполнения кода нет.
Так что обновляйте зависимости до React 19.0.4 / 19.1.5 / 19.2.4 и патч-версий Next.js. Подробнее о уязвимости можно почитать здесь:
https://vercel.com/changelog/summary-of-cve-2026-23864
https://github.com/facebook/react/security/advisories/GHSA-83fc-fqcc-2hmg
Так что обновляйте зависимости до React 19.0.4 / 19.1.5 / 19.2.4 и патч-версий Next.js. Подробнее о уязвимости можно почитать здесь:
https://vercel.com/changelog/summary-of-cve-2026-23864
https://github.com/facebook/react/security/advisories/GHSA-83fc-fqcc-2hmg
😁13😱6🔥2❤1
Как изолировать мир от интернета
Сегодня я расскажу, как при минимальном нарушении магистральной инфраструктуры изолировать максимальное количество стран от глобального интернета.
Внутри континентов связность плотная и избыточная. Провайдеры, дата-центры и точки обмена трафиком образуют устойчивые региональные сети. Межконтинентальная связность устроена иначе: она сосредоточена в ограниченном числе географических коридоров. Именно они определяют, существует ли интернет как единое глобальное пространство.
Первое направление - Атлантическое. Оно связывает Северную и Южную Америку с Европой. Через него проходит значительная часть трансатлантического трафика. Его утрата изолирует Америку от Европы и косвенно от Африки и Азии.
Второе направление - Тихоокеанское. Оно соединяет Америку с Восточной Азией и Австралией. Это ключевой маршрут для взаимодействия США с Японией, Китаем, Кореей и странами Юго-Восточной Азии. Его отсутствие делает американский сегмент сети практически автономным.
Третье направление - евразийско‑африканский коридор. Оно проходит через Восточное Средиземноморье, Красное море и Суэцкий канал, и является самым плотным участком глобальной инфраструктуры по количеству стран, регионов и экономических систем. Через него связаны Европа, Ближний Восток, Африка и значительная часть Азии. Альтернативные маршруты существуют, но они значительно длиннее и обладают ограниченной пропускной способностью.
Если подвести итог, для возникновения глобального хаоса достаточно утраты именно евразийско‑африканского коридора. Он связывает больше всего стран одновременно и обеспечивает их прямое участие в мировой экономике. Его выпадение разрывает связность сразу между тремя континентами, превращая десятки стран в автономные сетевые сегменты без полноценного выхода во внешний мир.
Чуть про последствия: международные банковские транзакции, межгосударственные расчёты, платёжные шлюзы, трансграничные корпоративные сети и облачная синхронизация между регионами становятся невозможными. Локальная инфраструктура продолжает работать, но глобальные экономические процессы останавливаются.
Сегодня я расскажу, как при минимальном нарушении магистральной инфраструктуры изолировать максимальное количество стран от глобального интернета.
Внутри континентов связность плотная и избыточная. Провайдеры, дата-центры и точки обмена трафиком образуют устойчивые региональные сети. Межконтинентальная связность устроена иначе: она сосредоточена в ограниченном числе географических коридоров. Именно они определяют, существует ли интернет как единое глобальное пространство.
Первое направление - Атлантическое. Оно связывает Северную и Южную Америку с Европой. Через него проходит значительная часть трансатлантического трафика. Его утрата изолирует Америку от Европы и косвенно от Африки и Азии.
Второе направление - Тихоокеанское. Оно соединяет Америку с Восточной Азией и Австралией. Это ключевой маршрут для взаимодействия США с Японией, Китаем, Кореей и странами Юго-Восточной Азии. Его отсутствие делает американский сегмент сети практически автономным.
Третье направление - евразийско‑африканский коридор. Оно проходит через Восточное Средиземноморье, Красное море и Суэцкий канал, и является самым плотным участком глобальной инфраструктуры по количеству стран, регионов и экономических систем. Через него связаны Европа, Ближний Восток, Африка и значительная часть Азии. Альтернативные маршруты существуют, но они значительно длиннее и обладают ограниченной пропускной способностью.
Если подвести итог, для возникновения глобального хаоса достаточно утраты именно евразийско‑африканского коридора. Он связывает больше всего стран одновременно и обеспечивает их прямое участие в мировой экономике. Его выпадение разрывает связность сразу между тремя континентами, превращая десятки стран в автономные сетевые сегменты без полноценного выхода во внешний мир.
Чуть про последствия: международные банковские транзакции, межгосударственные расчёты, платёжные шлюзы, трансграничные корпоративные сети и облачная синхронизация между регионами становятся невозможными. Локальная инфраструктура продолжает работать, но глобальные экономические процессы останавливаются.
🤩9😱6🔥5❤2❤🔥1👍1