# ========== 服务 ========== # HTTP 监听:本机 127.0.0.1:8443,业务时区为上海 CSU_DK_HOST=127.0.0.1 CSU_DK_PORT=8443 CSU_DK_TZ=Asia/Shanghai # 数据目录(默认:项目根目录下的 data);测试专用别名 CSU_DK_TEST_DATA_DIR 由 test/conftest.py 设置 # CSU_DK_DATA_DIR=/absolute/path/to/data # ========== 邮件 ========== # Plunk HTTP API;密钥使用 sk_ 前缀 PLUNK_SECRET_KEY= PLUNK_API_URL=https://next-api.useplunk.com MAIL_FROM=Barkure # ========== 用户与会话 ========== # 邮箱白名单留空不限制;每人最多 5 个账号、5 个会话,会话保留 14 天 CSU_DK_ALLOWED_EMAILS= CSU_DK_MAX_ACCOUNTS=5 CSU_DK_MAX_SESSIONS=5 CSU_DK_SESSION_DAYS=14 # ========== 邮箱验证码 ========== # 验证码有效 10 分钟,同一邮箱间隔 60 秒 CSU_DK_CODE_MINUTES=10 CSU_DK_CODE_COOLDOWN=60 # 每日验证码请求上限;同一 IP 和同一邮箱分别计数,均采用此上限 CSU_DK_LOGIN_CODE_DAILY_MAX=10 # 同一 IP 每 30 分钟最多校验 5 次验证码 CSU_DK_LOGIN_CODE_VERIFY_MAX=5 # ========== 自动打卡 ========== # 每天最早开始打卡的时间 CSU_DK_CHECKIN_START=18:00 # 每 5 秒调度:开始前刷新 token(每轮最多 3 个账号),开始后按账号时段打卡 # 刷新速度受请求耗时影响;需要密码登录时另受 CAS 限流约束 CSU_DK_SCHED_INTERVAL=5 # 提交打卡时在基准坐标附近随机偏移的半径(米) CSU_DK_CHECKIN_JITTER_METERS=50 # 其他类型打卡的默认地点名,无历史地点时使用 CSU_DK_OTHER_DKDZ=中南大学 # 打卡时段内,每轮最多随机执行 6 个账号;按 5 秒间隔计算,理论上限为 72 个/分钟 CSU_DK_CHECKIN_PER_TICK=6 # 每 600 秒清理过期验证码、网页会话和超期打卡记录 CSU_DK_MAINTENANCE_INTERVAL=600 # 打卡记录保留 10 天 CSU_DK_RECORD_RETENTION_DAYS=10 # ========== 学校登录风控 ========== # 学校冻结当前出口 IP 后,切换到可用出口;300 秒后重新尝试原出口 CSU_DK_IP_FREEZE_COOLDOWN=300 # 密码错误上限:同一学号 3 次、同一用户 6 次、同一来源 IP 10 次 CSU_DK_CRED_FAIL_MAX=3 CSU_DK_CRED_FAIL_MAX_USER=6 CSU_DK_CRED_FAIL_MAX_IP=10 # 同一学号、用户或来源 IP 的密码错误次数达到对应上限后,暂停 900 秒 CSU_DK_CRED_FAIL_COOLDOWN=900 # CAS 登录并发 1;密码登录所有入口共用每分钟 8 次上限,Cookie 换 token 不计数 CSU_DK_CAS_CONCURRENCY=1 CSU_DK_CAS_LOGIN_PER_MINUTE=8 # 添加或验证同一学号至少间隔 15 秒 CSU_DK_CAS_ATTEMPT_GAP=15 # 手动重新登录同一账号至少间隔 60 秒 CSU_DK_RELOGIN_COOLDOWN=60 # ========== 反向代理 ========== # 填写反向代理的 IP 或网段,用于识别访客真实 IP CSU_DK_TRUST_PROXY=false # CSU_DK_TRUSTED_PROXIES=127.0.0.1,10.0.0.0/8 # 生产环境使用 HTTPS,应为会话 Cookie 添加 Secure 属性;本地使用明文 HTTP 时设为 false CSU_DK_COOKIE_SECURE=true # ========== 校园网出口 ========== # 校园网代理;未配置时停止学校请求 # 多个地址用逗号分隔;仅支持带端口的 HTTP 代理 # CSU_DK_PROXIES=http://127.0.0.1:1091,http://127.0.0.1:1092