# 动态 CORS set $cors_origin ""; if ($http_origin ~* "^https?://(.*\.)?diraw\.top$") { set $cors_origin $http_origin; } if ($http_origin ~* "^https?://(localhost|127\.0\.0\.1)(:[0-9]+)?$") { set $cors_origin $http_origin; }
# 解析 npm 包信息 if ($uri ~* "^/npm/([^/]+)/([^/]+)/(.+)$") { set $npm_package $1; set $npm_version $2; set $npm_path $3; }
# Font Awesome 6 特殊处理 set $fa_fix ""; if ($npm_package = "font-awesome") { set $fa_fix "Y"; } if ($npm_version ~* "^6\.") { set $fa_fix "${fa_fix}Y"; } if ($fa_fix = "YY") { set $npm_package "@fortawesome/fontawesome-free"; }
# 添加 dist 目录处理 set $should_add_dist ""; if ($npm_package ~* "^(aplayer|twikoo|typed\.js)$") { set $should_add_dist "Y"; } if ($npm_path ~* "^dist/") { set $should_add_dist "${should_add_dist}N"; } if ($should_add_dist = "Y") { set $npm_path "dist/$npm_path"; }
if ($uri ~* "^/npm/[^/]+/[^/]+/.+$") { rewrite ^(.*)$ /npm/$npm_package@$npm_version/$npm_path break; }