🚀 Snuffer: Как я превратил Android-смартфоны в распределенную сеть мониторинга (и спас свои нервы)
Меня зовут Виталий, я из команды ArcaneGaming. Сегодня я хочу рассказать вам о своем пет-проекте, который немного вышел из-под контроля и превратился в полноценный продукт. Встречайте - Snuffer !
😫 С чего всё началось? Знаете это чувство, когда вам пишет клиент (или, что еще хуже, мама):
"А почему сайт не открывается?" И ты такой: "Да ладно, у меня всё работает!" А потом оказывается, что сервер упал 3 часа назад, база данных ушла в дедлок, а ты в это время спокойно пил кофе и смотрел мемы.
Я перепробовал кучу сервисов: UptimeRobot, Pingdom, Better Uptime. Они крутые, спору нет. Но:
Дорого , если нужно много проверок.
Ограниченные локации . Иногда нужно проверить доступность именно из конкретной сети или региона.
Скучно . Где веселье в том, чтобы просто заплатить денег?
И тут я посмотрел на ящик своего стола. Там лежали они... Герои прошлых лет. Samsung Galaxy S7, какой-то старый Xiaomi с треснутым экраном и Pixel первого поколения. Они смотрели на меня своими пыльными камерами и шептали: "Мы еще можем быть полезны..."
И меня осенило! 💡
А что, если использовать эти устройства как узлы мониторинга? Ведь смартфон - это мощный компьютер с Wi-Fi и GSM модулем. Он может пинговать, делать HTTP-запросы, проверять порты. И если раздать такие телефоны друзьям в разных городах (или просто подключить к разным провайдерам), получится настоящая распределенная сеть мониторинга . Так родился Snuffer
📱 Что такое Snuffer? Если говорить умными словами, это распределенная система мониторинга доступности сервисов с использованием мобильных агентов .
Database : PostgreSQL + Prisma (потому что писать SQL руками в 2025 — это моветон, хотя я умею!).
Frontend : React + Tailwind CSS (чтобы было красиво и адаптивно).
Mobile : React Native / Expo (одна кодовая база, минимум боли).
Самое интересное - это архитектура . Сервер раздает "задачи" (tasks) подключенным устройствам через WebSocket. Устройства выполняют проверки и шлют отчеты обратно.
Если устройство говорит "Сайт лежит", сервер не верит ему на слово (вдруг у телефона просто Wi-Fi отвалился?). Он ждет подтверждения от других узлов или от самого сервера. Это минимизирует ложные срабатывания.
🌍 Почему это круто?
Вторая жизнь вещам . Ваши старые гаджеты не загрязняют природу, а приносят пользу. Экологично! 🌱
Полный контроль . Вы сами выбираете, откуда мониторить. Хотите проверить доступность из офиса конкурента? Просто подбросьте им телефон с Snuffer (шутка... или нет?).
Бесплатно (почти). Вы платите только за электричество для зарядки телефона.
Проект живет и развивается. Сейчас я выкатил версию v4.15.11 (да, мы часто обновляемся!). В планах:
iOS версия (Apple, пустите в AppStore, ну пожалуйста!).
Больше типов проверок (например, скриншоты сайтов).
Публичное API.
Если вам интересно попробовать или просто потыкать палочкой — залетайте: 👉 snuffer.net
Буду рад любому фидбеку, критике или просто комментариям.