Обновить

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

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

Я устал настраивать ПК и написал свое приложение для Windows на Flutter

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели14K

Привет. Меня зовут Никита.

Наверняка многим знакома ситуация: кто‑то из друзей или родственников просит «почистить комп», «передалать PNG в JPG» или «раскидать свалку файлов в загрузках».

В какой‑то момент мне это надоело и я решил обернуть все свои рутинные скрипты в удобный графический интерфейс. Чтобы можно было просто скинуть человеку один.exe файл, и всё работало из коробки. Никаких установок питона, никаких консолей.

Так появился мое приложение SmartLauncher.

Читать далее

Новости

Суверенный интернет, ИИ-пузырь и облако на космической орбите. Интервью с Никитой Цаплиным, основателем RUVDS

Уровень сложностиПростой
Время на прочтение24 мин
Охват и читатели11K

Привет, Хабр! На правах пятницы предлагаем вам посмотреть/послушать или прочитать текстовую версию интервью Никитой Цаплиным (основатель RUVDS), которое он дал Константину Исаакяну на канале «НеПодчинённые» (авторский проект о карьере и смыслах). На своём канале Константин записывает подкасты с интересными людьми, которые, как и он когда‑то, прошли путь из корпораций в собственные проекты — или, наоборот, сделали внутри крупных компаний что‑то по‑настоящему живое.

Константин не совсем классический «айтишник» или «стартапер». 20 лет он проработал на ТОП‑позициях в международных корпорациях (Dell, Samsung), всегда искал в бизнесе свободу, выбор и внутреннюю точку опоры. Поэтому в каждом выпуске он задаёт не только профессиональные, но и человеческие вопросы.

Ему интересно не только «как они это сделали», но и почему. Какие смыслы в этом стояли, какие страхи приходилось преодолевать, и что помогало не потеряться на поворотах.

Читать далее

Как добавить переменные в контейнер Podman

Время на прочтение5 мин
Охват и читатели7.7K

Когда мы запускаем контейнер, в большинстве случаев предварительно нужно указать настройки: порт, пароль, режим работы, адрес базы и т. д. Зачастую такие параметры жестко прописывают в самом коде, но это плохой стиль и вообще идея так себе. В будущем вы можете «затроить» и все это слить в git-репозиторий. А как мы знаем, хранить чувствительные данные в там нельзя.

Удобнее и гибче использовать переменные окружения. Те самые, которые environment variables. С помощью переменных можно настраивать поведение контейнера, использовать разные конфигурации (dev/stage/prod), безопасно передавать чувствительные данные. Как видите, одни плюсы.

Работа с переменными в Podman строится практически так же, как в Docker. Есть некоторые нюансы, но о них расскажу чуть позже. Сейчас давайте потыкаем на практике и посмотрим, что же происходит.

Читать далее

Healthcheck инструментами Podman

Время на прочтение6 мин
Охват и читатели8.6K

Начиная работать с Podman, я задал себе вопрос — функционирует ли healthcheck в Podman так же, как в Docker? Да и нет. В этой статье разберем, зачем он вообще нужен, какие бывают типичные ошибки при запуске контейнера с healthcheck, выясним детали о systemd и Quadlet.

Читать далее

Использование Amnezia VPN и роутера Keenetic для построения туннеля во внутреннюю сеть

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели82K

Некоторое время назад, Роскомнадзор, в очередной раз, решил усложнить мне жизнь, а именно - стал блокировать и разрывать VPN-соединения по протоколу SSTP (Secure Socket Tunneling Protocol), при помощи которого я подключался к устройствам в своей домашней сети. Протокол SSTP относительно медленный, но к числу его преимуществ можно отнести то что он не требует наличия "белого" IP-адреса, т.к. он использует SSL / TLS канал и способен работать через Keenetic Cloud с использованием доменного имени, зарегистрированного в облачной службе KeenDNS.

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

В этой статье будет рассказано о том, как развернуть на выделенном виртуальном сервере (VPS / VDS) свой личный VPN-сервер, работающий по протоколу AmneziaWG, а затем сконфигурировать развернутый VPN-сервер и домашний роутер фирмы Keenetic таким образом, чтобы внешние клиенты, подключившись к VPN-серверу получали доступ к устройствам в домашней сети.

Иными словами - расскажу как сделать подключение к себе домой через VPN-сервер в другом городе или даже в другой стране.

Читать далее

За горизонтом «Белого списка»: Инженерный гид по связи в условиях жесткой фильтрации и шатдаунов

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели24K

Привет, Хабр! На связи команда SoftStore. В последнее время информационное поле бурлит: СМИ открыто заявляют о финальной блокировке Telegram уже в первых числах апреля 2026 года, WhatsApp давно находится под жесткими ограничениями и регулярно сбоит, а мобильные операторы вовсю обкатывают пресловутые «Белые списки» (White Lists). Панические настроения множатся каждый день, обрастая мифами и неработающими советами.

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

Реальность такова: механизмы белых списков появились не сегодня. Это планомерное развитие систем ТСПУ (Технические средства противодействия угрозам). На данный момент эти ограничения наиболее агрессивно применяются на сетях мобильного интернета. В моменты активации такого режима логика DPI (Deep Packet Inspection) меняется на противоположную: вместо того чтобы блокировать запрещенное (Black List), система начинает отбрасывать (drop) все пакеты, кроме тех, что идут к явно разрешенным ресурсам.

Анатомия мобильного White List: Трафик ходит только до инфраструктуры экосистем: Яндекс, VK, Сбер, личные кабинеты операторов связи, маркетплейсы (WB, Ozon) и ограниченный пул банков. Если вы попытаетесь отправить TCP-пакет на любой другой IP-адрес — он просто исчезнет. ТСПУ не будет ждать передачи 16 КБ данных для анализа сессии, пакет дропнется на этапе хендшейка.

Читать далее

Первый опыт с Warp: медленный, но сообразительный помощник, который заставит вас глупеть

Время на прочтение7 мин
Охват и читатели17K

Потыкал я на досуге один из ИИ-терминалов и делюсь этим опытом. Об установке писать не буду, там все банально и просто: тыкаете мышкой и готово. А вот дальше — все очень занимательно. Экспериментировать я буду на своих реальных задачах, поэтому часть функционала в статье не упомяну. У всех разные задачи и потребности, здесь нет серебряной пули. Поехали!

Читать далее

GitLab CI кажется сложным, если не знать этих трюков: как убрать дублирование и ускорить пайплайны в 3 раза

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели9.4K

У вас в GitLab несколько проектов с одинаковым CI? Или просто надоела копипаста в пайплайнах? Каждое изменение нужно отразить в 10 местах? Рассказываем, как сократить код на 56 %, убрать дублирование и сделать один CI для всей группы проектов. Шаблоны, матрицы и практика.

Избавиться от копипасты

Как выяснить актуальные IP Telegram и «завернуть их»

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели23K

В этой короткой статье я расскажу, как определить IP-адреса, которые использует Telegram. А что делать с этой информацией дальше - решайте сами.

Мне нужно было автоматизировать блокировку богоненавистного Telegram в своей сети. Сначала я пытался блокировать его по всем известным доменам: это давало лишь частичный эффект, а в последний месяц такой способ практически перестал работать. Публичные IP Telegram не помогли и я решил, что хватит это терпеть.

Читать далее

DNS в приватных сетях: мои сети — мои домены

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели12K

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

Но есть и другая сторона — когда доменные имена живут только внутри вашей приватной сети. Это и есть приватный DNS. Он не показывает адрес сервера для внешних запросов на резолв имени db.internal, да и вообще не отвечает на запросы извне.

Он нужен, чтобы не запоминать, на каком IP локальный GitLab или тестовый стенд, и не гадать: «так, .105 — это балансировщик или база данных?». Ну и чтобы не бегать по всем серверам, заменяя один IP-адрес на другой для той самой базы, переехавшей на более мощное железо руками, — это долго, и легко ошибиться.

В этой статье разберем, зачем вообще нужна своя система имен в закрытом контуре и как она устроена технически.

Читать далее

Что модемная эпоха дала современным протоколам и нашим привычкам

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели13K

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

Читать

Как в Авито построили систему мониторинга BGP

Уровень сложностиСложный
Время на прочтение20 мин
Охват и читатели11K

Всем привет! Меня зовут Антон Ильичев, я сетевой инженер в Авито. В этой статье расскажу, зачем мы централизованно собираем и анализируем маршрутную информацию с сетевых устройств, причём тут протокол BMP и как устроена наша система мониторинга. В конце вас будет ждать лаба на docker-compose, которую вы можете запустить у себя и посмотреть на систему в действии.

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

Читать далее

Настройка Telegram MTProxy на 443 порту параллельно с работающим nginx

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели30K

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

Вводные:

1) у вас есть крохотная виртуалка на которой крутится nginx и пара сайтов. Конечно https и скорее всего let's encrypt — короче стандартный набор рядового девелопера.

2) вы бы хотели поднять телеграм-прокси, но так чтобы трафик на него был максимально похож на обычный https, а это значит 443 порт — но вы хотите чтобы nginx и ваши сайты продолжили работать как и раньше.

Если это про вас и для вас — вот объяснение механизма и небольшой туториал.

Читать далее

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

История одного Ransomware или как я спасал бизнес

Время на прочтение12 мин
Охват и читатели20K

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

Все началось с утреннего звонка коллеги - не может подключиться к корп сети через VPN, не проходит соединение. Ок, открываю Cisco AnyConnect, пытаюсь соединиться иии, действительно. Выдает какую-то ошибку (уже не помню какую), но при этом IP пингуется и я могу подключиться к циске через ASDM. Странно, конечно. Штош, придется ехать в серверную и смотреть на месте. Неспешно собираюсь, а в это время начинают поступать все новые звонки и сообщения. Возникает нехорошее предчувствие. Доезжаю до серверной, жму кнопочку на KVM, вижу работающий TS. Логинюсь на него и на рабочем столе вижу файл Your_files_have_been_encrypted.html

Я. Понял. Сразу. Все.

Достаю телефон, звоню генеральному и спокойно говорю: «Нас взломали». Все, точка невозврата. Начинается приключение.

Читать далее

Основы системного администрирования Linux: от командной строки до веб-сервера

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели23K

Меня периодически спрашивают — как стать системным администратором? С чего начать изучать эти ваши линуксы?

Я честно несколько раз делал подходы, искал курсы и книги на русском языке, но всё было как-то не то.

А потом я подумал — это же про линукс. Здесь, когда какая-то утилита тебя не устраивает, ты пишешь yet another tool.

Поэтому я взял и написал книгу.

Это буквально для тех, кто делает (или собирается делать) самые первые шаги.
Начиная от "как пользоваться консолью", заканчивая базовым CI (Что? Да!).

Разумеется, она не сделает читателя системным администратором.
Но я скромно надеюсь, что она даст направление. Знаю по себе, что часто очень важно знать куда копать. Поэтому я расставил указатели как мог.

Книга в markdown, готовый pdf в релизе.
https://github.com/strannick-ru/linux-book/

Читать далее

Как отчисление одного студента может закрыть всю кафедру. Нормализуем БД и избавляемся от аномалий

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели14K

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

Естественно, можно спроектировать базу данных, вообще не заботясь ни о каких правилах. И она даже будет работать! Все будет прекрасно ровно до первого ее реального использования в продакшене. При проектировании «абы-как» возникают три типовые проблемы: избыточность, аномалии обновления, аномалии удаления.

И вот это уже плохо.

Читать далее

За что я полюбил FreeBSD

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели25K

Когда я впервые заглянул во FreeBSD Handbook в 2002 году, то не мог поверить своим глазам. За шесть лет работы с различными дистрибутивами Linux, о чём у меня уже была статья, я научился выискивать документацию по кусочкам — часто неполную или устаревшую, причём иногда спустя всего год. Здесь же операционная система сопровождалась полноценным, точным и достаточно свежим подробным руководством. В то время я уже был убеждённым сторонником Open Source, но рассуждал очень практично. Если разработчики этой ОС вкладывают так много усилий даже в её документацию, то представьте, насколько проработанной должна быть сама система. Короче, я решил её попробовать. Тогда у меня был Sony Vaio, где не было места для второй операционки. В итоге я скопировал все данные на настольный ПК, собрался с духом и принял решение установить на этот ноут FreeBSD, а по завершению эксперимента снова вернуть на него Linux.

Спойлер: FreeBSD осталась на том ноутбуке навсегда.

Читать далее

Белые списки на домашнем интернете — уже скоро и как подготовиться?

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели154K

Пошла волна новостей о том, что провайдеры получили прямую задачу внедрять систему «Белых списков» на wifi. Официальная версия — «безопасность» и доступность социально значимых ресурсов. Но все мы прекрасно все понимаем: это не столько про удобство, сколько про возможность 24/7 фильтровать вообще всё, что проходит через ваш домашний Wi-Fi.

Читать далее

Как я написал обход блокировки Telegram на Rust — без VPN, без серверов, через WebSocket

Время на прочтение6 мин
Охват и читатели180K

TL;DR: Написал open-source десктопное приложение TG Unblock на Rust, которое в один клик обходит блокировку Telegram через локальный WebSocket-прокси. Трафик заворачивается в обычный HTTPS к web.telegram.org — DPI не видит MTProto, провайдер не может шейпить. Без VPN, без серверов, без абонентки. Код на GitHub — by-sonic/tglock.

Предыстория: почему GoodbyeDPI не спасает

С весны 2026 года Telegram в России стал работать, мягко говоря, через боль. Сообщения доходят по 10 секунд, медиа не грузятся, звонки рвутся. Классическая картина: провайдер + DPI = страдания.

Первое, что приходит в голову — GoodbyeDPI. Запустил, пакеты фрагментируются, DPI не узнаёт MTProto... и вроде работает. Но:

Пинг 200+ мс — при норме 40–60

Постоянные переподключения — DPI переобучается и режет соединения

IP-шейпинг — провайдер троттлит весь трафик к подсетям Telegram (149.154.x.x, 91.108.x.x)

Соник, что ты сделал?

Почему VACUUM не спасает от раздувания индексов в PostgreSQL

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели11K

VACUUM в PostgreSQL принято считать универсальным средством поддержания порядка: он очищает мёртвые кортежи, обновляет статистику и вроде бы держит базу «в форме». Но с индексами всё сложнее. В какой-то момент они начинают расти и деградировать так, что это уже влияет на планы запросов и поведение оптимизатора — при том, что формально всё обслуживается корректно.

Разберёмся, где именно возникает это расхождение между ожиданиями и реальностью и что на самом деле происходит внутри B-дерева.

Разобраться глубже
1
23 ...