|
|
989b33d827
|
refactor: 移除 2FA 功能与三个冗余依赖
2FA 早已是死代码:TOTP 相关端点标注为前端未调用,前端唯一的
two_factor_auth 是硬编码 false,没有任何入口能打开它。
- 删除 TwoFactorAuthAPI、CheckTFARequiredAPI、_totp* 辅助函数、
TwoFactorAuthCodeSerializer 及各 serializer 的 tfa_code 字段
- 删除管理端写 two_factor_auth/tfa_token 的分支。登录已不再校验
TOTP,若保留写入路径,置 True 会变成静默的安全降级
- 删除 User.two_factor_auth / tfa_token 字段(迁移 0009)
- 移除 django-dbconn-retry:仅挂在 INSTALLED_APPS,代码零引用。
DATABASES 未配置 CONN_MAX_AGE(默认 0),本就没有持久连接需要
重连修复。要开持久连接用 Django 自带的 CONN_HEALTH_CHECKS
- requests 换成 httpx(openai 已经引入):删除废弃的
ReleaseNotesAPI,judge dispatcher 显式传 timeout=None 以保持
requests 原本的无超时行为,判题请求是同步等结果的
依赖净减 5 个:otpauth、qrcode、requests、charset-normalizer、
django-dbconn-retry
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-05 23:00:45 -06:00 |
|
|
|
92e1c2b75d
|
refactor(deploy): 容器内 nginx 换成 Caddy
TLS 和域名由前面的 Nginx Proxy Manager 负责,容器里这层只做静态文件
和反代,用 Caddy 配置更短,也消掉了两个坑:add_header 不继承、
entrypoint 里 __IP_HEADER__ 的 sed 替换。
- deploy/nginx/ 四个配置文件合并成一个 deploy/caddy/Caddyfile
- Dockerfile 去掉 nginx 包,改从官方镜像拷 Caddy 静态二进制
- supervisord 的 nginx 程序换成 caddy,跑在非特权的 server 账号下
- entrypoint 删掉自签证书、http_locations.conf 软链、IP header sed
行为对齐:body 上限写 200MiB 才等于 nginx 的 200M;心跳和 /assets/
继续不记访问日志;安全头、缓存策略、gzip 覆盖范围保持不变。
两处行为变化:
- 访问日志变成 JSON,路径 /data/log/caddy_access.log
- X-Accel-Buffering 是 nginx 私有头,AI 的 SSE 改由 flush_interval -1
保证不缓冲,上线需实测
FORCE_HTTPS 和 LOWER_IP_HEADER 两个环境变量随之作废,真实 IP 改由
trusted_proxies + {client_ip} 从 NPM 的 XFF 解析。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-05 09:50:46 -06:00 |
|
|
|
8d6f4616b9
|
perf(nginx): 修复 JS 未压缩,静态资源加不可变缓存
nginx 1.21.1 起 mime.types 把 .js 标成 text/javascript,而 gzip_types
只写了 application/javascript,导致前端 JS 实际一直在裸传。补全类型列表,
并加上 application/json 让 API 响应也走压缩。
gzip_comp_level 此前用的是默认值 1,改为 6,实测 js+css 总量 3.85M → 3.44M。
/assets/ 下的产物文件名带内容 hash,加 immutable 永久缓存,省掉每次进页面
对 32 个 chunk 的条件请求;index.html 反过来设 no-cache,避免发版后刷不到新版。
location 里出现 add_header 会中断 http 级 add_header 的继承,
两个 block 都重新声明了原有的三个安全头。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-05 09:11:48 -06:00 |
|
|
|
502078b51b
|
update
|
2026-08-05 08:18:02 -06:00 |
|
|
|
1e6041d13d
|
fix
|
2026-07-02 19:16:09 -06:00 |
|
|
|
dab6734d03
|
switch docker image
|
2026-06-14 09:13:05 -06:00 |
|
|
|
7974d12475
|
build: move ruff from dev to main dependencies (needed at runtime for code formatting)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-14 08:05:12 -06:00 |
|
|
|
0764946c17
|
add wc
|
2026-06-03 07:19:57 -06:00 |
|
|
|
57c0572fd9
|
async
|
2026-05-26 21:25:26 -06:00 |
|
|
|
8731012f47
|
use asgi
|
2026-05-26 07:37:05 -06:00 |
|
|
|
ed8a2f575f
|
update
|
2026-05-25 21:57:38 -06:00 |
|
|
|
ae372b4ee1
|
fix pip
|
2026-05-05 07:43:25 -06:00 |
|
|
|
0fd7dedea6
|
update deps
|
2026-05-05 07:23:59 -06:00 |
|
|
|
f2b046c650
|
update
|
2025-12-20 22:04:03 +08:00 |
|
|
|
22d4a9057b
|
add ws
|
2025-10-07 17:03:14 +08:00 |
|
|
|
6e1e3ef0c6
|
新增AI分析
|
2025-09-24 01:02:29 +08:00 |
|
|
|
92adfd5415
|
update
|
2025-06-13 18:55:38 +08:00 |
|
yuetsh
|
5a8fb8d81a
|
remove pytz
|
2024-06-11 15:07:48 +08:00 |
|
|
|
6cf7087339
|
update Django to v5
|
2024-06-05 17:40:45 +08:00 |
|
yuetsh
|
d2dc058af5
|
remove heartbeat log
|
2024-06-04 22:25:31 +08:00 |
|
|
|
2ca96ca228
|
update python deps
|
2024-06-04 22:08:31 +08:00 |
|
|
|
bf906fcf25
|
update python deps
|
2024-06-04 18:48:19 +08:00 |
|
|
|
2d2128fa06
|
update
|
2024-05-08 18:32:54 +08:00 |
|
Mikucat
|
c25a314001
|
fix: sync UID and GID with JudgeServer
|
2024-04-07 18:06:37 +08:00 |
|
Mikucat
|
954463f9fd
|
chore: update denpendencies
|
2024-04-04 15:37:43 +08:00 |
|
helsonxiao
|
e009777c6f
|
fix: rundramatiq
|
2022-05-08 17:13:22 +08:00 |
|
Beichi-CHs
|
af641dd421
|
fix useless escape symbol
|
2021-11-19 00:26:42 +08:00 |
|
Harry Chen
|
040fb6fbbd
|
migrate health_check.py to python3
|
2021-11-18 18:51:29 +08:00 |
|
Beichi-CHs
|
3754fa2542
|
upgrade build configration
|
2021-11-18 12:38:49 +08:00 |
|
virusdefender
|
ece38de1d5
|
database connection retry
|
2019-03-26 10:02:49 +08:00 |
|
virusdefender
|
a5f0c8eb31
|
remove celery and use dramatiq
|
2019-03-11 17:59:24 +08:00 |
|
virusdefender
|
6b7654a0c3
|
update to django 2.0
|
2019-03-11 11:25:10 +08:00 |
|
virusdefender
|
5ae50e4e54
|
设置 gunicorn 和 celery 的 worker 数量,最小是 2
|
2019-01-05 14:53:55 +08:00 |
|
李扬
|
829591ac05
|
Update nginx.conf
|
2018-11-05 08:15:53 +08:00 |
|
virusdefender
|
8403726455
|
fix old files permission
|
2018-10-14 21:33:08 +08:00 |
|
virusdefender
|
94baab8570
|
try to fix permission
|
2018-10-14 17:49:20 +08:00 |
|
zema1
|
8ee1b514e3
|
Fixed problems in dispatcher, fixed testcase download error
|
2018-08-21 15:22:35 +08:00 |
|
virusdefender
|
ee12a1f527
|
对 testcase 使用 nobody 700 的权限
|
2018-08-10 08:05:02 +08:00 |
|
zimo.zhang
|
50c8487a50
|
fix requirement warning
|
2018-07-15 12:35:14 +08:00 |
|
virusdefender
|
d5468803ba
|
use secret key file
|
2018-05-05 15:21:53 +08:00 |
|
virusdefender
|
0e83a920b2
|
fix ip header
|
2018-01-06 23:58:33 +08:00 |
|
zema1
|
d8221ca8f5
|
fix cdn host replacement
|
2018-01-06 22:24:55 +08:00 |
|
virusdefender
|
dbce3e443a
|
redis retry
|
2018-01-06 14:26:46 +08:00 |
|
virusdefender
|
b50f5404ff
|
update replace static cdn host function
|
2018-01-05 10:44:19 +08:00 |
|
virusdefender
|
679512e3cc
|
fix FORCE_HTTPS
add ip_header env
|
2018-01-05 10:44:15 +08:00 |
|
virusdefender
|
41f248091e
|
add replace cdn host function
|
2017-12-27 22:04:06 +08:00 |
|
virusdefender
|
3c8e6cd9f3
|
use entrypoint
|
2017-12-24 11:01:33 +08:00 |
|
virusdefender
|
3c70ecbd19
|
add sentry
|
2017-12-24 11:01:33 +08:00 |
|
virusdefender
|
eeadb5b87b
|
fix docker exec error
|
2017-12-19 22:25:10 +08:00 |
|
virusdefender
|
2f76a46500
|
add ssl helper
|
2017-12-16 01:53:59 +08:00 |
|