Рубрика «self-hosted» - 2

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

Работает с моими Sony A7C II и a6300 и вообще с любой камерой, которая умеет отдавать фото по FTP, и почти со всеми старыми Sony, куда можно поставить свое приложение. Проект открытый: Читать полностью »

Сервер стоит дома или в филиале, провайдер время от времени меняет внешний адрес, а домен в зоне .ru обслуживает REG.RU, Selectel или Yandex Cloud. Популярные DDNS-клиенты эти DNS-хостинги почти не поддерживают, поэтому запись обновляют самописными скриптами на curl. Ломаются такие скрипты молча. Selectel в 2026 году отключил старый DNS API, и скрипты, которые в него ходили, перестали обновлять записи. Я разобрал API этих хостингов, собрал их подводные камни и написал на Go DDNS-демон dnspatch, который их учитывает.

Читать полностью »

У меня есть коллекция музыки: FLAC, японские альбомы, которых нет в стримингах обычно, редкие релизы с додзин‑фестивалей. Слушать её хотелось так же удобно, как Spotify: с телефона, с компьютера, с текстами, статистикой и итогами года. А получалось как в 2010-м: файлы копируются руками, плейлисты живут на одном устройстве, а тексты японских песен без чтений иероглифов бесполезны.

Читать полностью »

Рассказываю, что мы собрали, как это устроено и почему связка «чат + задачи» оказалась важнее, чем каждый продукт по отдельности.

С чего всё началось

Рабочая переписка в большинстве компаний живёт в личных мессенджерах. В Telegram висят «Отдел продаж», «Бухгалтерия», «Срочно!!!», а задачи из этих чатов теряются через два экрана прокрутки. Уходит сотрудник - и уносит в телефоне историю переписки и файлы.

Читать полностью »

Flowise — визуальный конструктор для LLM‑приложений: перетаскиваете на холст модель, векторное хранилище, инструменты и память, соединяете их линиями и получаете чат‑бота, RAG‑поиск по документам или агента. У проекта 55 тысяч звёзд на GitHub, 25 тысяч форков и почти 7 миллионов скачиваний Docker‑образа. Его разворачивают у себя компании, которым нельзя отправлять данные в облачные конструкторы.

Читать полностью »

Как‑то я захотел кошелёк Monero с нормальным веб‑интерфейсом, но без компромиссов по ключам: чтобы он работал на моей машине, ходил в мой узел и не притворялся кастодиальным сервисом. Писать криптографию самому — плохая идея, поэтому вся работа с ключами осталась за официальным monero-wallet-rpc, а на мне была «всего лишь» оболочка: бэкенд, интерфейс и куча инфраструктурной логики, которая внезапно оказалась самой интересной частью задачи.

В статье — восемь грабель, которые я собрал по дороге: от HTTP Digest, который зависит от TCP‑соединения, до JSON.stringifyЧитать полностью »

Я убеждён, что пароль в закреплённом сообщении Telegram или в общем экселе рано или поздно утечёт — дело не в везении, а в том, сколько людей его уже увидели и скопировали себе «на всякий случай». Полгода назад у нас в компании было ровно так: доступы к Bitrix, SSH‑ключи, лицензии на модули — россыпью по личным чатам, гуглдокам и голове того, кто это заводил. Уходит сотрудник — доступы за ним никто не забирает, потому что толком не знает, какие у него вообще были. Разбираться с этим я сел после того, как в очередной раз не смог сходу сказать, какой из трёх паролей к хостингу актуальный — это и стало последней каплей.

Читать полностью »

Жизнь после смерти или «Как я провёл лето» - 1

Друзья, мы знаем, что многие заждались подробностей о серии блокировокЧитать полностью »

AmneziaWG 3.0 зашифровал заголовки пакетов, 3.1 добавил случайные хвосты — и оба раза «просто обновить бинарники» оказалось недостаточно. Это конспект двух обновлений, прогнанных через собственную панель: кто в связке awg-quick / awg / amneziawg-go за что отвечает, какие параметры обязаны совпасть на сервере и клиенте побайтово, а какие каждая сторона ставит себе сама, почему S1—S4 больше не могут быть меньше 12 и в каком порядке мигрировать живой сервер, чтобы не отключить разом всех клиентов.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js