보안 개선: - API 키 하드코딩 제거 (NAMECHEAP_API_KEY_INTERNAL) - CORS 정책: * → hosting.anvil.it.com 제한 - /health 엔드포인트 DB 정보 노출 방지 - Rate Limiting 인메모리 Map → Cloudflare KV 전환 - 분산 환경 일관성 보장 - 재시작 후에도 유지 - 자동 만료 (TTL) 문서: - CLAUDE.md Security 섹션 추가 - KV Namespace 설정 가이드 추가 - 배포/마이그레이션 가이드 추가 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
41 lines
1.5 KiB
TOML
41 lines
1.5 KiB
TOML
name = "telegram-summary-bot"
|
|
main = "src/index.ts"
|
|
compatibility_date = "2024-01-01"
|
|
|
|
[ai]
|
|
binding = "AI"
|
|
|
|
[vars]
|
|
SUMMARY_THRESHOLD = "20" # 프로필 업데이트 주기 (메시지 수)
|
|
MAX_SUMMARIES_PER_USER = "3" # 유지할 프로필 버전 수 (슬라이딩 윈도우)
|
|
N8N_WEBHOOK_URL = "https://n8n.anvil.it.com" # n8n 연동 (선택)
|
|
DOMAIN_OWNER_ID = "821596605" # 도메인 관리 권한 Telegram ID
|
|
DEPOSIT_ADMIN_ID = "821596605" # 예치금 관리 권한 Telegram ID
|
|
|
|
[[d1_databases]]
|
|
binding = "DB"
|
|
database_name = "telegram-conversations"
|
|
database_id = "c285bb5b-888b-405d-b36f-475ae5aed20e"
|
|
|
|
[[kv_namespaces]]
|
|
binding = "RATE_LIMIT_KV"
|
|
id = "15bcdcbde94046fe936c89b2e7d85b64"
|
|
|
|
# Email Worker 설정 (SMS → 메일 수신)
|
|
# Cloudflare Dashboard에서 Email Routing 설정 필요:
|
|
# 1. Email > Email Routing > Routes
|
|
# 2. deposit@your-domain.com → Worker: telegram-summary-bot
|
|
|
|
# Cron Trigger: 매일 자정(KST) 실행 - 24시간 경과된 입금 대기 자동 취소
|
|
[triggers]
|
|
crons = ["0 15 * * *"] # UTC 15:00 = KST 00:00
|
|
|
|
# Secrets (wrangler secret put 으로 설정):
|
|
# - BOT_TOKEN: Telegram Bot Token
|
|
# - WEBHOOK_SECRET: Webhook 검증용 시크릿
|
|
# - OPENAI_API_KEY: OpenAI API 키
|
|
# - NAMECHEAP_API_KEY: namecheap-api 래퍼 인증 키 (도메인 추천용)
|
|
# - NAMECHEAP_API_KEY_INTERNAL: Namecheap API 키 (내부용)
|
|
# - BRAVE_API_KEY: Brave Search API 키
|
|
# - DEPOSIT_API_SECRET: Deposit API 인증 키 (namecheap-api 연동)
|