Pull to refresh
10
0
Алексей @Eldalex

Системный Администратор

Send message

Что нового в мире обхода блокировок Интернета в середине 2024

Level of difficultyEasy
Reading time13 min
Views157K

Представляю вашему вниманию короткий обзор что же произошло в России и в мире в области цензуры интернета и того, как этому противостоят энтузиасты. На всякий случай напоминаю, что статья «Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному» заблокирована на Хабре для пользователей из РФ, но по‑прежнему без проблем открывается через прокси/VPN с иностранных адресов. Ну а мы сейчас разберем, что же изменилось с тех пор.

Сегодня в программе: Замедление YouTube — проблемы с Google Cache или намеренное вредительство? Можно ли заблокировать Shadowsocks и как РКН смог это сделать? Новые транспорты в XRay: HTTPUpgrade и SplitTunnel. Новости из мира Tor, и многое другое.

Читать далее
Total votes 167: ↑162 and ↓5+190
Comments105

Как правильно передавать секреты запускаемым программам?

Level of difficultyMedium
Reading time6 min
Views7.2K

Эта статья о том, как правильно передавать секреты запускаемым программам.

Бывает встречаются Unix-системы, на которых некоторые администраторы передают процессам пароли в открытом виде, совершенно не заботясь о том, что их видят все пользователи данной системы.

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

$ ps -ef

и возможно и увидеть некоторые секреты, которых видеть не должны, например, у одного из процессов ниже открыт пароль basicAuth.password (пароль в тексте изменен).

$ strings /proc/1101/cmdline
/usr/local/bin/vmagent
--remoteWrite.url=http://vm-cluster.local:1234/api/v1/write
--remoteWrite.basicAuth.username=user-rw
--remoteWrite.basicAuth.password=123456
--promscrape.config=/usr/local/etc/vmagent-config.yml

Как же быть? Есть несколько способов этого избежать.

Читать далее
Total votes 18: ↑17 and ↓1+19
Comments11

Параметры в Jenkins

Reading time5 min
Views27K

Jenkins — один из наиболее популярных инструментов CI/CD. Он позволяет автоматизировать каждый этап жизненного цикла программного обеспечения: от создания до развертывания. В этой статье Кирилл Борисов, Infrastructure Engineer технологического центра Deutsche Bank, расскажет о параметрах в Jenkins и о том, как решить проблему хардкода с их помощью.

Читать далее
Total votes 11: ↑10 and ↓1+10
Comments2

Пишем приложение на Python для подготовки к собеседованиям по Python

Reading time6 min
Views28K

На конец 2023 года язык программирования Python является самым популярным по индексу TIOBE. Что касается работы, то по количеству вакансий в мире язык Python занимает второе место (после JavaScript/TypeScript). Поэтому у соискателей на должность, где требуется Python, возникает потребность подготовки к собеседованиям.

В этой статье я расскажу о том, как используя Python, можно написать desktop-приложение для ОС Windows, которое поможет быстро, эффективно и абсолютно бесплатно подготовиться к собеседованиям по Python.

Читать далее
Total votes 12: ↑10 and ↓2+9
Comments15

Автоматическая генерация CI/CD пайплайна для развёртывания инфраструктуры

Reading time8 min
Views16K

При нашей работе мы используем подход «Инфраструктура как код». Однако в процессе его использования мы столкнулись с проблемой написания пайплайнов для инфраструктуры.

Во всём «виноват» terragrunt: каждому модулю terragrunt нужна отдельная джоба в пайплайне на plan и apply, но для каждого модуля они во многом повторяют друг друга. Подобное постоянное написание одинаковых частей CI/CD пайплайна при добавлении новых баз и бакетов навевало тоску.

Рассказываем, как мы создали генератор джоб в Gitlab CI/CD и навсегда забыли о ручном написании пайплайнов для развёртывания элементов инфраструктуры.

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

Решение reCAPTCHA в Selenium на полном автомате (адаптация англоязычной статьи)

Level of difficultyEasy
Reading time4 min
Views13K

Делаю робкие попытки в автоматизации и столкнулся с часто возникющей проблемой, распознавание Рекапчи (reCaptcha).

Естественно, я понимаю что по даннй теме написано много гайдов, мануалов и статей, но согласитесь - интересно описать собственный опыт.

Итак, за основу я взял англоязычный мануал, который попался мне на глаза буквально пару дней назад и я решил его потестить (а так как написан он сервисом по распознаванию капчи, который я и использую, то почему нет - кстати, ребята из 2капча - принимаю благодарность в виде зеленых бумажек, если интересно))))

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

Для решения возьмем демо страницу, любезно предоставленную самой Рекапчей -  https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php:

Читать далее
Total votes 6: ↑3 and ↓30
Comments15

Книги по DevOps для новичков и профессионалов: что стоит поставить на книжную полку

Reading time3 min
Views24K

Сегодня поговорим о книгах по DevOps, которые актуальны как для начинающих специалистов, так и для профи, которым нужна дополнительная информация или практические советы. В подборке — несколько хороших книг, которые можно рекомендовать. И, как всегда, попросим дополнить подборку собственными предпочтениями — порекомендуйте то, что пригодилось именно вам. Что же, поехали!

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

Hello-World туториал на React/Django/RabbitMQ/Websockets

Level of difficultyMedium
Reading time38 min
Views13K

Однажды в поисках примера на React/Django я нашел на Хабре одну интересную статью. Она показалась мне полезной, и я решил дополнить пример из статьи новыми возможностями. В этом сиквеле мы добавим в веб-проект со списком студентов поддержку авторизации и real-time уведомлений на сокетах, улучшим систему Docker-сборки, оптимизируем модель очередей на RabbitMQ и немного пригладим косметику. В результате получим удобный базовый шаблон, с которого вы сможете начинать свои проекты.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments6

3X-UI: Shadowsocks-2022 & XRay (XTLS) сервер с простой настройкой и приятным интерфейсом

Level of difficultyEasy
Reading time13 min
Views437K

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

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

Поэтому сегодня мы поговорим об установке и использовании графической панели 3X-UI для сервера X-Ray с поддержкой всего того, что умеет X-Ray: Shadowsocks-2022, VLESS с XTLS и т.д.

Читать далее
Total votes 33: ↑32 and ↓1+36
Comments206

Kibana. Использование языка запросов KQL при поиске логов

Level of difficultyEasy
Reading time6 min
Views42K

Туториал по работе с логами в Kibana для начинающих специалистов по тестированию ПО.

У Kibana имеется свой язык запросов KQL (Kibana Query Language) - официальный источник. С помощью этого языка можно составлять запросы, которые помогают отфильтровывать и найти необходимую информацию.

Подключение к Kibana для просмотра логов.

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

6 развлекательных проектов на Python: от шаверма-бота до игры в слова

Reading time4 min
Views18K

Все, кто кодят на Python, знают, что это далеко не скучный и серьезный язык. При определенной доле фантазии на нем можно написать логику работы любого приложения, даже совершенно гиковского. И есть немало примеров, когда такие пет-проекты становились не только полем развития навыков разработчика, но и коммерческой идеей. Под катом собрали шесть подобных задач от Selectel — для вдохновения и прокачки навыков. Сохраняйте статью в закладки: пригодится всем, кто разрабатывает на Python.
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments3

Как ограничить количество выполняющихся задач в Jenkins при вызове parallel: сравниваем решения

Reading time6 min
Views2.9K

Недавно передо мной встала задача — есть 250 тестов, каждый из которых занимает от 5 до 30 минут, а иногда и часы. Надо запустить их в параллель на одной машине, но не больше 16 одновременно. Ограничение связано с некоторым лимитированным ресурсом, а также количеством ядер CPU. Реальное число одновременно запущенных задач нужно вычислять динамически, то есть пойти простым путем и зарегистрировать имя или лэйбл ресурса заранее с помощью плагина Lockable Resource не получится.

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments4

Разворачиваем веб-приложение в Kubernetes с нуля

Level of difficultyEasy
Reading time31 min
Views44K

Современные веб-приложения, даже простые на вид, часто подразумевают нетривиальную архитектуру, состоящую из многих компонент. В статье «Делаем современное веб-приложение с нуля» я рассказал, как она может выглядеть, и собрал для демонстрации простейшую реализацию на стеке из нескольких популярных технологий. В неё вошёл бэкенд, фронтенд, воркер для асинхронных задач и аж два хранилища данных — MongoDB как основная база и Redis как очередь задач. В «Делаем поиск в веб-приложении с нуля» я показал, как можно добавить полнотекстовый поиск, и подключил третье хранилище — Elasticsearch.

Всё это время для простоты разработки и отладки компоненты приложения запускались локально через Docker Compose. Но как развернуть такое приложение в настоящем продакшн-окружении? Как обеспечить горизонтальное масштабирование? Как раскатывать новые релизы без простоя? 

В этой статье мы разберёмся, как разворачивать многокомпонентное веб-приложение в кластере Kubernetes на примере его локальной реализации — minikube. Мы поднимем виртуальный кластер прямо на рабочем ноутбуке, разберёмся с основными сущностями Kubernetes, запустим и соединим между собой компоненты демо-приложения и обсудим, какие ещё возможности Kubernetes пригодятся нам в суровом энтерпрайзе. Если вы занимаетесь разработкой и слышали о Kubernetes, но ещё не имели возможности пощупать его руками — добро пожаловать под кат!

Скорее к YAML-инженерии
Total votes 38: ↑38 and ↓0+38
Comments10

Zabbix + мониторинг HTTP(API) сервиса, начинающим от начинающего

Level of difficultyEasy
Reading time5 min
Views19K

Если вы хотите подключить ваш Zabbix к северу с API, который вам даёт информацию по состоянию разных объектов мониторинга, но не знаете как это сделать, то эта статья даст вам понимание и конкретный пример этой реализации...

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

Автоматизация развертывания стенда Kubernetes

Level of difficultyEasy
Reading time22 min
Views8.2K

Автоматизация развертывания стенда Kubernetes

Что бывает когда стандартное и самое распространённое решение по изучению kubernetes по каким то причинам даёт осечку на твоей рабочей машине?

Ты начинаешь пилить свой велосипед конечно! Вот и я напилил. и он даже катается!)

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

Книга «Linux. Командная строка. Лучшие практики»

Reading time17 min
Views29K
image Привет, Хаброжители!

Перейдите на новый уровень работы в Linux! Если вы системный администратор, разработчик программного обеспечения, SRE-инженер или пользователь Linux, книга поможет вам работать быстрее, элегантнее и эффективнее. Вы научитесь создавать и запускать сложные команды, которые решают реальные бизнес-задачи, обрабатывать и извлекать информацию, а также автоматизировать ручную работу.

Узнайте, что происходит внутри командной оболочки Linux. Вне зависимости от используемых команд, вы повысите эффективность работы в Linux и станете более конкурентоспособным специалистом.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments17

А у вас есть кубернетес? Подборка текстов по k8s для тех, кто не DevOps

Reading time5 min
Views8.9K

В каноничном видео человек грустит, пытаясь ответить на вопрос, зачем ему Kubernetes. В этом тексте на него мы не ответим, зато поможем разобраться с базовыми концепциями, связанными с оркестратором. Будет полезно тем, кто не работает с кубиком напрямую, но кодит приложение под Docker/Kubernetes. И тем, кому нужно будет поддержать умную беседу на кофе-пойнте. Под катом разбираем понятия Cloud Native, микросервисов и готовых кластеров Kubernetes.
Читать дальше →
Total votes 33: ↑28 and ↓5+35
Comments0

Дорожная карта DevOps: от новичка до эксперта

Level of difficultyEasy
Reading time6 min
Views43K
image

Медианная зарплата DevOps-инженеров в России — 235 000 руб. Выглядит заманчиво, но порог входа в профессию высокий. Чтобы стать экспертом в области DevOps, нужно получить опыт работы с Linux и облачными платформами, выучить языки программирования, освоить инструменты автоматизации и виртуализации.

Для тех, кто хочет развиваться в сфере DevOps, дорожная карта станет полезным инструментом. Сегодня расскажем, где получать знания, в каких областях полезно разбираться DevOps-инженеру, какие навыки рекомендуют подтянуть эксперты.

Читать дальше →
Total votes 25: ↑19 and ↓6+21
Comments22

Поднимаем Kubernetes с нуля

Level of difficultyMedium
Reading time10 min
Views55K

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

Читать далее
Total votes 30: ↑27 and ↓3+30
Comments55

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон, часть 3

Reading time13 min
Views45K

В этой части мы перестаём говорить о простом и приятном и начинаем говорить о трудном. Переменные в Ansible: scope, precedence, рекурсивная интерполяция. Для тех, кто дочитает до конца, маленький бонус: упрощённая таблица приоритетов, с которой можно жить. Предыдущие части: 1, 2.


Обычно рассказ про переменные в Ансибл начинают с чего-то очень простенького, что создаёт у читателя иллюзию, что переменные в Ансибл — это как в любом другом языке программирования. Мутабельные или немутабельные, локальные и глобальные. Это не так.


Это не так.


У Ансибла возникла уникальная модель переменных (модель памяти?), которую надо учить с нуля. И рассматривать мы её начнём с того места, где значения используются (обычно переменные Ансибла рассматривают с того места, откуда они появляются). Почему? Потому что при рассказе в этом направлении у нас образуется направленный граф, который куда легче уложить в голову.


Обратите внимание — я сказал "значения", потому что "переменные" — это всего лишь имена к значениям. У переменных свой глубокий внутренний мир, и про него во второй части.

Читать дальше →
Total votes 17: ↑16 and ↓1+21
Comments78
1

Information

Rating
Does not participate
Location
Новый Уренгой, Ямало-Ненецкий АО, Россия
Date of birth
Registered
Activity