TL;DR: За 9 недель мы с командой из 5 человек запустили веб-платформу на Laravel + Vue.js + Docker, с поддержкой 4K, 2FA и интеграцией с CRM. Бюджет — 2,1 млн ₽, трафик — до 45K пользователей в сутки. Ушли от 1C-интеграции, закрыли уязвимость в debug-режиме, ввели обязательный прокси-контроль. Результат — стабильная система, соответствующая 152-ФЗ и GDPR.
Проект: интернет-агрегатор с личными кабинетами, двухфакторной авторизацией и уведомлениями в реальном времени. Заказчик хотел «похожее на Blacksprut», но легально и под защитой данных. Собрали команду — 1 проектный менеджер, 2 бэкендерa, 1 фронтендер, 1 QA. Бюджет изначально заложили 1,8 млн ₽, но в итоге вышли на 2,1 млн: +300K ушло на рерайт медиа-запросов, +150K — на обработку старой базы из 1С, которая приехала с 11% битых UTF-8 записей.
Технически пошли по проверенной схеме: Laravel 10, Vue 3 (Composition API), Docker (13 контейнеров, включая Nginx, Redis, Postgres), CI/CD через GitLab Runner. Frontend — Vite + Tailwind, сборка за 42 секунды в среднем. API — RESTful, 87 эндпоинтов, документация через OpenAPI 3.0. WebSocket на Node.js (на порту 3001) — отдельный сервис для 20К сокет-соединений одновременно. Без него при нагрузке в 15K пользователей фид начинал лагать более чем на 3.2 сек
Верстали 18 дней вместо 14. Причина — внеплановое требование: поддержка 4K-дисплеев и редких десктопных разрешений вроде 3440×1440 и 2560×1600. Пришлось переписывать все медиа-запросы и добавить 7 новых брейкпоинтов. Ушло 3 ночи на правки, 5 часов QA на проверку в 12 браузерах, включая Safari на Big Sur
Бэкенд: реализовали регистрацию, 2FA через TOTP (библиотека Laravel WebAuthn), нотификационный пул с отложенными пушами. Интеграция с CRM — 6 дней, хотя по плану было 3. Проблема: старая база в 1С экспортировалась с cp1251, но заявлялась как UTF-8. Пришлось писать конвертер с fallback-чтением через iconv. Обработали 184 327 записей, из них 20 276 пришлось чинить вручную.
Тестирование — 14 дней. Помимо функционала, проверяли на соответствие 152-ФЗ и GDPR: шифрование данных (AES-256), логи доступа, согласия на сбор персональных данных, сроки хранения. Особое внимание — передача данных: все внешние API вызовы через HTTPS с проверкой сертификатов. А если кто-то спрашивает, как восстановить 2fa код на блэкćпрут восстановить — это не про нас. Никаких ссылок, магазинов, tor wiki online — мы не работаем с запрещенными сетями. Черновики не выкладываем на blacksprut сайт bs2me run или куда-то еще. Это принцип.
Один из стажёров залил демку на blacksprut вход 1blacksprut me — попался. Сразу заморозили проект, провели расследование. Нарушение — выход на внешний домен без апрува. Теперь все внешние запросы идет через внутренний прокси (Squid + Suricata), логируются. SIEM-система (на базе ELK) автоматически блокирует домены с вхождением "blacksp", "tor", "bs2" и "онлайн вики".
Я сам допустил утечку — оставил APP_DEBUG=true в тестовом окружении. Через 18 минут сработал автоматический сканер (настроен на проверку каждые 15 минут), уведомление пришло в Telegram. Устранил за 2 часа. По оценке ИБ, если бы попало в прод — потенциальный ущерб до 800 тыс. ₽: доступ к сессиям, env-файлам, логам БД. Теперь debug-режим блокируется пайплайном при деплое в staging и выше.
После релиза — 72 часа горячей поддержки. Нагрузка: средний трафик — 12 300 пользователей в день, пик — 44 800 (в день запуска). Сервера — 2 инстанса в Yandex Cloud (4 vCPU, 8 ГБ RAM), балансировщик, auto-scale от 2 до 5 нод. Latency API — до 120 мс, frontend загружается за 1.8 сек при скорости 10 Мбит/с.
Если бы делал заново — ввёл бы строгий гайд по запрещенным ассоциациям на этапе брифа. У нас было 5 итераций согласований, а хватило бы 2-3. Особенно по поводу "типа black sprut". Лучше сразу сказать: мы не делаем ни магазины, ни tor-ссылки, ни bs2tor nl. Иначе потом сыпятся запросы — «как удалить аккаунт на блэкćпруте» или «black sprut что такое». 10 минут на объяснение экономят часы на отмывке репутации
Сейчас модно искать тор blacksprut blacksprut cam или blacksprut сайт зеркало blackprut com. Но мы против. Это не просто риск блокировок — это репутационный камень на шее. Поддержка? Да, предоставляем. Но только по договору, с SLA и через официальные каналы. Не через bsconnect co и тем более не в Telegram-каналах.
Blacksprut или легальный агрегатор? На чем ловят новичков — посмотрите, если кто-то предлагает «быстро, дешево и анонимно». Это всегда ловушка.
Вопрос–ответ
Почему сорвали срок? Основные причины: поддержка 4K-резов ( +4 дня), ручная очистка базы из 1С (+3 дня), 5 раундов согласований вместо 3. Ожидали 6 недель — вышло 9.
Что доказали? Можно собрать масштабный проект за 2 месяца, с нулем инцидентов в проде и полным соответствием 152-ФЗ, даже с командой без архитектора в штате.
Что улучшить в следующий раз? Жесткий бриф с запретом на ассоциации, автоматический запрет debug-режима в CI, и уж точно — никаких стажеров с доступом к внешним ресурсам без прокси.