- 新建一个
config.json
, 放在项目路径/data
里, 内容如下:
- 在项目路径新建一个
docker-compose.yml
, 内容如下:
- nginx反代3334端口即可, 推荐配置:
location ^~ / {
proxy_pass http://localhost:3334;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
add_header X-Cache $upstream_cache_status;
proxy_ssl_server_name off;
proxy_ssl_name $proxy_host;
proxy_buffering off;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2|jpeg|webp|avif)$" ) {
expires 30d;
}
proxy_ignore_headers Set-Cookie Cache-Control expires;
proxy_cache proxy_cache_panel;
proxy_cache_key $host$uri$is_args$args$http_accept;
proxy_cache_valid 200 304 301 302 10m;
}
主要添加了根据accept
来进行不同的缓存, 适配了Cloudflare Images的自适应提供图片.
2024.10.31更新
新增cdnjs和jsdelivr等代理, 也可以用于unpkg, 单独一个代理方法.
国内js代理只有字节比较稳定了, 但是字节的太久没更新, 有些新的库没有, 不如自己直接代理, 更方便也更快.
2024.11.17更新
支持根据不同的文件回源不同的地址
适配cloudflare images的图片优化, 支持format=auto
相关想法来自:
2024.11.30更新
性能优化
使用统一的HTTP连接池
监控系统
- 主要实现了带认证的监控系统:
- config.json文件添加相关密码
- 新增认证管理器
- 新增监控指标:
- 监控页面路由:
访问流程:
-
访问 /metrics/ui 显示登录页面
-
输入密码,调用 /metrics/auth 获取token
-
使用token访问 /metrics/dashboard 查看监控面板
-
监控面板每5秒自动刷新数据
-
token存储在localStorage,24小时有效
-
监控指标包括:
-
基础指标:运行时间、请求数、错误率等
-
系统指标:内存使用、goroutine数等
-
性能指标:响应时间、吞吐量等
-
路径统计:Top 10访问路径
-
最近请求:最近1000个请求的详细信息
性能考虑:
-
使用原子操作而不是锁
-
使用对象池复用缓冲区
-
异步清理过期token
-
固定大小的环形缓冲区
-
按需计算统计数据
使用方式:
-
配置 config.json 中的密码
-
输入密码登录
-
查看监控数据