mirror of
https://github.com/fromchat-messenger/web.git
synced 2026-09-22 19:15:08 +03:00
51 lines
1.6 KiB
Python
51 lines
1.6 KiB
Python
import os
|
|
|
|
# Database
|
|
DATABASE_URL = os.getenv("DATABASE_URL", "sqlite:///data/database.db")
|
|
|
|
# JWT
|
|
JWT_SECRET_KEY = os.getenv("JWT_SECRET", "default-jwt-secret-for-development")
|
|
JWT_ALGORITHM = "HS256"
|
|
# Token inactivity expiration - token expires if not used for this duration
|
|
TOKEN_INACTIVITY_EXPIRE_HOURS = 30 * 24 # 30 days of inactivity
|
|
# Maximum token lifetime (safety net) - tokens expire after this regardless of usage
|
|
MAX_TOKEN_LIFETIME_HOURS = 365 * 24 # 1 year maximum
|
|
|
|
# Owner user
|
|
OWNER_USERNAME = os.getenv("OWNER_USERNAME", "owner")
|
|
|
|
# Push notifications
|
|
VAPID_PRIVATE_KEY = os.getenv("VAPID_PRIVATE_KEY", "")
|
|
VAPID_PUBLIC_KEY = os.getenv("VAPID_PUBLIC_KEY", "")
|
|
VAPID_SUBJECT = os.getenv("VAPID_SUBJECT", "mailto:admin@example.com")
|
|
|
|
# Rate limiting
|
|
RATE_LIMIT_REQUESTS = int(os.getenv("RATE_LIMIT_REQUESTS", "100"))
|
|
RATE_LIMIT_WINDOW = int(os.getenv("RATE_LIMIT_WINDOW", "60"))
|
|
|
|
# File uploads
|
|
MAX_UPLOAD_SIZE = int(os.getenv("MAX_UPLOAD_SIZE", "10485760")) # 10MB
|
|
ALLOWED_EXTENSIONS = {".jpg", ".jpeg", ".png", ".gif", ".webp", ".mp4", ".mov", ".avi", ".mp3", ".wav"}
|
|
|
|
# WebSocket
|
|
WEBSOCKET_PING_INTERVAL = 30
|
|
WEBSOCKET_PING_TIMEOUT = 60
|
|
|
|
# Encryption
|
|
ENCRYPTION_KEY_LENGTH = 32
|
|
ENCRYPTION_NONCE_LENGTH = 12
|
|
|
|
# Moderation
|
|
PROFANITY_THRESHOLD = float(os.getenv("PROFANITY_THRESHOLD", "0.8"))
|
|
SIMILARITY_THRESHOLD = float(os.getenv("SIMILARITY_THRESHOLD", "0.85"))
|
|
|
|
# WebRTC
|
|
WEBRTC_ICE_SERVERS = [
|
|
{"urls": "stun:stun.l.google.com:19302"},
|
|
{"urls": "stun:stun1.l.google.com:19302"}
|
|
]
|
|
|
|
# Logging
|
|
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO")
|
|
LOG_FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
|