RU

Klark, часть 2: новый интерфейс, исправление существующих ошибок и аудит собственных прав

Неделю назад я рассказывал про Klark + Klara : корпоративный мессенджер и таск‑менеджер, которые живут на нашем сервере. В той статье было про устро…

корпоративный мессенджерself-hostedKlarkинтерфейсliquid glassReactElectronCapacitorэмодзиредизайн
Habr
RU

DDNS для российских DNS-хостингов: почему не подошли готовые клиенты и что я написал взамен

Я проверил популярные DDNS-клиенты и почти не нашёл в них поддержки российских DNS-хостингов. Поэтому запись для домашнего сервера обычно обновляют…

ddnsdynamic dnsdnsgolangself-hostedдомашний серверreg.ruselectelbegetyandex cloud
Habr
RU

Я написал свой музыкальный плеер со своим стримингом: Android, Windows, Linux и сервер на Rust

У меня есть коллекция музыки, которой нет ни в одном стриминге: FLAC, японские альбомы, редкие релизы. Слушать её хотелось так же удо…

музыкальный плеерflachi-res audioself-hostedrustkotlinjetpack composetauriстриминг музыки
Habr
RU

Klark + Klara: корпоративный мессенджер и таск‑менеджер, которые живут на нашем сервере

Свой корпоративный мессенджер на FastAPI и React: зачем он нам понадобился, что в нём есть и что ломалось по дороге. Читать…

корпоративный мессенджерself-hostedFastAPIPostgreSQLReactCapacitorElectronLiveKitинформационная безопасностьтаск-менеджер
Habr
RU

YApi заброшен с 2022 года. Я продолжил его и нашёл токены, которые может подделать любой участник проекта

YApi — платформа документации API, мок-сервера и тестов с 27 тысячами звёзд — не обновлялась с 2022 года. На новом Node.js у неё ломаются токены, кл…

yapiapimock-серверnode.jsmongodbisolated-vmmanifest v3безопасностьself-hostedopen source
Habr
RU

Веб‑кошелёк Monero на официальном monero‑wallet‑rpc: digest‑авторизация, двухфазная отправка и BigInt вместо float

Как‑то я захотел кошелёк Monero с нормальным веб‑интерфейсом, но без компромиссов по ключам: чтобы он работал на моей машин…

moneroxmrmonero-wallet-rpcnode.jstypescriptjson-rpcself-hostedбезопасностьbigintкриптокошелёк
Habr
RU

Хорош хардкодить кривые MCP: превращаем любой скрипт в инструмент LLM за 2 секунды

Давайте будем честны: текущее состояние вызова функций (Function Calling) у LLM и экосистемы MCP (Model Context Protocol) вызывает изжогу. Чтобы дат…

LLMAI агентыMCPModel Context Protocolfunction callingtool callingBunself-hostedFastifydevops automation
Habr
RU

AmneziaWG: от 2.0 к 3.1, и что творится у вас под капотом

AmneziaWG 3.0 зашифровал заголовки пакетов, 3.1 добавил случайные хвосты — и оба раза «просто обновить бинарники» оказалось недостато…

информационная безопасностьopen sourceсетевые технологииvpnwireguardamneziavpnamneziaAmneziaWGself-hosted
Habr
RU

Своя собственная Hysteria 2 ее развертка в терминальном режиме

В сети есть множество гайдов об установке и настройке прокси-протокола Hysteria 2 с панелями и без. В данном пошаговом гайде мы пройдем путь от А до…

hysteria2quicvpsнастройка linuxнастройка сервераlinuxdebself-hostedproxy
Habr
RU

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

Сайт не сломан. Он открывается. В логах чисто, ошибок нет — просто ты кликаешь по вкладке и успеваешь заметить, что кликнул. Я померил: страница каб…

оптимизацияпроизводительностьпрофилированиеfastapisqlitetailwind cssкэшированиеотладкапет-проектself-hosted
Habr
RU

8 open-source AI-проектов, которые могут заменить часть платного софта

Локальный аналог NotebookLM, фильтр от AI-slop, маршрутизатор для сотен LLM-провайдеров, агент для поиска работы, автоматический пентестер и ComfyUI…

open sourceискусственный интеллектИИself-hostedлокальные нейросетиAI-инструментыLLMAI-агентыClaude CodeGitHub
Habr
RU

Когда конфигов стало слишком много. Как я впервые в жизни собрал панель для Xray и AmneziaWG

Мне никогда не нравились тарифы и массовые VPN‑сервисы. Они периодически отваливаются, известные IP быстро получают плохую репутацию, а&nb…

VPNVPSself-hostedXrayVLESSREALITYXHTTPAmneziaWGopen sourcedocker
Habr
RU

Деплой-платформа для MCP-серверов и сайтов, встроенная в каталог

Недавно я писал на Хабре, как собрал каталог MCP-серверов: 80 тысяч записей из девяти источников в одном индексе. В комментариях и в личке быстро вс…

MCPModel Context ProtocolдеплойавтодеплойDockernginxNext.jssupergatewayPaaSself-hosted
Habr
RU

Как мы добавили Global Orchestration в IncidentRelay: маршрутизация алертов до создания инцидента

Когда система мониторинга отправляет алерт, он редко выглядит так, как хотелось бы дежурному инженеру. Один источник пишет critical , другой — disas…

incident managementalert routingon-callSREDevOpsopen sourceself-hostedIncidentRelay
Habr
RU

Уведомления на Android без Google: почему UnifiedPush через публичный ntfy у вас не работает

Как вы помните мы делаем мессенджер. Google-сервисы в нашем основном регионе недоступны, значит FCM отпадает, что мы с этим сделали? Стандартный отв…

UnifiedPushntfypush-уведомленияAndroid без GoogleFCMWebPushforeground serviceKotlinself-hostedобход блокировок
Habr
RU

«Приватное» оказалось не приватным: разбираю свежий Gitea auth-bypass на живом стенде

Self-hosted git ставят ради приватности кода. А оказалось, что “приватное” в Gitea открывается одним HTTP-заголовком: без пароля утекают секреты из…

giteaCVE-2026-20896dockerreverse proxyauth bypassself-hostedforgejoбезопасность данных
Habr
RU

Как я три года пилю свой музыкальный сервер: часть вторая. Архитектура Kalinka и её место среди музыкальных систем

Как устроен KalinkaPlayer: модульный бэкенд, нативный аудиоплеер, пайплайн метаданных и мобильное управление в одном проекте. Изучить архитектуру

LinuxRaspberry PiPythonC++FastAPIALSAopen sourceself-hostedзвук и музыкааудио
Habr
RU

Установщик на Go Wails: Полный гайд. Своя self-hosted двухсерверная VPN-архитектура: ЧАСТЬ 3

Повествование будет идти таким образом: описание архитектуры в целом, потом код по страницам с картинками как это все выглядит. В отличие от чернови…

htmlcssgojavascriptwailsавтоматизациясистемное администрированиеприложениеself-hostedустановка
Habr
RU

Свой видеохостинг на P2P и Fediverse: PeerTube

Всем привет! Сегодня я хочу вам рассказать о Peertube — некоммерческой децентрализованной видеоплатформе с открытым исходным кодом. В нем есть возмо…

деплойfediversepeertubeдецентрализованные сетидецентрализацияхостингself-hostedlinux
Habr
RU

cfzt: как я обернул Zero Trust Cloudflare Tunnel в одну команду и зачем туда пришлось добавить вотчдог для QUIC

В домашней инфраструктуре у меня крутится десяток сервисов: Grafana, Zabbix, n8n, Navidrome, ollama, БД, пара дашбордов и тестовых API. Ка…

golangnetworktunnelcloudflareсетиclidevtoolszerotrustself-hosted
Habr
RU

Зачем я сделал LAN-синхронизацию между своими же устройствами в self-hosted мессенджере (и почему не через сервер)

ONYX — мой pet-project: self-hosted, анонимный, E2E-шифрованный мессенджер. Клиент — Flutter, есть под Windows/Linux/macOS/Android, аккаунт без теле…

self-hostedмессенджерe2e шифрованиеp2p синхронизациякриптографияприватностьopen source
Habr
RU

MiniMin: как я написал свой велосипед для управления Minecraft-серверами и клиентскими сборками

Частенько ли у вас возникает желание пойти в одну очень популярную песочницу ? Я думаю раз в пол года - год у многих возникает такое желание. И такж…

wailsgovuejsminecraft servermodsself-hosteddiy
Habr
RU

Как мы перевезли свой интернет-магазин с InSales на собственный движок на Next.js

IWANT - наш собственный fashion-магазин. Несколько лет он жил на InSales: на старте это правильный выбор: быстро, без разработки, всё из коробки. Но…

Next.jsInSalesмиграция интернет-магазинаe-commerceETLTypeScriptPostgreSQLSEO миграцияself-hosted152-ФЗ
Habr
RU

Я не хотел, чтобы WeTransfer читал мои файлы, и написал хранилище, которое не доверяет само себе

Каждый раз, когда нужно передать кому-то файл или пароль, выбор бесит: WeTransfer и аналоги видят всё, почта и телеграм хранят файл в плейнтексте ве…

end-to-end encryptionшифрованиеself-hostedzero-knowledgeAES-256-GCMRustNext.jsобмен файлами
Habr