Как стать автором
Обновить

Администрирование

Сначала показывать
Порог рейтинга

В первых числах июня я заметил новинку в интерфейсе Хабра, судя по всему незамеченную большинством пользователей. Этот пост создан для того, чтобы познакомить с изменениями в дизайне Хабра.

Ошибка 451 (Unavailable For Legal Reasons)
Ошибка 451 (Unavailable For Legal Reasons)

В соответствии с частью 7 статьи 15.1 Федерального закона от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и защите информации» уведомляем, что на основании решения Федеральной службы по надзору в сфере связи, информационных технологий и массовых коммуникаций от 10.03.2025 № 2024-12-26-9056-СОБ указатель (указатели) страницы (страниц) сайта в сети "Интернет" https://habr.com/ru/articles/870110/ включен(ы) в «Единый реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено», номер реестровой записи 3014324-РИ в связи с тем, что данный указатель (указатели) страницы (страниц) сайта в сети "Интернет" содержит запрещенную информацию о способах, методах обеспечения доступа к информационным ресурсам и (или) информационно-телекоммуникационным сетям, доступ к которым ограничен на территории Российской Федерации.

Сходу я нашел такие страницы, возможно вы найдете еще:

  1. https://habr.com/ru/articles/911640/

  2. https://habr.com/ru/articles/843928/

  3. https://habr.com/ru/articles/870110/

  4. https://habr.com/ru/articles/866572/

  5. to be continue...

Теги:
+3
Комментарии10

Обучение модели GPT-2: часы вместо недель

Для тестирования GPU-сервера YADRO G4208P G3 в конфигурации с восемью Н100 NVL / RTX 4090 мы выбрали бенчмарк на основе реализации обучения для модели GPT-2 на 1,558 миллиарда параметров из репозитория проекта llm.c Андрея Карпаты. 

Эта модель была представлена OpenAI в блоге Better Language Models and Their Implications в феврале 2019 года. Тогда для ее обучения требовались команда инженеров и десятки топовых V100, а процесс длился неделями.

Сейчас, шесть лет спустя, достаточно одного сервера с восемью картами H100, а обучение занимает 1–1,6 суток. Все это благодаря развитию GPU, современным библиотекам, таким как CUDA и cuDNN, а также открытым датасетам типа FineWeb-Edu. 

Андрей Карпаты показывает, что это возможно даже без фреймворков вроде PyTorch или TensorFlow. Все обучение реализовано примерно в 5 тысячах строк на C и CUDA. 

Мы проверили, как справляются серверы YADRO c обучением GPT-2 на 1,6 миллиарда параметров. Обучение на конфигурации G4208P с восемью H100 NVL заняло 38 часов, или примерно 1.6 суток. На графике ниже показываем соотношение времени исполнения 50 шагов обучения на конфигурации G4208P с RTX 4090 по сравнению с конфигурацией на Н100 NVL: 

Артём Маклаев с командой, которая занимается оценкой производительности серверных платформ для ИИ-задач в YADRO, поделился в статье результатами десятка тестов GPU-сервера с 8x Н100 NVL / RTX 4090: от инференса моделей распознавания речи до обучения LLM.

Теги:
+1
Комментарии0

Представлен сервис с подробной картой упражнений для любой группы мышц. Решение оформлено как карта тела — максимально наглядно и просто. Просто выбираете группу мышц и получаете полный комплекс упражнений. К каждому упражнению идёт видео с правильной техникой.

Теги:
0
Комментарии0

Начинаю собирать домашнюю "лабу". И моя небольшая история

Я расту, и с ростом меня растут мои аппетиты. Занимаюсь программированием я класса с.. 8? Где-то так, но у меня не было возможности устроить себе рабочее место. Моим рабочим местом долгое время был небольшой ноутбук на селероне с 4 гб оперативной памяти. На нём я и простенькие сайты умудрялся делать, и в SA:MP играл (кто-то помнит?), и делал даже сервер для CR:MP.

Появился в сознательном возрасте компьютер у меня позже, но он тоже был не мощный. Не очень новый процессор, видеокарта только встроенная в процессор, один монитор. Но я пытался выжимать максимум, на нём я начал изучать Питон, тыкал Шарпы. Сейчас я окончательно закрепил себя у себя в сознании как Python Backend Web-developer.

Дальше, уже в другой квартире даже, появилась возможность собрать компьютер получше. Ryzen 7 3700X, 32 Гб ОЗУ (которые появились даже позже, изначально сидел на 12), RTX 3060.

Когда я уже начал получать свои первые деньги, я купил себе второй монитор, потому что понял, с одним мне работать тяжело. И правда: бывает нужен и браузер, и IDE, а я скакал то одно открывал, сворачивал, другое открывал, иногда делил свой 24-дюймовый экран пополам, и это было жутко некомфортно.

Примерно в то же время, даже немного раньше, чем второй монитор, я взял себе у знакомого старый Synology NAS, за недорого относительно цен на них на новые.

Моя гордость, первый в жизни NAS - Synology DS212j
Моя гордость, первый в жизни NAS - Synology DS212j

Купил в него диск на 4 Тб, так чтоб надолго. Пользуюсь =)

Это только начало ведь. Я расту, аппетиты растут.

По работе набирался опыта работы с железками. Видел коммутаторы, впервые смотрел как вживую настраивается Микротик (одно дело в PNET тыкнуть на роутер и вот тебе консоль, другое - настраивать реальное устройство). Что самое интересное - я узнал про Proxmox.

Не то что бы я раньше не знал про виртуализацию. Виртуалки конечно запускал, и линукс на них, но только изнутри Винды в VirtualBox или VMWare. А тут - проксмокс!

Буквально на днях решил протестировать, что же это такое. Помните ноутбук на селероне с 4 Гб оперативки, про который шла речь выше? Так вот, я взял его, старичка, накатил проксмокс по гайду с Хабра, даже виртуалочку одну на убунту всё таки создал. Более того, даже приложение по работе, которое я разрабатываю, развернул. Правда, больше ничего я не разверну - оно уже всё вместе кушает 3.28Гб ОЗУ из 4х. Но я хочу больше...

То, что будет скоро, буквально до 30 июня максимум: мой первый МиниПК. Характеристики такие: N100, 16 Gb RAM, 1Tb SSD. Беру его как раз для виртуалок. Тестовое окружение для того, чтобы деплоить и тестировать свои приложения а-ля как будто на реальном сервере, плюс отдельные виртуалки под разные сервисы, какие - посмотрим. Возможно, первым сервисом, который я поставлю, будет Plex (или его аналог). И сразу же поставлю Gitea, которая сейчас работает с моего компьютера.

И то, что будет раньше 30 июня, совсем скоро - локальная сеть быстрее 100 мбит. Я пока что взял один коммутатор с 5 портами по 2.5 гбит, надо будет подумать, между кем делить трафик на коммутаторе. Может, буду с МиниПК как раз раздавать фильмы/сериалы, и поведу быструю локалку на телевизоры - к одному на кухне, к другому в зале. Тут есть проблема - я не знаю как это сделать красиво. Сейчас телики работают по вайфаю. Как вести провод - придумаем.

P.S. Если бы тут можно было вставить больше одной фотографии - я бы вставил, но увы.

Теги:
+2
Комментарии13

Быстрая замена mypy на Rust'е: pyrefly

Еще одно видео про еще один новый тайпчекер для питона на расте! Много их нынче стало.

В видео:

  • Обсуждаем первую версию: pyre-check, обсудили taint analysis

  • Сравниваем pyrefly с ty и mypy

  • Смотрим на внутреннее устройство

  • Применяем на реальном проекте

Ключевые ссылки из выпуска:

Вывод: пока очень сырой, много багов, но быстрый. Ключевой вывод: отлично, что есть конкуренция.

Теги:
+8
Комментарии1

GPU vs CPU: как устроены процессоры

Собрали подробный гайд для новичков о процессорах CPU и GPU: что под капотом, чем отличаются и для каких задач подходят. Каждый эффективен при выполнении предназначенных для них задач, однако специфика существенно отличается.

CPU (Central Processing Unit) — это центральный процессор, отвечающий за все функциональные задачи: управление операционной системой, операции с данными, регулирование доступами к ресурсам, общие вычисления и многие другие. CPU выполняет действия по строгому алгоритму и состоит из трех последовательных действий: получение команды от оперативной памяти (ОЗУ), перевод команды в машинный код, выполнение команды.

GPU (Graphics Processing Unit) — это графический процессор, который предназначен для выполнения ресурсоемких операций и задач без задействования центрального процессора. Существует два основных типа: интегрированный и дискретный. Обычно когда для текущих задач мощности обычного процессора не хватает, в дело вступает GPU, инструмент отлично справляется с обработкой Big Data, рендерингом и обучением AI-моделей. 

Подробнее об архитектуре процессов и для чего CPU и GPU используются на практике читайте в базе знаний Облака Рег.ру.

Теги:
+1
Комментарии0

Как компания «Литрес» построила облачное аналитическое хранилище на базе КХД Cloud.ru и сократила время обработки и анализа данных 📚

Что за компания

Компания «Литрес», основанная в 2005 году, сегодня является лидером на рынке лицензионных электронных и аудиокниг в России и странах СНГ. Ежемесячная аудитория сервиса Литрес составляет 11 млн человек, которые скачивают более 2,7 млн книг в месяц. 

Какая была задача

«Литрес» подошла к этапу, когда мощностей для быстрого расчета витрин для аналитики и отчетности перестало хватать, поскольку был накоплен значительный объем данных — около 6 ТБ. Компания решила разработать собственное хранилище — создать надежную и масштабируемую платформу для хранения и обработки больших объемов данных, что позволило бы оптимизировать бизнес-процессы и повысить эффективность работы.

Как ее решили

Изначально у нас было два варианта, как можно сделать большую аналитическую базу. Первый и самый очевидный — запустить Greenplum. Но для этого нужно было выделять серверы, оптимизировать решение, нанимать администраторов — это сложно и долго. В качестве второго варианта можно было закупить готовое решение у подрядчика, однако выяснилось, что поддержка такого решения при приемлемом уровне производительности стоит космических денег. В итоге в Cloud.ru нам предложили альтернативу — КХД — облачное корпоративное хранилище, которое дает возможность быстро обрабатывать огромные массивы данных из разных систем хранения и источников. Решение нас заинтересовало.

Кирилл Шевченко

Руководитель отдела разработки информационно-аналитических систем группы компаний «Литрес»

Чтобы понять, какое решение выгоднее и эффективнее, «Литрес» провели исследование и сравнили работу КХД, ClickHouse в облаке и локального ClickHouse компании. Результат — КХД лучше всего справился с поставленными задачами (например, обработка больших запросов на таблицах с JOIN заняла всего 20 минут).

Что в результате

Команда «Литрес» создала собственное хранилище на базе КХД Cloud.ru и в результате сократила время на обработку и анализ данных:

  • обновление всего хранилища занимает 40 минут вместо 3 часов

  • среднее время выполнения процедур — 2 минуты вместо часа,

  • на обработку простого запроса при обновлении витрин хватает 5 секунд.

  • раньше на создание одной витрины требовалось несколько дней, а теперь можно создать 3 витрины в день.

Читать кейс полностью 💼

Теги:
0
Комментарии0

ByteDance выпустили нейросеть Dolphin, которая перегоняет pdf в классический формат документов, не превращая их в кучу непонятных символов:

  • выходе получаете тот же документ, но в другом формате.

  • cохраняются все подписи, изображения, графики и таблицы в оригинале.

  • работает за секунды, потому что парсит несколько фрагментов текста и визуала параллельно.

  • весить очень мало и не требует жесткой производительности.

Код на GitHub лежит — тут. Онлайн-демка — здесь.

Теги:
0
Комментарии2

OpenRedirect в IBM Instana (NotCVE-2025-0002)

Instana - платформа для мониторинга приложений и инфраструктуры. Эту особенность я нашёл пару месяцев назад совершенно случайно. Забавно, что год назад на собеседовании я не смог ответить на вопрос: что такое OpenRedirect (описан в CWE-601) - растерялся. А сейчас вот сам нашёл. Проблема довольно тривиальна: с помощью специально сформированной ссылки можно заставить браузер жертвы выполнить произвольный GET-запрос. Жертва должна быть авторизована в Instana. Пример ссылки:

https://instana.com/auth/signIn?returlUrl=https%3A%2F%2Fsite.com%2Fchangepassword%3Fuser%3Dadmin%26newpassword%3Dtest

На рисунке ниже виден результат перехода по подобной ссылке: сервер отвечает кодом 302 и через location перенаправляет пользователя на нужный ресурс.

Изначально я пытался зарегистрировать CVE. Продукт Instana принадлежит IBM. А IBM является CNA партнёром MITRE (подробнее про CNA). Т.е. для регистрации CVE нужно обращаться не к MITRE, а к IBM напрямую. Что я и сделал. Ответ от IBM был таков:

We need to see more impact beyond phishing. If you are able to chain this issue with further exploitation (ex: token theft, xss bypass, SSRF, etc…) then please let us know. You will see that other vulnerability programs (example: google) take a similar stance on open redirects.

We recommend taking a look at the following external resources for further information on open redirect issues we would be interested in addressing:

We thank you for your efforts in helping keep IBM products secure. Please reference any further communication related to this issue via your original HackeOne ticket so we can better track this finding.

Нежелание признавать уязвимость со стороны разработчиков - не такая уж и редкость. В моей практике бывало, что разработчики даже пытались оспаривать CVE. Я решил вместо дальнейших исследований по повышению импакта обратиться в NotCVE - сервис как раз для подобных случаев (делал об этом сервисе заметку). Тем более уже был опыт взаимодействия с ними. И буквально через пару дней получил ответ, что уязвимости назначен идентификатор NotCVE-2025-0002.

Проблема замечена в версии User interface v1.293.809 + Backend Tag v3.293.425-0. В этой версии проблемы нет: User interface Tag 1.267.675 + Backend Tag 3.267.347-0

Теги:
0
Комментарии0

Сжимаем видое без потери качества — релизнулся топовый компрессор SqueezeVid:

  • Сжимает видео, не теряя ни единого пикселя — качество останется на высочайшем уровне.

  • Работает со всеми популярными форматами, включая MP4, MOV и AVI.

  • Можно конвертировать ролик в нужный формат и даже контролировать степень сжатия.

  • Вся обработка происходит локально, прямо на ПК пользователя

  • Без ограничений, без регистрации, бесплатно.

Теги:
+1
Комментарии1

Задача о новой фиче, которую никто не видит

Задача будет полезна разработчикам веб-приложений и сервисов.

Текст подготовил Артём Шумейко — внештатный райтер, амбассадор Selectel и автор YouTube-канала о разработке.

Условие

В компании «ГигаПост» выпустили долгожданное обновление: на сайте появилась новая кнопка «Подписаться на тему». Интерфейс готов, API поддерживает, проверено на стенде — все работает как часы.

Но после релиза начались странности. Некоторые пользователи видят кнопку, а некоторые — нет. Кто-то говорит, что она появилась через сутки. Кто-то — что только после нажатия Ctrl+F5.

Команда фронтенда уверена — код задеплоен. Бэкенд-эндпоинт отвечает корректно. На тестовом стенде все видно. Даже сам разработчик открывает сайт на своем ноутбуке — кнопка есть.

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

И вот тогда кто-то предложил простую мысль: а пользователи вообще видят свежую версию сайта?

Задача

Почему часть пользователей не видит новую кнопку, хотя код задеплоили? В чем может быть причина? Где в цепочке доставки может остаться старая версия?

Предлагайте свое решение в комментариях. А правильный ответ можно подсмотреть в Академии Selectel.

Теги:
Всего голосов 8: ↑8 и ↓0+10
Комментарии3

Как не потерять важные проверки в долгих тестах: soft-assert на практике

В длительных системных тестах, особенно для систем хранения данных, важна не только проверка, но и устойчивость самого теста. Обычные assert в Python останавливают выполнение при первой ошибке, что неприемлемо для многокомпонентных и продолжительных тестов, где важно собрать максимум информации о сбоях.

Решение — использовать soft-assert, которые не прерывают выполнение. В команде мы используем Pytest плагин pytest-check, которая позволяет писать soft-assert через контекстный менеджер with check. Это дает возможность:

  • продолжить тест даже при частичных ошибках,

  • собрать диагностику по множеству компонентов (например, контроллеры, кэши, пулы),

  • минимизировать потери времени при дорогостоящих прогонах.

Пример soft-assert с pytest-check:

from pytest_check import check


def object_stack():
    pool_stack = ExitStack()
    yield pool_stack
    for host in hosts:
        with check:
             result = None
             try:
                PoolsService.get_pools_info(host)
             except HostUnavailableException as err:
                result = err
             assert not issubclass(type(result), HostUnavailableException), f'Failed to get pool: {result}'

Soft-assert полезен, когда нужно получить статус всех компонентов, несмотря на сбои отдельных, одна ошибка не делает тест недействительным и тест длится часами и его повтор — затратен.

Однако soft-assert не заменяет критические проверки — в местах, где сбой должен останавливать выполнение, следует использовать assert.

О том, как устроен процесс проверки надежности СХД TATLIN.UNIFIED, рассказала Наталья Грязнова, ведущий инженер по разработке ПО в YADRO. В тексте она делится подходами, которые позволяют комплексно проверять работу систем в разных условиях — от сверхнагрузок до нестабильной среды.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0
Как космические корабли что-то там бороздят...
Как космические корабли что-то там бороздят...

В википедиях, читаю:

ITSM (IT Service Management, управление ИТ-услугами) — подход к управлению и организации ИТ-услуг, направленный на удовлетворение потребностей бизнеса. Управление ИТ-услугами реализуется поставщиками ИТ-услуг путём использования оптимального сочетания людей, процессов и информационных технологий.

CI/CD (CICD) — методология разработки программного обеспечения, представляющая собой комбинацию непрерывной интеграции (continuous integration) и непрерывного развертывания (continuous delivery, или continuous deployment)

Если рассматривать "IT" как набор услуг (под управлением ITSM), не вступает ли это в противоречие с "CI/CD" (а может и с devops в целом)?

Здесь, я не имею в виду ситуацию "если родина прикажет" или "бизнес так решил", а в принципе.

Допустим, клиент заказывает услугу. Услуга имеет описание, а также, возможно, набор регламентов по использованию. Таким образом, клиент точно знает, за что платит, предполагая, что услуга имеет законченный вид и изменениям не подлежит, иначе, на каждом шаге, потребуется перерасчет, а это дополнительные временные и, возможно, финансовые издержки.

С точки зрения клиентоориентированности, в первом приближении, ITSM выглядит привлекательнее.

Но, у поставщика услуг, внезапно, CI/CD и другие "гибкие методологии разработки" (ну, допустим), а это означает постоянные изменения, как в наборе функционала (в составе предоставляемой услуги), так и в инфраструктуре проектов. Кроме того, по причине применяемых принципов, возможны разнообразные сдвиги сроков, что тоже не добавляет клиенту уверенности в завтрашнем дне.

Как потребителю услуг (клиенту), в этой ситуации, когда "всё течёт - всё меняется", быть уверенным, что он оплачивает и получает именно то, что требуется, да ещё и в полном объёме?

Выглядит так, что всё должно сойтись где-то на стыке одного и другого, но остается вопрос: а можно ли всё это красиво подружить?

По этой теме, я уже прочёл одну-две статьи, где-то на просторах интернета, но ссылки на них оставлять здесь как-то стыдно: они не отвечают на поставленные вопросы, просто постулируя - "да, можно"/"нет, не противоречит" или повествуют о том, как с одного перейти на другое, что, мягко говоря, обескураживает.

Теги:
Всего голосов 4: ↑2 и ↓20
Комментарии0

Ближайшие события

Новые тарифы Kubernetes

Апгрейднули тарифы и добавили пояснение к каждому. Давайте знакомиться:

  • 👉Тариф Dev. Подходит для тестирования функционала нашего Managed Kubernetes — 200 ₽/мес

Пример использования: небольшие пет-проекты

  • 👉Тариф Base. Для кластеров со средней нагрузкой, где отказоустойчивость не критична — 2000 ₽/мес

Пример использования: корпоративные веб-сервисы или ML inference-сервисы

  • 👉Тариф Custom. Для гибкой настройки — от 2520 ₽/мес

Пример использования: highload-платформы и BigData/ML пайплайны

Пара слов о тарифе Custom. В нем можно выбрать количество ядер, объем оперативы и диска, а также установку с одной мастер-нодой или с тремя для настройки отказоустойчивости.

Найти свой идеальный тариф →

Теги:
Всего голосов 7: ↑7 и ↓0+9
Комментарии0

Представлен сервис для удаления фона с необычным дизайном — ваша фотка буквально отправляется в стирку. Работает просто: закидываете картинку в машину, пару секунд наблюдаете за гипнотизирующим барабаном и забираете PNG-шку. Дизайнеры познают дзен — здесь.

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии1

YouTube предлагал нестандартное название типа новой iOS.

Apple прикола не оценили и перенесли слово «ass» «glass» на строку ниже.

Теги:
Всего голосов 3: ↑3 и ↓0+5
Комментарии1

Уязвимость в протоколе REALITY XTLS/Xray-core: быстрый фикс уязвимости Aparecium

На прошлой неделе была обнаружена уязвимость в известном ПО для создания прокси соединений XTLS/Xray-core, а именно в протоколе REALITY, позволяющая выявлять работу этого протокола.

Для тех, кто не в курсе: REALITY — это уникальный протокол прокси, который позволяет маскировать прокси-трафик под легитимное посещение реальных сайтов (например, google.com или любого другого), при этом не требуя покупки домена и настройки TLS-сертификата на своем сервере.

Обнаружение уязвимости

В начале июня 2025 года исследователь под ником ban6cat6 опубликовал утилиту под названием Aparecium. Ее цель — находить серверы, использующие протоколы вроде REALITY.

В чем была суть уязвимости?
Утилита обнаружила, что серверы на базе OpenSSL после завершения основного TLS-рукопожатия (handshake) обычно отправляют клиенту один или два служебных сообщения NewSessionTicket. Это стандартное поведение, позволяющее возобновлять сессии. Протокол REALITY в своей реализации это поведение не имитировал.

Это тонкое различие позволяло Aparecium с высокой точностью отличать настоящий веб-сервер от сервера с REALITY, просто проанализировав последовательность TLS-сообщений.

Быстрый фикс

Информация об уязвимости была опубликована в виде issue #4778 в репозитории Xray-core. Разработчики, в частности RPRX, отреагировали практически молниеносно.

Вместо того чтобы добавить отправку фейковых NewSessionTicket, они пошли по более правильному пути. Уже через несколько дней в версии Xray-core v25.6.8 появилось «предварительное» решение:

Теперь при первом запуске сервер REALITY, используя отпечаток клиента Chrome, сам подключается к целевому сайту (dest), «подсматривает», какие именно post-handshake сообщения и какой длины тот отправляет, кэширует эту информацию и в дальнейшем идеально имитирует именно это поведение.

На это «зондирование» уходит около 30 секунд при первом старте сервера, но оно по большей части решает основную проблему. Вместе с этим был исправлен и неприятный баг с производительностью из-за неработающего аппаратного ускорения AES-NI.

Глубокий анализ

Казалось бы, проблема решена, однако разработчики начали копать глубже, и вот что выяснилось:

  1. Загадка «лишнего пакета» от bilibili.com
    Один из разработчиков заметил, что при подключении к некоторым сайтам (например, bilibili.com) с отпечатком Chrome, сервер возвращает не только NewSessionTicket, но и еще один небольшой пакет. После анализа выяснилось, что это не TLS-сообщение, а кадр настроек HTTP/2 (settings frame). Это значит, что для идеальной маскировки нужно имитировать не только TLS-уровень, но и поведение прикладного протокола (HTTP/2), который был согласован в ходе рукопожатия.

  2. Проблема разных отпечатков (fingerprints)
    Выяснилось, что один и тот же сайт может по-разному отвечать на ClientHello от разных клиентов. Например, на запрос с отпечатком Chrome он может отправить два NewSessionTicket и settings фрейм, а на запрос от Go-клиента — только один NewSessionTicket. Похоже, что статического зондирования недостаточно.

  3. Идея «живого обучения»
    В ходе мозгового штурма родилась идея для долгосрочного решения, которое было оформлено в issue #4788. Суть в том, чтобы сервер REALITY, получив ClientHello от нового клиента, не просто использовал стандартный отпечаток для зондирования, а копировал отпечаток реального клиента и именно с ним обращался к целевому сайту. Это позволит динамически адаптироваться под любого клиента и достичь практически идеальной мимикрии.

Разработчики рекомендуют всем обновить сервера и клиенты, использующие Xray-core, до версии 25.6.8.

Теги:
Всего голосов 8: ↑7 и ↓1+8
Комментарии2

Магия упрощения пользовательского опыта на примере установки n8n

В апреле мы, в Amvera Cloud, запустили n8n как преднастроенный сервис и столкнулись с тем, что разворачивать его неудобно.

Для работы сервиса требовалось после запуска создать домен, открыть порт, добавить домен в переменную и перезапустить проект. Звучит просто, но без документации далеко не каждый пользователь справлялся.

Плюс, не все могли найти преднастроенный n8n у нас в интерфейсе.

А простота создания и эксплуатации —  это важно, особенно для такого сервиса, как наш.

Что мы сделали

– Теперь домен создаётся прямо при запуске проекта и сразу добавляется в нужную переменную. Это сократило создание n8n буквально до ввода названия проекта и нажатия кнопки “создать”.

– Добавили плитку с преднастроенными сервисами, чтобы их создание было максимально простым.

Плитка преднастроенных сервисов
Плитка преднастроенных сервисов

Результат

Создание таких сервисов как n8n, Keycloack и других, от нажатия первой кнопки до перехода по выделенному бесплатному домену занимает буквально 20 секунд и требует нажатия двух кнопок и заполнения одного поля с названием проекта!

В ближайшие дни мы добавим возможность обновлять версии сервисов одной кнопкой и сделаем несколько инструкций для таких нестандартных ситуаций, как использование ffmpeg.  

Теги:
Всего голосов 2: ↑1 и ↓1+2
Комментарии0

В развитие темы Bare Metal VM, над которой я время от времени размышляю начиная аж с 2010 года, предлагаю ознакомиться с интересным и, на мой взгляд, перспективным проектом OSv.

Ещё в 10-м году я подумывал над тем, что имея сервера приложений наподобие Томката и серьёзную взрослую изоляцию на уровне загрузчика классов - можно выкинуть подлежащую ОС со всеми её ненужными сервисами из нашего стека, оставив сервер приложений на голом железе. Тогда же выяснилось, что не я один так думаю, было коммерческое предложение Oracle JRockitVE. Судя по всему, наследница вот этого приобретения Bea.

Ранее я уже писал статью об этой идее на Хабре и пытался защищать в дискуссии.

Можно попробовать снова.

Ещё можно смотреть на развитие ОС на базе грааля. Или вспомнить про JaOS.

К современным ОС типа Линукса у меня есть много претензий, и есть несколько идей, которые можно было бы реализовать для их улучшения. Некоторые из них описаны в указанном проекте. Некоторые в том или ином виде наличествуют в специализированных коммерческих предложениях (Юникс) крупных вендоров типа АйбиЭм или того же Оракла. Это касается, например,

  • файлово-дискового стека,

  • оптимизации сети,

  • использования ГПУ в неожиданных местах,

  • гибкости в использовании СУБД при разработке с контейнером.

Теги:
Всего голосов 2: ↑2 и ↓0+5
Комментарии6