- 🔐 Аутентификация по паролю - доступ к чату только с правильным паролем
- 💾 Сохранение сессии - автоматический вход при обновлении страницы
- 🔔 Push-уведомления - получайте уведомления о новых сообщениях
- 💬 Реальное время - мгновенная доставка сообщений
- 🎨 Современный дизайн - красивый интерфейс с анимациями
- 📱 Адаптивный дизайн - работает на всех устройствах
- 🔒 Безопасность - криптографически стойкое шифрование и защита
- 🌙 Поддержка темной темы - автоматическое переключение
- 🤖 Защита от ботов - Cloudflare Turnstile + кастомные задачи
npm installСоздайте локальный конфигурационный файл:
cp wrangler.toml.example wrangler.tomlОтредактируйте wrangler.toml и настройте:
- Уникальное имя приложения
- Пароль для доступа к чату
- Другие параметры
📖 Подробная инструкция: docs/development/CONFIGURATION.md
# Пароль чата
wrangler secret put CHAT_PASSWORD
# Ключи Cloudflare Turnstile (опционально)
wrangler secret put TURNSTILE_SITE_KEY
wrangler secret put TURNSTILE_SECRET_KEYnpm run devnpm run deploy- Откройте приложение в браузере
- Введите пароль для доступа к чату
- Пройдите защиту от ботов (Cloudflare Turnstile + задача)
- Разрешите push-уведомления при запросе браузера
- Начните общение!
- При обновлении страницы вы автоматически войдете в чат
- Используйте кнопку "Выйти" для завершения сессии
- PartyKit - для WebSocket соединений
- Durable Objects - для хранения состояния чата
- React - для пользовательского интерфейса
- TypeScript - для типобезопасности
- Cloudflare Workers - для хостинга
- Web Crypto API - для криптографических операций
- AES-GCM - для шифрования сообщений
- PBKDF2 - для хеширования паролей
src/
├── client/ # React клиент
│ ├── components/ # React компоненты
│ └── utils/ # Утилиты безопасности
├── server/ # PartyKit сервер
└── shared.ts # Общие типы
public/
├── index.html # HTML шаблон
├── styles.css # Стили
└── sw.js # Service Worker для push-уведомлений
npm run dev- запуск в режиме разработкиnpm run deploy- деплой в продакшнnpm run check- проверка типов и конфигурации
- Криптографически стойкое хеширование паролей (PBKDF2 с солью)
- Шифрование сообщений (AES-GCM)
- Защита от SQL-инъекций (параметризованные запросы)
- Защита от XSS (улучшенная санитизация)
- Безопасные токены сессий (криптографически стойкая генерация)
- Защита от ботов (Cloudflare Turnstile + кастомные задачи)
- Ограничение попыток входа (блокировка после 3 неудачных попыток)
- Автоматическая очистка сообщений (удаление через 2 минуты)
- Ротация ключей шифрования (каждые 24 часа)
- HTTPS проверка и безопасные cookies
Все секретные данные хранятся в переменных окружения Cloudflare:
CHAT_PASSWORD- пароль для доступа к чатуTURNSTILE_SITE_KEY- публичный ключ Cloudflare TurnstileTURNSTILE_SECRET_KEY- секретный ключ Cloudflare Turnstile
- Современный интерфейс с градиентами и тенями
- Плавные анимации и переходы
- Адаптивная верстка для всех устройств
- Интуитивный UX с защитой от ботов
📖 Полная документация: docs/README.md
- 🚀 Деплой - Инструкции по развертыванию
- 🛠️ Разработка - Настройка локальной среды
- 🔒 Безопасность - Документация по безопасности
- 🎨 Дизайн - Руководство по дизайну
- GitHub Actions: https://github.com/mlanies/durable-chat-template/actions
- Cloudflare Dashboard: https://dash.cloudflare.com/073ae0130b7cee5e55a1ac1a335431a8/workers/services/view/2gc-chat-secure/production/settings
Этот проект распространяется под лицензией Apache-2.0. См. файл LICENSE для получения дополнительной информации.
Сделано с ❤️ для сообщества разработчиков

