Pull to refresh
4
afi@afi

User

Send message

B4 — сетевой мультитул по обходу блокировок

Level of difficultyMedium
Reading time13 min
Reach and readers67K

С момента написания первой статьи о B4 прошло полгода. Казалось бы, не очень много времени, но софтина получила ну очень большое количество фич, о которых хочется рассказать подробно. Не буду скрывать: хабраэффект сделал своё дело, и благодаря большому интересу после первой статьи очень многие не разочаровались в отсутствии какого-то функционала, а активно помогали - коммуникацией, запросами, тестированием, - благодаря чему все эти фичи в B4 и появились.

В итоге на сегодняшний день B4 - это не инструмент для обхода блокировок (коим и задумывался изначально), а полноценный сетевой мультитул с гибкой и продвинутой маршрутизацией таргетированного трафика.

Читать далее

Я больше не объясняю нейросети контекст. Вот что я сделал вместо этого…

Level of difficultyEasy
Reading time12 min
Reach and readers25K

Я попробовал собрать LLM Wiki: workflow, где нейросеть не просто отвечает на вопросы по документам, а постепенно поддерживает базу знаний. Взял Obsidian, Codex и несколько статей с Хабра, сделал ingest, query и lint, а затем посмотрел, чем такой подход отличается от обычного RAG. В статье показываю структуру vault, примеры wiki-слоя, стоимость ingest на Yandex Foundation Models и риски, которые быстро всплывают на практике.

Читать далее

Пишем gRPC сервис на Go — сервис авторизации

Level of difficultyMedium
Reading time63 min
Reach and readers178K

Пишем gRPC сервис на Go — сервис авторизации


В этой статье мы научимся писать полноценный gRPC сервис на Go на примере сервера авторизации с полноценной архитектурой, готовой к продакшену. Мы напишем как серверную часть, так и клиентскую. В качестве клиента мы возьмём мой сервис — URL Shortener, о котором у меня также есть статья и видео-гайд на ютубе. Попутно мы познакомимся с базовыми подходами к работе с авторизацией. И в конце настроим автоматический деплой сервиса с помощью GitHub Actions на удалённый сервер.


Видео-версия этого гайда с более подробными объяснениями

Исходный код проекта: https://github.com/GolangLessons/sso


Итого, наш план:


  • Напишем простой, но полноценный gRPC-сервис
  • Разберемся с базовыми принципами работы авторизации — чтобы не было скучно
  • Настроим автоматический деплой в прод — потому что руками деплоить лень
  • Подружим его с уже готовым сервисом URL Shortener — чтобы был практический смысл
  • Напишем полноценные функциональные тесты

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


Кратко обо мне: меня зовут Николай Тузов, я много лет занимаюсь разработкой на Go, очень люблю этот язык. Также веду свой YouTube-канал.

Читать дальше →

Как починить блокировку легальных сайтов РКН ТСПУ одной строчкой в Chrome

Level of difficultyEasy
Reading time2 min
Reach and readers90K

Мне очень хотелось разобраться в этой ситуации с блокировками..
Не мог с Chrome зайти на beget.com - там CDN блокировался. Тыкался тыкался..

Вставляете в строку браузера chrome://flags/

Ищите Cryptography Compliance (CNSA) (#cryptography-compliance-cnsa)

Читать далее

Основы информатики для всех

Level of difficultyEasy
Reading time3 min
Reach and readers29K

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

Читать далее

Оживляем дешевый Smart TV: обход вырезанного ADB, деблоат Яндекс.ТВ и сборка легкого медиацентра

Reading time6 min
Reach and readers42K

Купил я тут по дешевке 43-дюймовый телевизор Hartens (модель HTY-43FHD06B‑HK22, панель BOE HV430FHB‑F91) под проект умного гостевого дома. Железо внутри скромное: чипсет MediaTek MT5867, 32-битная архитектура (armeabi‑v7a), 1.5 ГБ оперативной памяти и вишенка на торте — фирменная оболочка Яндекс.ТВ на базе AOSP Android 11.

Из коробки это чудо техники работает «не очень». Интерфейс задумчивый, повсюду рекомендации, Алиса, Кинопоиск, Яндекс.Музыка и куча другого софта, который постоянно висит в памяти и кушает и без того дефицитные ресурсы.

План по исправлению созрел быстро, но на первом же шаге я уперся в стену: производитель полностью вырезал пункт «Отладка по USB» (USB Debugging) из меню разработчика. USB‑порты у телевизора работают только в режиме хоста (подключить ПК напрямую кабелем нельзя), а сетевой ADB по умолчанию закрыт.

Ниже я расскажу, как удалось обойти это ограничение, залезть «под капот» телевизора и превратить тормозящий яндекс‑комбайн в чистый и шустрый Android TV.

Читать далее

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

Level of difficultyMedium
Reading time20 min
Reach and readers26K

Каждый месяц с карты списываются деньги за подписки. 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 readers179K

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

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time4 min
Reach and readers28K

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

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

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

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

Читать далее

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

Level of difficultyMedium
Reading time12 min
Reach and readers66K

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

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time6 min
Reach and readers209K

Сделал себе 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 readers33K

Когда 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.8K

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 readers38K

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

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

Читать далее

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

Level of difficultyHard
Reading time10 min
Reach and readers61K

Я работаю в 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 readers7.1K

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

В этой небольшой статье я расскажу вам о новом свойстве события 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 readers519K

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

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

Information

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