Pull to refresh
3
afi@afi

User

Send message

Дорожная карта домашнего мини-ПК в 2026: что развернуть, в каком порядке, и зачем — план апгрейда от инфраструктурщика

Level of difficultyMedium
Reading time20 min
Reach and readers22K

Каждый месяц с карты списываются деньги за подписки. Spotify, Яндекс Плюс, Notion, Obsidian Sync, Google One — суммы небольшие по отдельности, в сумме набегает заметно. Параллельно с этим у меня работает VPS с несколькими проектами, на роутере крутится OpenWrt с AdGuard Home, в ноутбуке стоит Docker. Инфраструктурный опыт есть. Дома при этом — никакого сервера, всё в облаке.

Это начинает раздражать не только из-за денег. Сервисы меняют каталоги без предупреждения, поднимают цены, требуют доплат за объём, периодически ломают регионы. Контроль над собственными фотографиями, заметками и медиатекой постепенно перестал быть моим.

Решил спланировать переезд на свой мини-ПК. Пока разбирался с железом и стеком, обнаружил, что нормальной системной дорожной карты «бери и иди» в 2026 году нет. Есть каталоги «50 self-hosted сервисов», восторженные посты про конкретные приложения, треды на Reddit. Структурированного маршрута для нового человека — нет.

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

Читать далее

Claude Code — полный гайд и обучение для новичков с нуля

Level of difficultyEasy
Reading time40 min
Reach and readers86K

В этой статье ты получишь полный гайд по Claude Code.. В одной этой статье вся информация, которая тебе нужна.

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

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

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

Читать далее

Когда пет-проект выходит из-под контроля: пишем свой tun2socks и закрываем дыры в Android VPN

Level of difficultyEasy
Reading time4 min
Reach and readers26K

Всё началось чисто по приколу. Недавно в сети поднялась шумиха вокруг уязвимости VLESS-клиентов: оказалось, что даже при использовании сплит-туннелирования (когда VPN включен только для избранных приложений), любое «шпионское» приложение на телефоне может узнать IP-адрес вашего VPN-сервера.

Уязвимость была тривиальной — ядро клиента открывает локальный SOCKS-прокси, который никак не защищен. Любая софтина на устройстве может постучаться в этот локальный порт и отправить пакет наружу. Ради академического интереса я написал Android-приложение TeapodStream, под капотом которого связал xray-core и tun2socks. Локальный прокси я посадил на случайный порт и закрыл динамическим паролем (подробнее об этом писал в прошлой статье).

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

Но... я сам не заметил, как меня затянуло.

Читать далее

Работаем с Claude Code на десктопе из России

Level of difficultyMedium
Reading time12 min
Reach and readers40K

Недавно я, не выдержав микроскопических лимитов Cursor (в остальном прекрасный инструмент!) по доступу к передовым моделям Anthropic, захотел получить их по плоским тарифам от фирмы-разработчика. Это такие тарифы с помесячной/годовой оплатой, а не с оплатой за каждый запрос к API.

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

В итоге я всё настроил: Claude работает как родной, и в этой статье — мой опыт, а также тесты разных VPS-локаций.

Я опишу настройку под Linux-десктоп, но в конце в качестве бонуса будет настройка и под Windows.

Читать далее

Мой VPN пережил белые списки. Архитектура из 4 уровней за 265₽ в месяц

Level of difficultyEasy
Reading time6 min
Reach and readers191K

Сделал себе VPN, который:

— работает через VLESS Reality, неотличимый от обычного HTTPS

— пробивает белые списки мобильных операторов через relay на Yandex Cloud

— имеет готовый код для аварийного канала через WebRTC и Яндекс.Телемост (пока не понадобился) — автоматически переключается между 4 уровнями защиты

— пропускает российские сайты (Яндекс, Госуслуги, банки) напрямую, без VPN

Весь код, конфиги, скрипты деплоя — всё написал Claude Code. Я только описал проблему и дал ему почитать несколько статей с Хабра про блокировки. Ну и бил его кнутом, пока всё не заработает.

Расскажу, как это устроено и как повторить.

Читать далее

Как я поднял AmneziaWG 2.0 на роутере ASUS: DPI, GeoIP и веб-интерфейс

Level of difficultyMedium
Reading time6 min
Reach and readers28K

Когда VPN на телефоне уже не спасает, а DPI провайдера научился резать WireGuard за секунды, приходит время переносить обфускацию на роутер. В этой статье расскажу, как я сделал полноценный аддон для Asuswrt-Merlin с веб-интерфейсом, выборочной маршрутизацией и поддержкой AmneziaWG 2.0. И почему пришлось отказаться от kernel module.

Проблема:

У меня ASUS GT-AX11000 с прошивкой Asuswrt-Merlin. Обычный WireGuard на роутере через встроенный клиент Merlin работает, но провайдер его видит и режет. AmneziaWG решает эту проблему за счёт обфускации, DPI не может отличить трафик от обычного UDP.

На телефоне и ПК есть клиент Amnezia VPN, и там всё работает. Но есть нюанс...

Читать далее

Практический расчет и изготовление преобразователя типа Joule Thief

Reading time8 min
Reach and readers29K

Практический расчет и изготовление повышающего преобразователя Joule Thief для питания светодиода от разряженной батарейки

В данной статье показано, как самостоятельно рассчитать и изготовить простой преобразователь Joule Thief, способный питать светодиод от одной батарейки AA или AAA.

Основное назначение устройства — экономичная навигационная подсветка в тёмном помещении, где требуется минимальный ток потребления и длительная работа от батарейки. 

Главная особенность этой схемы — возможность работы при очень низком напряжении питания. В некоторых случаях устройство продолжает работать даже тогда, когда напряжение батарейки падает до 0,3–0,6 В. 

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

Читать далее

ApiKit — чистый REST API в Symfony без шаблонного кода

Level of difficultyMedium
Reading time12 min
Reach and readers6.7K

REST API на Symfony писать удобно, но есть одна скучная особенность: контроллеры быстро начинают обрастать повторяющимся кодом. Парсинг запроса, валидация, однотипная JSON‑обёртка, try/catch с преобразованием исключений в HTTP‑ответы. Всё это несложно, но со временем размазывается по десяткам эндпоинтов и отвлекает от основной задачи.

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

Читать далее

UseCase или как описывать бизнес-процессы в коде

Level of difficultyMedium
Reading time7 min
Reach and readers11K

UseCase - как организовать своё приложение с точки зрения бизнес-процессов, чтобы не погрязнуть в хаосе сервисов, контроллеров и разрозненной логики.

Узнать как это

TOTP без смартфона

Level of difficultyEasy
Reading time5 min
Reach and readers37K

Когда я решил избавиться от необходимости постоянно носить с собой смартфон, одной из проблем оказалась двухфакторная аутентификация (2FA, приложение Google Authenticator). Остаться без возможности авторизации на множестве сервисов было неприемлемо, нужна была альтернатива.

Беглый поиск вывел меня на утилиту oathtool: командная строка, POSIX, OSS — всё, как я люблю, проблема в принципе решена. Но, как и большинство CLI утилит, её удобно использовать в сочетании с другими утилитами, а для этого полезно написать скриптовую обвязку. Собственно этой обвязкой, а также опытом использования, я и решил поделиться.

Читать далее

3000+ часов в Claude Code: как я сконцентрировал весь опыт в трёх плагинах

Level of difficultyHard
Reading time10 min
Reach and readers54K

Я работаю в Claude Code каждый день. Не «попробовал пару раз и написал статью» — а реально каждый день, минимум 8 часов, иногда значительно больше. Больше года. Если грубо посчитать — это 3000+ часов в терминале. За это время я успел построить собственную систему оркестрации из 39 агентов, опубликовать её как open-source, набрать звёзды на GitHub — и эволюционировать дальше.

Сейчас весь мой опыт сконцентрирован в трёх плагинах.

Полгода назад я написал на Хабре про Claude Code Orchestrator Kit — 39 агентов, 38 скиллов, 25 слеш-команд. Серьёзная система, реально работавшая. И я ей горжусь — это был важный этап.

Но когда сидишь в инструменте по 8 часов в день — быстро видишь, что можно сделать лучше. Экосистема Claude Code развивается быстрее, чем один человек способен обновлять свой кит. Каждые две-три недели Anthropic что-то меняет — новые API для плагинов, новые возможности агентов, новые паттерны. И каждый раз нужно лезть в 39 файлов агентов, проверять, не сломалось ли что-то, не устарел ли паттерн.

В какой-то момент я понял: пора эволюционировать. При моём объёме работы с Claude Code часы в неделю уходили не на продукт, а на починку инфраструктуры. Значит, нужен другой подход.

Читать далее

JavaScript: заметка о свойствах source ToggleEvent и closedBy HTMLDialogElement

Level of difficultyEasy
Reading time6 min
Reach and readers7K

Привет, друзья!

В этой небольшой статье я расскажу вам о новом свойстве события toggle - source, а также о новом атрибуте HTML-элемента dialog - closedby.

Свойство source позволяет определять источник переключения видимости поповера (popover), а атрибут closedby позволяет декларативно управлять логикой закрытия dialog, но обо всем по порядку.

Читать далее

10 веб-API, заменяющих многие библиотеки JavaScript

Level of difficultyEasy
Reading time18 min
Reach and readers15K

Современные браузеры тихо съедают экосистему JavaScript живьем.

За последние несколько лет основные браузеры выпустили нативные веб-API, которые заменяют удивительно большое количество утилит, которые мы до сих пор устанавливаем по привычке. Тем не менее, многие разработчики продолжают использовать уже ненужные, но привычные библиотеки. Если зависимость всегда работала, она остается в стеке, даже если браузер уже умеет выполнять ту же работу.

Такой подход обходится дороже, чем кажется. Каждый дополнительный пакет увеличивает вес сборки, затраты на обслуживание, частоту обновления версий и риск отказа от проекта в долгосрочной перспективе. Нативные API-интерфейсы стоят пользователям 0 КБ данных, работают глубоко в движке (часто вне основного потока (main thread)) и используют оптимизации, недоступные библиотекам.

Читать далее

Способы обхода замедления Telegram

Level of difficultyEasy
Reading time9 min
Reach and readers514K

В последнее время Роскомнадзор начал активно замедлять работу Telegram на территории РФ. Замедление в большинстве случаев реализовано с помощью технологии DPI. Поэтому пользователи всё чаще ищут способы, которые позволяют добиться более стабильной работы Telegram. В этой статье я покажу несколько таких способов, которые помогают «ускорить» и повысить стабильность работы Telegram в условиях сетевых ограничений.

Читать далее

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

Level of difficultyEasy
Reading time3 min
Reach and readers31K

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

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

Читать далее

Почему я чуть не запорол свою карьеру тимлида. 4 совета начинающим

Level of difficultyEasy
Reading time6 min
Reach and readers79K

Я работаю тимлидом уже несколько лет и с уверенностью могу сказать, что это направление развития мне очень нравится. А помню, я чуть не запорол свою карьеру тимлида в самом начале, на переходном этапе разработчик - тимлид. Я тогда работал разработчиком в большой компании и, в общем, работа мне нравилась. У нашей команды был номинальный тимлид - хороший, душевный человек, которому очень нравилось ковыряться в своих железках, а в жизни команды его участие ограничивалось только вопросами на дейлике “как дела?”. В общем, проблемы в команде копились, и никто ими не занимался, и меня это беспокоило. В итоге мне предложили попробовать себя тимлидом. Я эту историю рассказываю к тому, что я начинал свой путь с огромном воодушевлением, но уже через 3-4 месяца я почти выгорел и хотел вернуться в разработку или вообще уволиться. Поразмыслив тогда, я решил, что не могу так бесславно уйти и должен попытаться разобраться в ситуации и найти другое решение. Я сформулировал 4 основные причины такого быстрого выгорания, которое случилось со мной на этом переходном этапе. Мне удалось найти решение этих возникших трудностей и продолжить работу.

Итак, четыре проблемы начинающего тимлида.

Читать далее

От технаря к техлиду: битва с самозванцем

Level of difficultyEasy
Reading time13 min
Reach and readers12K

Привет, Хабровчане! Меня зовут Виктор Чижеков, я техлид команды разработки внутренних продуктов CDEK. В этой статье хочу поделиться своим опытом, как я стал техлидом, но продолжал быть разработчиком. Как переосмыслил свою роль и обязанности, как изменилось видение команды и как я начал на неё влиять. 

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

Поехали

Как я перестал бояться Claude Code и научил его не ломать мои проекты

Level of difficultyMedium
Reading time8 min
Reach and readers21K

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

Я Python-бэкенд разработчик, веду свою компанию CREATMAN и кожу в основном один. У меня нет роскоши держать QA-инженера, который будет ловить регрессии после каждого промпта. Мне нужно, чтобы AI-агент помогал быстрее шипить, а не создавал новые проблемы.

После нескольких недель исследования — чтения доков, обсуждений на Reddit, разбора чужих сетапов — я собрал конфигурацию, которая реально работает. Собрал всё в открытый репозиторий с готовыми файлами: claude-code-antiregression-setup. В этой статье — что именно и почему.

Читать далее

Как я сделал шифрование поверх MAX, когда приватность стала роскошью

Level of difficultyMedium
Reading time6 min
Reach and readers62K

Как я без Mac, с помощью Claude AI и GitHub Actions, создал кроссплатформенное приложение для шифрования сообщений поверх любого мессенджера. Android на Kotlin, iOS на Swift без MacBook, десктоп на Python. AES-256, три платформы, два отказа от Apple и один баг с буквой «а».

Читать далее

Локальная LLM для кодинга за 12 минут: LM Studio, Kilo Code и четыре бесплатных облачных варианта

Level of difficultyEasy
Reading time4 min
Reach and readers50K

Показываю, как запустить локальную LLM и подключить её к IDE за 15 минут, а также четыре бесплатных облачных альтернативы.

Локальный вариант: LM Studio + Qwen3-Coder + Kilo Code. Работает офлайн, без подписки и лимитов на запросы.

Облачные варианты: Kilo Code со своими бесплатными моделями, Qwen Code с 1 000 запросов в день, OpenCode с ротируемыми open source free моделями и OpenAI Codex — пока бесплатный для Free-аккаунтов.

Читать далее
1
23 ...

Information

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