Расскажите о себе и сути проекта?
Я люблю инновации. И стараюсь нести их в массы
Сделал своё первое веб-расширение - генератор паролей, пароли нигде не хранит, без бэка
Сам пользуюсь, и вам советую 😄
Как это работает: берётся мастер-пароль + домен сайта, прогоняется через криптографическую хэш-функцию, и на выходе получается уникальный пароль для каждого сайта. Ничего никуда не отправляется, никакой базы данных нет — пароль детерминированно генерируется каждый раз заново. Потерять базу паролей невозможно, потому что её не существует.
Если нужно поменять пароль\получить новый для того же домена, есть каунтер, можно генерировать до бесконечности новые пароли, но циферку придется запоминать самому, можно улучшить это, если будет запрос.
Как появилась идея? Что вдохновило?
Основано на https://password.hyoo.ru/ но прокачал до расширения, что бы было удобнее пользоваться. Всё что нужно - это тыкнуть 1 раз по расширению и получить пароль, он сразу попадёт в clipboard. Максимально просто и удобно
Какой технологический стек вы использовали? Почему?
Делал на $mol - самом прогрессивном web framework ever. Это фреймворк с реактивностью из коробки, автоматическим tree-shaking, ленивым рендерингом и zero-config сборкой. Компоненты описываются декларативно через view.tree, а CSS пишется типизированно через css.ts. Никаких webpack/vite/babel — всё работает из коробки. Позволяет КРАЙНЕ быстро строить приложения, без бэка. Не нужен сервер, не нужна база данных, не нужен хостинг. Вся логика работает на клиенте. То есть ты получаешь полноценное приложение с авторизацией, синхронизацией и офлайном — и при этом ни строчки серверного кода. Не нужно поднимать VPS, не нужно настраивать Docker, не нужно платить за Supabase/Firebase. Задеплоил статику на GitHub Pages — и у тебя production-ready приложение. Стоит ли говорить насколько круто что 0 расходов на инфру и никакой ответсвенности за данные пользователей ?
Так же можно обернуть в tauri ( поддержим все платформы единым кодом ) засунуть в tg/vk/max или просто как pwa использовать
Как вы запускались и искали первых пользователей?
Проект бесплатный, пользуйтесь !
Единственное нужно мастер пароль вставить через ctrl + V
Первые пользователи вы, мои дорогие читатели)
Сколько потратили и заработали? Есть идеи как это можно монетизировать?
По идее, можно сделать ограничение на 50 доменов, а дальше оплата за продукт, подписку делать не хочу
С какими самыми неожиданными трудностями пришлось столкнуться?
Потратил пару вечеров, и то потому что хотел поконтрибьютить в мол, делал поддержку манифестов
Какие планы на будущее?
Есть пара идей для улучшения, можно панель настроек бахнуть, но хочется оставить всё максимально простым в использовании как сейчас - кликнул - получил пароль - вставил
Нужны ли какие-то советы или помощь Клуба?
Если нашли полезным - буду рад помощи в распространении.
Если видите возможность заработать на этом, тоже пишите, попробуем
Какой совет вы бы сами могли дать идущим по вашим стопам?
С $mol'om я могу бесплатно помочь стартануть, пишите, созвонимся на полчасика-час, ну и в тгшке тоже спишемся, всему научу, там несложно


Спасибо, на первый взгляд выглядит круто. Но на второй появляются сомнения.
Во-первых, если я использую это расширение, то достаточно один раз засветить мастер-пароль, чтобы передать буквально все мои пароли от всех возможных сервисов, включая те, которые я еще даже не завел. Мне нужно слишком сильно доверять автору, что расширение не передает никаких данных и никогда не будет скомпрометировано.
Во-вторых, моя база паролей оказывается завязана на конкретную хэш-функцию, то есть на то, что расширение никогда ее не поменяет, не будет удалено из хрома и будет вечно поддерживаться. То есть пароли все равно надо сохранять (а еще лучше саму хэш-функцию), тогда в принципе проще пользоваться генератором случайных (не детерминированных) паролей.
Мне кажется, что для тех, кому нужно просто генерировать пароли, это расширение сложнее, чем случайный генератор в браузере. А для тех, кто запаривается, много вопросов с безопасностью.
Тоже пользовался чем-то таким.
Другая проблема которую не озвучили - требования к паролю. Как будто им не всё равно что в хэш функцию запихивать.
Ладно когда требуют наличие спецсимволов, но вот я вчера столкнулся с сайтом который требует ровно шесть цифр в качестве пароля 🤷♂️.
В общем всё равно приходится обычный менеджер паролей использовать.
Идея интересная, кажется, читал её на Хабре в ранние 2010-е. Там, правда, никакого тулинга не давали + не было нормального KDF-хэширования, и предлагалось использовать мастер-пароль + имя домена + суффикс. Деталей уже не помню.
Помимо того, что уже писали (про утечку мастер-пароля, смену хэш-функции и т.д.), хочу накинуть ещё несколько моментов, которые сходу увидел.
Как быть с ребрендом? Тинькофф -> Т-Банк, например. Бывает, что сервис уезжает на другой домен. Сюда же www.example.com и example.com, mail.example.com и т.п. Короче, домен - это слишком нестабильная сущность, чтобы быть единственным идентификатором.
Про безопасность. Если пароль какого-то сервиса утечёт, и известно, что ты пользуешься этим алгоритмом, становится возможным офлайн-брутфорсить мастер-пароль. Например, сайт example.com оказался негодяем и не хэшировал пароли. Его базу слили, там оказался твой пароль в открытом виде. Зная, что это f(master + example.com) и зная сам алгоритм, можно начать перебирать master офлайн и однажды получить его. А это уже открывает доступ ко всем сервисам, где ты зарегистрирован или зарегистрируешься в будущем.
Что насчёт SSO, когда авторизация идёт через одну учётку на разных доменах? Например, vk.com и вход через id.vk.com. Аналогично у Яндекса есть несколько доменов для логина. Если генерация завязана на текущий hostname, пароль может не совпасть.
Как быть, если нужно зайти с гостевой машины? В библиотеке, с временного ноута, у друзей? Ставить расширение в чужой браузер и вводить мастер-пароль выглядит странно. С парольным менеджером это можно решить как минимум двумя способами: зайти в веб-интерфейс (у меня self-hosted Vaultwarden) или воспользоваться мобильным устройством.
Ротация через serial тоже выглядит ненадёжно. Первые 2-3 раза я, наверное, запомню, а дальше будет сложнее. А если перемножить это на n сервисов, где требуется ротация, получится ад, потому что вряд ли циклы смены паролей будут синхронизированы.
В общем, я ни в коем случае не говорю, как и кому хранить свои пароли. Я просто подсвечиваю недостатки, которые увидел. Какие-то из них решаются в рамках доработки инструмента (мобильная версия, возможность вручную задать домен, возможность развернуть алгоритм у себя и т.п.), возможно, стоит пересмотреть саму концепцию.
Раньше баловался таким подходом к генерации паролей, но столкнулся с проблемой. Если пароль скомпрометирован, то как его заменить? Придумать новый мастер пароль?
А еще у некоторых систем есть требование менять пароль через определенный период, как быть в этом случае?