- Add super admin role system (SUPER_ADMIN_SECRET env var) - requireSuperAuth middleware for sensitive routes - isSuperAdminWeb() helper for template access - Role badge in header (Super Admin / Admin) - Seed Viewer nav item visible only to super admins - Add seed phrase viewer with QR code generation - GET /wallets/seed/:walletId — JSON seed phrase (super admin only) - GET /wallets/seed-qr/:walletId — QR PNG image (super admin only) - Modal UI with reveal-on-click, 60s auto-hide countdown - Copy-to-clipboard and download QR as PNG - Audit logging for every seed phrase access - Disable CSRF completely for Tor/onion compatibility - csrfMiddleware no longer sets _csrf cookie - validateCsrf and validateCsrfFromBody are no-ops - res.locals.csrfToken set to empty string (prevents template errors) - .env.example: document SUPER_ADMIN_SECRET variable
58 lines
1.9 KiB
Plaintext
58 lines
1.9 KiB
Plaintext
# ============================================================
|
||
# Telegram Shop - Environment Configuration (TEMPLATE)
|
||
# ============================================================
|
||
# Копируй этот файл в .env и заполни реальными значениями.
|
||
# ВНИМАНИЕ: .env файлы НЕ коммитятся — они в .gitignore.
|
||
# ============================================================
|
||
|
||
# --- Telegram Bot ---
|
||
BOT_TOKEN=your_bot_token_here
|
||
ADMIN_IDS=123456789,987654321
|
||
SUPER_ADMIN_IDS=123456789
|
||
SUPPORT_LINK=https://t.me/your_support
|
||
|
||
# --- Catalog ---
|
||
CATALOG_PATH=./catalog
|
||
|
||
# --- Encryption (ОБЯЗАТЕЛЬНО! Без этого приложение упадёт) ---
|
||
# Сгенерируй надёжный ключ: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
||
ENCRYPTION_KEY=
|
||
|
||
# --- Commission ---
|
||
COMMISSION_ENABLED=true
|
||
COMMISSION_PERCENT=5
|
||
|
||
# --- Commission Wallets ---
|
||
COMMISSION_WALLET_BTC=
|
||
COMMISSION_WALLET_LTC=
|
||
COMMISSION_WALLET_USDT=
|
||
COMMISSION_WALLET_USDC=
|
||
COMMISSION_WALLET_ETH=
|
||
|
||
# --- ChangeNOW Deposit Integration ---
|
||
# Optional: your ChangeNOW referral ID (leave empty if none)
|
||
CHANGENOW_REF=
|
||
|
||
# --- WireGuard ---
|
||
WG_ENABLED=false
|
||
WG_PRIVATE_KEY=
|
||
WG_PUBLIC_KEY=
|
||
WG_PRESHARED_KEY=
|
||
WG_ENDPOINT=
|
||
WG_ADDRESS=
|
||
WG_DNS=
|
||
WG_ALLOWED_IPS=0.0.0.0/0,::/0
|
||
|
||
# --- Tor Proxy ---
|
||
# SSH backend: куда Tor перенаправляет SSH (по умолчанию хост-машина)
|
||
SSH_HOST_IP=host.docker.internal
|
||
# Имя контейнера магазина (для проброса админки через Tor)
|
||
SHOP_CONTAINER=telegram_shop_prod
|
||
|
||
# --- Admin Panel ---
|
||
ADMIN_SECRET=your_admin_token_here
|
||
# SUPER_ADMIN_SECRET: If set to a different value than ADMIN_SECRET, users logging in
|
||
# with this token get super_admin role (seed phrase access, commission management).
|
||
# If not set or same as ADMIN_SECRET, all admins are super admins.
|
||
SUPER_ADMIN_SECRET=
|
||
ADMIN_PORT=3001 |