2FAuth — свой личный генератор 2FA-кодов без облаков и привязки к смартфону

2FAuth — свой личный генератор 2FA-кодов без облаков и привязки к смартфону

Если когда-нибудь теряли смартфон с Google Authenticator и потом вручную восстанавливали десятки аккаунтов, вы точно поймёте, зачем придумали 2FAuth. Это проект из категории «сделал себе — оказалось удобно всем». Автор устал от зависимостей от облаков, от бесконечных QR-кодов и от того, что одноразовые пароли живут только в телефоне. В результате появился собственный web-интерфейс для двухфакторки — минималистичный, независимый и полностью под вашим контролем.

Смысл и философия 2FAuth

По сути, 2FAuth — это личная альтернатива приложениям вроде Google Authenticator, Aegis или Authy, только работающая в браузере и разворачиваемая на своём сервере. Можно использовать на десктопе, ноутбуке или смартфоне, не переживая, что завтра очередное обновление iOS вычистит вам все токены.

Главная идея проста: хранить OTP-секреты в своей базе данных, а не где-то в облаках. Это не просто паранойя — это осознанная гигиена. 2FAuth подходит тем, кто хочет вернуть себе контроль над своими кодами и избавиться от ощущения, что «всё держится на одном телефоне».

Интерфейс без суеты

Одна из причин, почему разработчик вообще взялся за проект, — усталость от интерфейсов, где все токены мигают и отсчитывают секунды до обнуления, словно таймер бомбы. 2FAuth предлагает гораздо спокойный подход: вы видите только то, что нужно, и только тогда, когда нужно. Можно группировать аккаунты по папкам, удобно искать, копировать код кликом — и всё это без стресса и мельтешения.

Визуально интерфейс аккуратный, лаконичный и рассчитан на многоплатформенность. Работает и на мобильных браузерах, и на настольных, и через Docker, если хочется запустить «внутри стеклянного куба».

Функции и возможности

Под капотом у 2FAuth полный набор того, что нужно современному генератору кодов:

  • Поддержка TOTP и HOTP по RFC 4226 и RFC 6238, а также генерация Steam Guard-кодов;
  • Сканирование QR-кодов прямо из браузера — добавление новых учёток занимает секунды;
  • Добавление вручную — если QR-код недоступен, есть расширенная форма с нужными параметрами;
  • Редактирование уже импортированных записей, включая импорт из других приложений (Google Auth, Aegis, 2FAS);
  • Локализация интерфейса (пока английский и французский, но переводы можно добавлять через Crowdin);
  • Группировка аккаунтов и фильтрация — при большом числе токенов спасает от хаоса.

Все данные хранятся в вашей базе — Laravel совместим с MySQL, PostgreSQL, SQLite и другими движками, так что ограничений почти нет.

Безопасность: не просто формальность

2FAuth не притворяется корпоративным монстром, но базовые меры реализованы грамотно. Приложение рассчитано на одного пользователя, так что нет риска случайного открытия доступа «всему офису». Авторизация — через пароль или аппаратный ключ (YubiKey, Titan), причём можно вообще отключить стандартный логин-форм. Это редкость для open-source проектов такого класса.

База данных может быть зашифрована. Для этого достаточно активировать опцию шифрования и сохранить значение APP_KEY из файла .env. Именно эта строка превращает ваши токены в бессмысленный мусор для любого, кто вдруг получит доступ к базе. И да, 2FAuth автоматически разлогинивает пользователя после периода бездействия — мелочь, а приятно.

Установка: без плясок с бубном

Устанавливать 2FAuth можно по-разному, но большинство, конечно, выбирают Docker. Запуск через docker compose занимает пару минут: скопировали репозиторий, настроили переменные окружения, и готово. Есть даже готовый контейнер на Docker Hub. Для тех, кто предпочитает ручной подход, остаются классические PHP-способы — Laravel 8+ и любая поддерживаемая база данных.

А если хочется попробовать без развёртывания — существует демо-версия с логином demo@2fauth.app и паролем demo. Можно пощупать интерфейс, ничего не ломая и не настраивая.

Импорт и миграция: уходим красиво

Переезд с других приложений 2FA организовал максимально безболезненно. Можно импортировать данные из JSON-экспорта Aegis, 2FAS Auth или собственного формата 2FAuth. Даже Google Authenticator частично поддерживается через QR-коды. По сути, миграция сводится к тому, чтобы считать или загрузить нужный файл, и всё заработает как прежде — только теперь на вашем сервере.

Резервное копирование тоже проще простого: база + файл .env — и у вас полный образ всего проекта. При сбое или смене устройства восстановление занимает минуты, а не дни.

Кому пригодится 2FAuth

Это решение — находка для тех, кто уже живёт в экосистеме self-hosting: использует собственный Nextcloud, Vaultwarden, Bitwarden RS или Plausible. 2FAuth идеально дополняет этот стек: вы контролируете свои данные и не зависите от политики Google или Microsoft.

Также приложение подойдёт администраторам и разработчикам, у которых десятки токенов для разных сервисов. Хранить всё это на одном смартфоне — не только неудобно, но и рискованно. Здесь же вы можете разделить рабочие и личные учётки, зашифровать базу и даже хранить сервер за VPN или Tor.

Минусы и ограничения

Конечно, без ложки дёгтя не обошлось. Приложение рассчитано на одного пользователя — мультиаккаунты не поддерживаются. Это логично, но может отпугнуть тех, кто хочет общую «корпоративную панель» для команды. Ещё один нюанс — ручная настройка HTTPS и обновлений, если вы не используете Docker. Впрочем, для опытного пользователя это не проблема, а скорее хобби.

Изредка возникают мелкие шероховатости с интерфейсом или QR-сканером в мобильных браузерах, но проект активно развивается, и автор охотно принимает pull request’ы. Лицензия — AGPL-3.0, так что форкать и допиливать можно свободно.

Итоги: маленький герой в мире двухфакторки

2FAuth — это тот случай, когда open-source закрывает реальную боль, а не просто «чтобы было». Простая идея, реализованная с любовью к деталям: собственный хостинг, шифрование, Docker, YubiKey, импорт из популярных приложений и спокойный интерфейс без бегущих таймеров. Всё это делает 2FAuth отличным выбором для тех, кто хочет управлять своей двухфакторкой без зависимости от смартфона и без нервов.

Можно сказать, что это «анти-Google Authenticator»: без рекламы, без облаков, без сюрпризов. Только вы, ваши токены и ваш сервер. А если вдруг потеряете смартфон — в этот раз вы просто откроете браузер и спокойно войдёте.

2FA 2FAuth OTP аутентификация безопасность генератор кодов двухфакторная аутентификация
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

Мнение вашего врача может вас убить.

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

Комнатный Блогер

Объясняю новую цифровую реальность