Pull to refresh
50
0
Alex Djachenko @alexdjachenko

Пользователь

Send message

ENTRYPOINT vs CMD: назад к основам

Reading time6 min
Views289K

Construction


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

Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments17

Установка программы модификации сетевых пакетов NFQWS на роутер Keenetiс

Level of difficultyMedium
Reading time11 min
Views29K

Привет, Хабр!

Сегодня рассмотрим вариант установки утилиты модификации сетевых пакетов Zapret на роутеры Keenetic. В отличии от простого использования на конкретных устройствах, при установке на роутер появляется возможность обрабатывать трафик идущий от всех устройств, подключенных к домашней локальной сети (ПК, смартфоны и смарт телевизоры).

Читать далее
Total votes 33: ↑33 and ↓0+39
Comments244

Чиним замедление YouTube на уровне роутера

Level of difficultyMedium
Reading time6 min
Views474K

Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать YouTube. Естественно, мне это сильно не понравилось. Ну, что же, давайте разбираться, почему и как это исправить в условиях моей личной сети.

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее
Total votes 336: ↑334 and ↓2+387
Comments845

Используем gocv, чтобы определить возраст, эмоции и пол человека по фото

Reading time11 min
Views1.4K

Opencv предоставляет широкие возможности по обработке изображений и работе с нейросетями. В статье мы напишем сервис, который позволит извлекать из изображений ряд параметров человека: пол, возраст, эмоции, а также местонахождение лица на фотографии. Получение данных характеристик бывает полезно для автоматического анализа видео и фото. Например, на конференции мы можем определить средний возраст участников, процентное соотношение мужчин и женщин, а также реакцию на конкретный доклад.

Для демонстрации будем использовать модели caffe и onnx. Сервис напишем с использованием golang. Ниже приведен пример изображения, на котором распознан пол и примерный возраст человека. В нашем сервисе мы будем возвращать JSON, в котором будут указаны возраст, эмоции, пол и местоположение лиц на фотографии.

Читать далее
Total votes 5: ↑5 and ↓0+7
Comments2

Сборка Min.io dev кластера в контейнерах

Level of difficultyEasy
Reading time18 min
Views3.1K

Сборка Min.io dev кластера в контейнерах с tls, site replication, nginx и мониторингом.

Статья представляет собой пошаговое руководство для разворачивания кластерного minio в контейнерах от bitnami. Доступ в кластер будет организован через nginx. Также рядом развернем однонодный minio. Объединим эти 2 minio с помощью site-replication. Создадим тестового пользователя, тестовую политику, тестовый бакет и попробуем с ним работать. Закончим настройкой мониторинга: дефолтные prometheus для сборки метрик и grafana для отрисовки дашбордов.

Читать далее
Total votes 6: ↑6 and ↓0+10
Comments7

Замедление YouTube с технической стороны: ограничение и обход

Reading time5 min
Views383K

Привет, Хабр!

В последнее время замечаю огромное количество информации по поводу замедления Великого, но очень мало где видел конкретику о том, как именно это работает. Одно лишь отчаяние "мы все умрём".

Сразу скажу, что буду говорить обо всём, что известно на данный момент. Понятно, что с этим разбирался далеко не один я: огромное спасибо обывателям ntc party форума за проделанный ресёрч.

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

UPD 10.08.2024 Многие жалуются на недоступность ютуба в целом: не грузит домашнюю страницу. Переживать не стоит, оно обрабатывается всё тем же ТСПУ по всё той же стратегии, обходы должны работать.

Читать далее
Total votes 527: ↑527 and ↓0+617
Comments445

Вы нас просили и мы сделали. VPN на собственном сервере с XRay Reality за 5 минут с помощью Amnezia

Reading time4 min
Views93K

Всем привет! Это команда Amnezia. 

Мы читаем комментарии под нашими постами и знаем, что один из самых частых вопросов – когда будет XRay? Так вот, мы добавили XRay в приложение AmneziaVPN, а точнее протокол Reality от XRay для всех платформ -  IOS, Android, Windows, Linux и MacOS. Если у вас еще нет последнего релиза, скорее скачивайте и создавайте VPN на собственном сервере в пару кликов с одним из самых защищенных и быстрых протоколов в мире, ниже мы немного о нем расскажем, а в конце статьи будет пошаговая  инструкция как это сделать.

Почему XRay Reality так популярен ?

Все дело в том, что Reality подходит для стран с самым высоким уровнем интернет-цензуры, сейчас его используют в Китае и Иране, он защищен от детектирования методами active probing. 

Распознать цензоров REALITY может еще на этапе TLS-хендшейка. Если REALITY видит, что к нему приходит его клиент, то сервер запускает для него VPN туннель, а если приходит любой другой запрос на 443 порт, то TLS-подключение передается на какой-нибудь другой реальный сайт, например, google.com, где цензор получит настоящий TLS-сертификат от google.com и вообще все настоящие данные с этого сайта.

Со стороны систем анализа трафика это выглядит как подключение к настоящему сайту, сервер отдает настоящий TLS-сертификат этого сайта, и вообще все (включая TLS fingerprint сервера) выглядит очень по-настоящему и не вызывает подозрений. 

Особенно приятно, что при этом производительность REALITY и скорость подключения у протокола действительно хороши, в сравнении, например, со связкой OpenVPN over Cloak.

Читать далее
Total votes 142: ↑138 and ↓4+157
Comments122

HTTP/3 от А до Я: основные концепции. Часть 1

Reading time20 min
Views84K

image
Фото Florencia Viadana, Unsplash.com


После почти пятилетних разработок протокол HTTP/3 наконец приближается к окончательному выпуску. Предыдущие итерации уже доступны как экспериментальная функция, но в 2021 году мы ждём широкого распространения протокола. Что такое HTTP/3? Зачем выпускать его так рано после HTTP/2? Как его можно или нужно использовать? Как он влияет на производительность?

Читать дальше →
Total votes 79: ↑78 and ↓1+95
Comments48

Выбираем между инструкциями RUN, CMD и ENTRYPOINT

Level of difficultyMedium
Reading time10 min
Views9.3K

Для выполнения похожих задач в Docker нередко есть несколько решений. Одна запутанная область касается инструкций RUN, CMD и ENTRYPOINT Dockerfile. В этом переводе обсуждаются различия между этими инструкциями и показываются примеры их использования в форматах shell и exec. 

В чём разница между RUN, CMD и ENTRYPOINT?
Total votes 24: ↑22 and ↓2+23
Comments6

Опыты в домашней лаборатории: динамически обновляем записи приватной зоны DNS в OpenWRT

Level of difficultyMedium
Reading time20 min
Views2.8K

Моя домашняя лаборатория подключена к интернету через маршрутизатор с прошивкой OpenWRT. Развертывая локальный ACME сервер, я понял, что, независимо от применяемого типа валидации запросов, ACME должен найти в DNS полное доменное имя сервера, для которого запрошен сертификат.

В размышлениях, где же стоит хостить свою приватную DNS зону, меня озарило: «Но у нас уже есть дома DNS-сервер в OpenWRT. Наверняка можно удаленно обновлять записи в его локальной зоне».

TL;DR: В итоге пришлось поставить BIND
Total votes 5: ↑5 and ↓0+6
Comments0

4 года холакратии — честный отзыв о работе без руководителей

Reading time10 min
Views29K

В этой статье я постарался честно и вдумчиво проанализировать опыт перехода из вертикальной структуры в горизонтальную. Как мы к этому пришли? Как проходил переход? Что с зарплатами? Куда делись руководители, которые вдруг стали не нужны? Если что-то упустил, спрашивайте в комментариях.

Читать далее
Total votes 85: ↑78 and ↓7+88
Comments98

Использование composer в проекте php для начинающих

Level of difficultyEasy
Reading time3 min
Views2K

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

Используйте меньше пакетов, чем меньше - тем лучше.
Если вы можете обойтись без пакета - обойдитесь. Лучше собственный сервис или компонент. Нет, это не изобретение велосипеда. Во-первых, научитесь писать свои компоненты, во-вторых - это надежнее. Пакет имеет смысл реквайрить только если вы находитесь в очень агрессивной разработке или это вам сэкономит несколько недель. 95% всех публичных проектов мусор, и 80% перестанет поддерживаться в ближайшие 5 лет.

Некоторые зависимости создают такую связность в коде, что избавление от них превращается в огромную проблему(прим: валидация, формы, апи-компоненты, ORM).

Мелкие пакеты просто копируем в код.
Рано или поздно, если проект живёт достаточно долго мы сталкиваемся с неприятной ситуацией - что пакет стал abandoned, т.е. потерял своего контрибьютера и больше не обновляется, и стал несовместим с новыми версиями php. Очевидным "умным" решением становиться сделать форк и поддерживать версию самому. На самом деле нужно просто сделать ctrl+c ctrl+v, забыв навсегда о необходимости его обновлять.

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

Пример убедительный причин обновить пакет:

Я и сам все умею, но хочу почитать дальше
Total votes 5: ↑3 and ↓2+1
Comments3

Что нам должна Система?

Level of difficultyEasy
Reading time4 min
Views3.9K

Привет! Меня зовут Саша, я бизнес-/системный аналитик в Касперском. Я занимаюсь анализом уже больше пяти лет и за это время я принял участие в различных проектах – от разработки системы поддержки принятия управленческих решений до развития системы заказов. В этой статье я хотел бы поделиться своими мыслями на тему формулирования бизнес-требований для описания поведения Системы.

Подробнее
Total votes 6: ↑3 and ↓3+2
Comments4

Как собеседовать того, кто ничего (руками) не делает — руководителя

Level of difficultyMedium
Reading time3 min
Views24K

В предыдущих статьях (тут, тут и тут) я довольно плотно проработал тему собеседований (по крайней мере мне хочется на это надеяться). Мы выяснили, что человека нужно спрашивать о том, что он реально делал руками. Но вот проблема – руководитель не делает ничего сам, главным инструментом руководителя для решения поставленных перед ним задач является организация его подчиненных, налаживание процессов и коммуникации. А вот как собеседовать человека, который ничего руками не делает? Об этом мы сегодня и поговорим.

Читать далее
Total votes 13: ↑1 and ↓12-11
Comments30

OpenProject на практике

Level of difficultyEasy
Reading time9 min
Views7.4K

В этой статье рассмотрим реальную историю внедрения приложения для управления проектами OpenProject. После быстрого гугления и поиска по Хабру не удалось найти ни короткого русскоязычного мануала по нему, ни задокументированного опыта его применения на реальных кейсах. Будем исправлять ситуацию!

Для нетерпеливых: OpenProject спустя несколько месяцев прижился, и все к нему привыкли. Хотя, процесс был не из простых. Гнев, торг, затем принятие. Но, давайте по порядку. 

Читать далее
Total votes 10: ↑9 and ↓1+13
Comments5

HackBat: мощная DIY альтернатива Flipper Zero на базе открытого исходного кода

Reading time4 min
Views24K

Встречайте HackBat: DIY (сделай сам) устройство, основанное на открытом исходном коде и аппаратном обеспечении, разработанное Пабло Трухильо Хуаном как мощная альтернатива Flipper Zero. Оно пропагандирует свободу разработки и модификации, обеспечивая пользователям возможность сами создавать и настраивать свои устройства. В отличие от Flipper Zero, HackBat позволяет пользователям самим программировать MCU и взаимодействовать с Wi-Fi и RF-трансиверами, что обеспечивает большую гибкость и возможности для настройки.

Самое интересное в этом небольшом проекте — это то, насколько много общего у него с Flipper Zero. Hackbat также позиционируется в качестве "швейцарского армейского ножа" для проведения тестов на проникновение и использует некоторые из тех же функций, что и NFC. Однако, в отличие от Flipper Zero, Hackbat является открытым проектом и стоит дешевле, чем его родственник с ценником в $169. Фактически, после недавнего исчезновения Flipper One, люди, которые такие устройства, могут обнаружить, что Hackbat является подходящей заменой.

Пабло Трухильо опубликовал проект на Hackster, где подробно рассказал о проекте. Основной идеей Hackbat является создание устройств для тестирования на проникновение, доступных для всех.

Читать далее
Total votes 57: ↑43 and ↓14+51
Comments33

Как справиться с устареванием apt-key и add-apt-repository с помощью gpg в Ubuntu 22.04

Reading time10 min
Views29K

apt-key - это утилита, используемая для управления ключами, которые APT использует для аутентификации пакетов. Это тесно связано с утилитой add-apt-repository, которая добавляет внешние репозитории с использованием серверов ключей в список надежных источников установки APT. Однако ключам, добавленным с помощью apt-key и add-apt-repository, apt доверяет глобально. Эти ключи не ограничиваются авторизацией единственного хранилища, для которого они были предназначены. Любой ключ, добавленный таким образом, может быть использован для авторизации добавления любого другого внешнего хранилища, что представляет собой важную проблему безопасности.

Начиная с Ubuntu 20.10, использование apt-key выдает предупреждение о том, что инструмент устареет в ближайшем будущем; аналогичным образом, add-apt-repository также скоро устареет. Хотя эти предупреждения об устаревании строго не запрещают использовать apt-key и add-apt-repository с Ubuntu 22.04, но игнорировать их не рекомендуется.

В настоящее время рекомендуется использовать gpg вместо apt-key и add-apt-repository, и в будущих версиях Ubuntu это будет единственным вариантом. apt-key и add-apt-repository сами по себе всегда действовали как оболочки, вызывая gpg в фоновом режиме. Использование gpg напрямую отсекает посредника. По этой причине метод gpg обратно совместим со старыми версиями Ubuntu и может использоваться в качестве замены apt-key.

В этом руководстве будут описаны две процедуры, использующие альтернативы apt-key и add-apt-repository соответственно. Сначала будет добавлено внешнее хранилище с использованием открытого ключа с помощью gpg вместо использования apt-key. Во-вторых, в качестве дополнения в этом руководстве будет рассмотрено добавление внешнего репозитория с использованием сервера ключей с gpg в качестве альтернативы использованию add-apt-repository.

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments11

Мегагайд: культура работы с Git

Level of difficultyEasy
Reading time16 min
Views33K

Привет всем! Меня зовут Юля, я фронтенд-разработчик, наставник на курсах по JS и React и организатор профессионального сообщества Tbilisi JS. В Практикуме я помогаю студентам на курсе «React-разработчик».

За время работы в разных компаниях и над разными проектами я поняла, что Git — это не только (и не столько!) знание самой технологии и конкретных команд, но и определённая культура взаимодействия, практики, подходы, договорённости. Всё это помогает участникам команды лучше понимать друг друга и работать быстрее и чётче.

Поговорим как раз об этом — о том, что формирует культуру работы с Git: начнём с конвенций именования коммитов и закончим практиками работы в пуллреквесте. В конце статьи я поделюсь полезными ссылками на интерактивные обучалки, шпаргалки и гайды.

Читать далее
Total votes 36: ↑31 and ↓5+31
Comments23

Шпаргалка глаголов на английском языке при составлении тест-кейсов и заведении дефектов

Level of difficultyEasy
Reading time8 min
Views4.9K

Автор: Надежда Дудник

Памятка для начинающих инженеров по тестированию ПО.

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

Все глаголы я как раз использовала на своих англоязычных проектах и указанные примеры я взяла из своих написанных тестовых сценариев и оформленных баг-репортов.

Данная информация собрана из нескольких постов в рамках моего блога, и я решила добавить всю эту информацию в пространстве habr.com.

Также есть перевод фраз, и эти фразы также можно использовать при составлении тестовой документации на русскоязычных проектах.

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

Читать далее
Total votes 21: ↑15 and ↓6+11
Comments15

Как настроить ipv6 на даче у LTE провайдера анлим.бел/unet для роутеров на базе openwrt

Level of difficultyMedium
Reading time3 min
Views5.5K

Приветствую хабражителей.

Я уже довольно давно озадачился вопросом настройки ipv6 на даче т. к. хотелось бы иметь прямой доступ к устройствам (например камеры, шлюзы, nas итд) без костылей в виде vps/vpn или static ipv4 + проброс портов.
Ведь будущее уже наступило и ipv6 давно шагает по планете.

В моей локации нормальный интернет можно получить только через lte/3g операторов, оптика в наши края, к сожалению, еще не добралась.

Пару лет назад ни один из известных мне сотовых операторов услугу ipv6 не предоставлял несмотря на то, что уже давно существует указ президента РБ об обязательной поддержке ipv6 всеми провайдерами.

Недавно я снова озадачился оным вопросом и начал обдумывать костыльные варианты вроде таких и таких. Но затем дернул меня черт еще раз пингануть провайдеров (ну а вдруг ?).
И… О, чудо, оказывается оператор анлим.бел выдает ipv6 /64 подсеть за 9.9 руб/мес (примерно 3$)

Поговорив с тех. поддержкой я выяснил что услугу они предоставляют, но четких инструкций как это сделать самостоятельно у них нет. Предлагают заказать услугу “настройка специалистом” за ~ 15$ (ребята, поставить галочку в настройках подключения obtain ipv6 automatically ? серьезно ? камон :).
В ходе дальнейшей дискуссии выяснилось что у них есть набор скринов как это делать на mikrotik ах, для роутеров на базе openwrt (мой случай) инструкций нет.

Внимательно изучив предоставленные скрины я понял что на самом деле все очень просто: достаточно настроить pptp соединение и включить dhcpv6 поверх него.
Дело в том, что анлим.бел не предоставляет честный ipv6  (dual-stack IPv4 and IPv6), а использует туннель ipv6 via ipv4.

Читать далее
Total votes 10: ↑9 and ↓1+9
Comments5
1
23 ...

Information

Rating
Does not participate
Location
Россия
Registered
Activity