diff --git a/dev/nextweb.json b/dev/nextweb.json index 9a5de26..fb684ba 100644 --- a/dev/nextweb.json +++ b/dev/nextweb.json @@ -7687,2431 +7687,6 @@ "document": "http://openresty.org/cn/getting-started.html" }, "versions": [ - { - "valid": true, - "violations": [], - "id": "1-25-3-2-0-1-focal", - "readMe": null, - "name": "1.25.3.2-0-1-focal", - "lastModified": 1728538722, - "files": [ - { - "name": "1pwaf", - "size": 0, - "lastModified": "2024-10-10T05:38:24.000+00:00", - "files": [ - { - "name": "data", - "size": 0, - "lastModified": "2024-10-10T05:38:24.000+00:00", - "files": [ - { - "name": "conf", - "size": 0, - "lastModified": "2024-10-10T05:38:23.000+00:00", - "files": [ - { - "name": "token", - "size": 0, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": ".secret", - "size": 0, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "sites.json", - "size": 0, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "waf.json", - "size": 48, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "waf.conf", - "size": 568, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": ".aes_key", - "size": 0, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "global.json", - "size": 3013, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "monitor.json", - "size": 372, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "siteConfig.json", - "size": 1659, - "lastModified": "2024-10-10T05:38:23.000+00:00" - } - ] - }, - { - "name": "rules", - "size": 0, - "lastModified": "2024-10-10T05:38:24.000+00:00", - "files": [ - { - "name": "uaWhite.json", - "size": 18, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "defaultUrlBlack.json", - "size": 4709, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "post.json", - "size": 3513, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "ipBlack.json", - "size": 20, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "uaBlack.json", - "size": 20, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "cookie.json", - "size": 3179, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "methodWhite.json", - "size": 2287, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "header.json", - "size": 630, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "urlBlack.json", - "size": 17, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "urlWhite.json", - "size": 17, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "fileExt.json", - "size": 518, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "ipWhite.json", - "size": 20, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "cdn.json", - "size": 669, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "acl.json", - "size": 20, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "defaultUaBlack.json", - "size": 300, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "args.json", - "size": 3776, - "lastModified": "2024-10-10T05:38:23.000+00:00" - } - ] - }, - { - "name": "html", - "size": 0, - "lastModified": "2024-10-10T05:38:23.000+00:00", - "files": [ - { - "name": "5s.html", - "size": 1028, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "5s.js", - "size": 735, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "ip.html", - "size": 23684, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "cc.html", - "size": 23675, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "geo.html", - "size": 23671, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "forbidden.html", - "size": 23681, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "slide.js", - "size": 3234, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "unknown.html", - "size": 23680, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "slide.html", - "size": 1270, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "redirect.html", - "size": 1040, - "lastModified": "2024-10-10T05:38:23.000+00:00" - } - ] - }, - { - "name": "default", - "size": 0, - "lastModified": "2024-10-10T05:38:23.000+00:00", - "files": [ - { - "name": "unknown.html", - "size": 23680, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "forbidden.html", - "size": 23681, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "ip.html", - "size": 23684, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "geo.html", - "size": 23671, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "cc.html", - "size": 23675, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "global.json", - "size": 3013, - "lastModified": "2024-10-10T05:38:23.000+00:00" - }, - { - "name": "monitor.json", - "size": 372, - "lastModified": "2024-10-10T05:38:23.000+00:00" - } - ] - } - ] - } - ] - }, - { - "name": "openresty-1.25.3.2-0-1-focal.tar.gz", - "size": 99157435, - "lastModified": "2024-10-10T05:38:42.000+00:00" - }, - { - "name": "conf", - "size": 0, - "lastModified": "2024-10-10T05:38:26.000+00:00", - "files": [ - { - "name": "mime.types", - "size": 5347, - "lastModified": "2024-10-10T05:38:26.000+00:00" - }, - { - "name": "fastcgi_params", - "size": 990, - "lastModified": "2024-10-10T05:38:26.000+00:00" - }, - { - "name": "fastcgi-php.conf", - "size": 428, - "lastModified": "2024-10-10T05:38:26.000+00:00" - }, - { - "name": "conf.d", - "size": 0, - "lastModified": "2024-10-10T05:38:26.000+00:00", - "files": [ - { - "name": "00.default.conf", - "size": 101, - "lastModified": "2024-10-10T05:38:26.000+00:00" - }, - { - "name": "default.conf", - "size": 344, - "lastModified": "2024-10-10T05:38:26.000+00:00" - } - ] - }, - { - "name": "nginx.conf", - "size": 1408, - "lastModified": "2024-10-10T05:38:26.000+00:00" - } - ] - }, - { - "name": "scripts", - "size": 0, - "lastModified": "2024-10-10T05:38:26.000+00:00", - "files": [ - { - "name": "init.sh", - "size": 381, - "lastModified": "2024-10-10T05:38:26.000+00:00" - } - ] - }, - { - "name": "root", - "size": 0, - "lastModified": "2024-10-10T05:38:26.000+00:00", - "files": [ - { - "name": "404.html", - "size": 130, - "lastModified": "2024-10-10T05:38:26.000+00:00" - }, - { - "name": "stop", - "size": 0, - "lastModified": "2024-10-10T05:38:26.000+00:00", - "files": [ - { - "name": "index.html", - "size": 13730, - "lastModified": "2024-10-10T05:38:26.000+00:00" - } - ] - }, - { - "name": "index.html", - "size": 732, - "lastModified": "2024-10-10T05:38:26.000+00:00" - } - ] - }, - { - "name": "docker-compose.yml", - "size": 1104, - "lastModified": "2024-10-10T05:38:26.000+00:00" - }, - { - "name": "data.yml", - "size": 634, - "lastModified": "2024-10-10T05:38:26.000+00:00" - }, - { - "name": "build", - "size": 0, - "lastModified": "2024-10-10T05:38:35.000+00:00", - "files": [ - { - "name": "nginx.conf", - "size": 2989, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "nginx.vh.default.conf", - "size": 1590, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "tmp", - "size": 0, - "lastModified": "2024-10-10T05:38:35.000+00:00", - "files": [ - { - "name": "pcre-8.45.tar.gz", - "size": 2096552, - "lastModified": "2024-10-10T05:38:26.000+00:00" - }, - { - "name": "nginx-rtmp-module.zip", - "size": 3883566, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "ngx_brotli.zip", - "size": 73828552, - "lastModified": "2024-10-10T05:38:35.000+00:00" - }, - { - "name": "openssl-1.1.1w.tar.gz", - "size": 9893384, - "lastModified": "2024-10-10T05:38:26.000+00:00" - }, - { - "name": "openresty-1.25.3.2.tar.gz", - "size": 5837745, - "lastModified": "2024-10-10T05:38:25.000+00:00" - }, - { - "name": "libmaxminddb.zip", - "size": 804632, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "luarocks-3.11.0.tar.gz", - "size": 277031, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "lsqlite3.zip", - "size": 42869, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "pre.sh", - "size": 0, - "lastModified": "2024-10-10T05:38:26.000+00:00" - }, - { - "name": "ngx_http_substitutions_filter_module.zip", - "size": 452614, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "default.sh", - "size": 840, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "ngx_http_geoip2_module.zip", - "size": 607827, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "nginx-dav-ext-module.zip", - "size": 152412, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "libinjection-master.zip", - "size": 1791412, - "lastModified": "2024-10-10T05:38:24.000+00:00" - } - ] - }, - { - "name": "Dockerfile", - "size": 9910, - "lastModified": "2024-10-10T05:38:24.000+00:00" - }, - { - "name": "module.json", - "size": 1096, - "lastModified": "2024-10-10T05:38:24.000+00:00" - } - ] - } - ], - "downloadUrl": "https://cdn.nextzenos.com/CDN/NextWeb/raw/branch/main/dev/nextweb/openresty/1.25.3.2-0-1-focal/openresty-1.25.3.2-0-1-focal.tar.gz", - "downloadCallbackUrl": "https://cdn.nextzenos.com/CDN/NextWeb/raw/branch/main/download-callback", - "additionalProperties": { - "formFields": [ - { - "default": 80, - "envKey": "PANEL_APP_PORT_HTTP", - "labelEn": "HTTP Port", - "labelZh": "HTTP 端口", - "required": true, - "type": "number" - }, - { - "default": 443, - "envKey": "PANEL_APP_PORT_HTTPS", - "labelEn": "HTTPS Port", - "labelZh": "HTTPS 端口", - "required": true, - "type": "number" - }, - { - "default": "www", - "envKey": "WEBSITE_DIR", - "labelEn": "Website Dir", - "labelZh": "网站目录(默认网站目录会放置在 1Panel 安装目录下,如需修改请以绝对路径填写)", - "required": true, - "type": "text" - } - ] - } - }, - { - "valid": true, - "violations": [], - "id": "1-21-4-3-3-3-focal", - "readMe": null, - "name": "1.21.4.3-3-3-focal", - "lastModified": 1730384535, - "files": [ - { - "name": "conf", - "size": 0, - "lastModified": "2024-10-31T14:22:15.000+00:00", - "files": [ - { - "name": "mime.types", - "size": 5347, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "fastcgi_params", - "size": 990, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "fastcgi-php.conf", - "size": 428, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "nginx.conf", - "size": 1348, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "conf.d", - "size": 0, - "lastModified": "2024-10-31T14:22:15.000+00:00", - "files": [ - { - "name": "default.conf", - "size": 344, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "00.default.conf", - "size": 299, - "lastModified": "2024-10-31T14:22:15.000+00:00" - } - ] - } - ] - }, - { - "name": "scripts", - "size": 0, - "lastModified": "2024-10-31T14:22:15.000+00:00", - "files": [ - { - "name": "init.sh", - "size": 379, - "lastModified": "2024-10-31T14:22:15.000+00:00" - } - ] - }, - { - "name": "openresty-1.21.4.3-3-3-focal.tar.gz", - "size": 67307, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "data.yml", - "size": 378, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "root", - "size": 0, - "lastModified": "2024-10-31T14:22:15.000+00:00", - "files": [ - { - "name": "stop", - "size": 0, - "lastModified": "2024-10-31T14:22:15.000+00:00", - "files": [ - { - "name": "index.html", - "size": 13730, - "lastModified": "2024-10-31T14:22:15.000+00:00" - } - ] - }, - { - "name": "index.html", - "size": 732, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "404.html", - "size": 130, - "lastModified": "2024-10-31T14:22:15.000+00:00" - } - ] - }, - { - "name": "docker-compose.yml", - "size": 734, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "1pwaf", - "size": 0, - "lastModified": "2024-10-31T14:22:15.000+00:00", - "files": [ - { - "name": "data", - "size": 0, - "lastModified": "2024-10-31T14:22:15.000+00:00", - "files": [ - { - "name": "conf", - "size": 0, - "lastModified": "2024-10-31T14:22:15.000+00:00", - "files": [ - { - "name": ".secret", - "size": 0, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "siteConfig.json", - "size": 1659, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "sites.json", - "size": 0, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "waf.json", - "size": 48, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "monitor.json", - "size": 372, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "waf.conf", - "size": 568, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": ".aes_key", - "size": 0, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "token", - "size": 0, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "global.json", - "size": 3013, - "lastModified": "2024-10-31T14:22:15.000+00:00" - } - ] - }, - { - "name": "rules", - "size": 0, - "lastModified": "2024-10-31T14:22:15.000+00:00", - "files": [ - { - "name": "urlWhite.json", - "size": 17, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "header.json", - "size": 630, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "ipWhite.json", - "size": 20, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "defaultUrlBlack.json", - "size": 4709, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "args.json", - "size": 3776, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "post.json", - "size": 3513, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "methodWhite.json", - "size": 2287, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "ipBlack.json", - "size": 20, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "acl.json", - "size": 20, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "cookie.json", - "size": 3179, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "cdn.json", - "size": 669, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "defaultUaBlack.json", - "size": 300, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "urlBlack.json", - "size": 17, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "uaWhite.json", - "size": 18, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "uaBlack.json", - "size": 20, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "fileExt.json", - "size": 518, - "lastModified": "2024-10-31T14:22:15.000+00:00" - } - ] - }, - { - "name": "html", - "size": 0, - "lastModified": "2024-10-31T14:22:15.000+00:00", - "files": [ - { - "name": "5s.html", - "size": 1028, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "unknown.html", - "size": 23680, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "slide.js", - "size": 3234, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "geo.html", - "size": 23671, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "redirect.html", - "size": 1040, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "slide.html", - "size": 1270, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "forbidden.html", - "size": 23681, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "ip.html", - "size": 23684, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "5s.js", - "size": 735, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "cc.html", - "size": 23675, - "lastModified": "2024-10-31T14:22:15.000+00:00" - } - ] - }, - { - "name": "default", - "size": 0, - "lastModified": "2024-10-31T14:22:15.000+00:00", - "files": [ - { - "name": "ip.html", - "size": 23684, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "global.json", - "size": 3013, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "monitor.json", - "size": 372, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "cc.html", - "size": 23675, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "unknown.html", - "size": 23680, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "forbidden.html", - "size": 23681, - "lastModified": "2024-10-31T14:22:15.000+00:00" - }, - { - "name": "geo.html", - "size": 23671, - "lastModified": "2024-10-31T14:22:15.000+00:00" - } - ] - } - ] - } - ] - } - ], - "downloadUrl": "https://cdn.nextzenos.com/CDN/NextWeb/raw/branch/main/dev/nextweb/openresty/1.21.4.3-3-3-focal/openresty-1.21.4.3-3-3-focal.tar.gz", - "downloadCallbackUrl": "https://cdn.nextzenos.com/CDN/NextWeb/raw/branch/main/download-callback", - "additionalProperties": { - "formFields": [ - { - "default": 80, - "envKey": "PANEL_APP_PORT_HTTP", - "labelEn": "HTTP Port", - "labelZh": "HTTP 端口", - "required": true, - "type": "number" - }, - { - "default": 443, - "envKey": "PANEL_APP_PORT_HTTPS", - "labelEn": "HTTPS Port", - "labelZh": "HTTPS 端口", - "required": true, - "type": "number" - } - ] - } - }, - { - "valid": true, - "violations": [], - "id": "1-21-4-3-3-2-focal", - "readMe": null, - "name": "1.21.4.3-3-2-focal", - "lastModified": 1719224611, - "files": [ - { - "name": "1pwaf", - "size": 0, - "lastModified": "2024-06-24T10:23:31.000+00:00", - "files": [ - { - "name": "data", - "size": 0, - "lastModified": "2024-06-24T10:23:31.000+00:00", - "files": [ - { - "name": "conf", - "size": 0, - "lastModified": "2024-06-24T10:23:31.000+00:00", - "files": [ - { - "name": "sites.json", - "size": 0, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "waf.json", - "size": 48, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "waf.conf", - "size": 568, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "siteConfig.json", - "size": 1640, - "lastModified": "2024-06-24T10:23:30.000+00:00" - }, - { - "name": ".aes_key", - "size": 0, - "lastModified": "2024-06-24T10:23:30.000+00:00" - }, - { - "name": ".secret", - "size": 0, - "lastModified": "2024-06-24T10:23:30.000+00:00" - }, - { - "name": "token", - "size": 0, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "global.json", - "size": 2994, - "lastModified": "2024-06-24T10:23:30.000+00:00" - }, - { - "name": "monitor.json", - "size": 344, - "lastModified": "2024-06-24T10:23:30.000+00:00" - } - ] - }, - { - "name": "default", - "size": 0, - "lastModified": "2024-06-24T10:23:31.000+00:00", - "files": [ - { - "name": "monitor.json", - "size": 343, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "unknown.html", - "size": 23680, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "geo.html", - "size": 23671, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "global.json", - "size": 2822, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "cc.html", - "size": 23675, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "ip.html", - "size": 23684, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "forbidden.html", - "size": 23681, - "lastModified": "2024-06-24T10:23:31.000+00:00" - } - ] - }, - { - "name": "rules", - "size": 0, - "lastModified": "2024-06-24T10:23:31.000+00:00", - "files": [ - { - "name": "defaultUaBlack.json", - "size": 300, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "methodWhite.json", - "size": 2287, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "args.json", - "size": 3776, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "uaBlack.json", - "size": 20, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "ipWhite.json", - "size": 20, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "cookie.json", - "size": 3179, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "fileExt.json", - "size": 518, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "post.json", - "size": 3513, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "header.json", - "size": 630, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "uaWhite.json", - "size": 18, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "ipBlack.json", - "size": 20, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "acl.json", - "size": 20, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "cdn.json", - "size": 669, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "urlWhite.json", - "size": 17, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "urlBlack.json", - "size": 17, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "defaultUrlBlack.json", - "size": 4709, - "lastModified": "2024-06-24T10:23:31.000+00:00" - } - ] - }, - { - "name": "html", - "size": 0, - "lastModified": "2024-06-24T10:23:31.000+00:00", - "files": [ - { - "name": "slide.js", - "size": 3234, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "unknown.html", - "size": 23680, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "cc.html", - "size": 23675, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "geo.html", - "size": 23671, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "5s.html", - "size": 1028, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "slide.html", - "size": 1270, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "ip.html", - "size": 23684, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "redirect.html", - "size": 1040, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "forbidden.html", - "size": 23681, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "5s.js", - "size": 735, - "lastModified": "2024-06-24T10:23:31.000+00:00" - } - ] - } - ] - } - ] - }, - { - "name": "conf", - "size": 0, - "lastModified": "2024-06-24T10:23:31.000+00:00", - "files": [ - { - "name": "mime.types", - "size": 5347, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "fastcgi-php.conf", - "size": 428, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "conf.d", - "size": 0, - "lastModified": "2024-06-24T10:23:31.000+00:00", - "files": [ - { - "name": "00.default.conf", - "size": 299, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "default.conf", - "size": 344, - "lastModified": "2024-06-24T10:23:31.000+00:00" - } - ] - }, - { - "name": "fastcgi_params", - "size": 990, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "nginx.conf", - "size": 1348, - "lastModified": "2024-06-24T10:23:31.000+00:00" - } - ] - }, - { - "name": "docker-compose.yml", - "size": 665, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "data.yml", - "size": 378, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "scripts", - "size": 0, - "lastModified": "2024-06-24T10:23:31.000+00:00", - "files": [ - { - "name": "init.sh", - "size": 379, - "lastModified": "2024-06-24T10:23:31.000+00:00" - } - ] - }, - { - "name": "root", - "size": 0, - "lastModified": "2024-06-24T10:23:31.000+00:00", - "files": [ - { - "name": "stop", - "size": 0, - "lastModified": "2024-06-24T10:23:31.000+00:00", - "files": [ - { - "name": "index.html", - "size": 13730, - "lastModified": "2024-06-24T10:23:31.000+00:00" - } - ] - }, - { - "name": "index.html", - "size": 732, - "lastModified": "2024-06-24T10:23:31.000+00:00" - }, - { - "name": "404.html", - "size": 130, - "lastModified": "2024-06-24T10:23:31.000+00:00" - } - ] - }, - { - "name": "openresty-1.21.4.3-3-2-focal.tar.gz", - "size": 67325, - "lastModified": "2024-06-24T10:23:31.000+00:00" - } - ], - "downloadUrl": "https://cdn.nextzenos.com/CDN/NextWeb/raw/branch/main/dev/nextweb/openresty/1.21.4.3-3-2-focal/openresty-1.21.4.3-3-2-focal.tar.gz", - "downloadCallbackUrl": "https://cdn.nextzenos.com/CDN/NextWeb/raw/branch/main/download-callback", - "additionalProperties": { - "formFields": [ - { - "default": 80, - "envKey": "PANEL_APP_PORT_HTTP", - "labelEn": "HTTP Port", - "labelZh": "HTTP 端口", - "required": true, - "type": "number" - }, - { - "default": 443, - "envKey": "PANEL_APP_PORT_HTTPS", - "labelEn": "HTTPS Port", - "labelZh": "HTTPS 端口", - "required": true, - "type": "number" - } - ] - } - }, - { - "valid": true, - "violations": [], - "id": "1-21-4-3-3-1-focal", - "readMe": null, - "name": "1.21.4.3-3-1-focal", - "lastModified": 1717991999, - "files": [ - { - "name": "openresty-1.21.4.3-3-1-focal.tar.gz", - "size": 59379, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "scripts", - "size": 0, - "lastModified": "2024-06-10T03:59:59.000+00:00", - "files": [ - { - "name": "init.sh", - "size": 379, - "lastModified": "2024-06-10T03:59:59.000+00:00" - } - ] - }, - { - "name": "root", - "size": 0, - "lastModified": "2024-06-10T03:59:59.000+00:00", - "files": [ - { - "name": "index.html", - "size": 732, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "404.html", - "size": 130, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "stop", - "size": 0, - "lastModified": "2024-06-10T03:59:59.000+00:00", - "files": [ - { - "name": "index.html", - "size": 3643, - "lastModified": "2024-06-10T03:59:59.000+00:00" - } - ] - } - ] - }, - { - "name": "docker-compose.yml", - "size": 665, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "data.yml", - "size": 378, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "conf", - "size": 0, - "lastModified": "2024-06-10T03:59:59.000+00:00", - "files": [ - { - "name": "fastcgi_params", - "size": 990, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "nginx.conf", - "size": 1348, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "conf.d", - "size": 0, - "lastModified": "2024-06-10T03:59:59.000+00:00", - "files": [ - { - "name": "default.conf", - "size": 344, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "00.default.conf", - "size": 299, - "lastModified": "2024-06-10T03:59:59.000+00:00" - } - ] - }, - { - "name": "mime.types", - "size": 5347, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "fastcgi-php.conf", - "size": 428, - "lastModified": "2024-06-10T03:59:59.000+00:00" - } - ] - }, - { - "name": "1pwaf", - "size": 0, - "lastModified": "2024-06-10T03:59:59.000+00:00", - "files": [ - { - "name": "data", - "size": 0, - "lastModified": "2024-06-10T03:59:59.000+00:00", - "files": [ - { - "name": "html", - "size": 0, - "lastModified": "2024-06-10T03:59:59.000+00:00", - "files": [ - { - "name": "redirect.html", - "size": 1040, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "5s.js", - "size": 735, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "slide.js", - "size": 3234, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "slide.html", - "size": 1270, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "ip.html", - "size": 23684, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "geo.html", - "size": 23671, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "5s.html", - "size": 1028, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "cc.html", - "size": 23675, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "forbidden.html", - "size": 23681, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "unknown.html", - "size": 23680, - "lastModified": "2024-06-10T03:59:59.000+00:00" - } - ] - }, - { - "name": "default", - "size": 0, - "lastModified": "2024-06-10T03:59:59.000+00:00", - "files": [ - { - "name": "global.json", - "size": 2822, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "unknown.html", - "size": 23680, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "monitor.json", - "size": 343, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "ip.html", - "size": 23684, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "cc.html", - "size": 23675, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "forbidden.html", - "size": 23681, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "geo.html", - "size": 23671, - "lastModified": "2024-06-10T03:59:59.000+00:00" - } - ] - }, - { - "name": "rules", - "size": 0, - "lastModified": "2024-06-10T03:59:59.000+00:00", - "files": [ - { - "name": "args.json", - "size": 3776, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "fileExt.json", - "size": 518, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "cookie.json", - "size": 3179, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "header.json", - "size": 630, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "uaBlack.json", - "size": 20, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "defaultUrlBlack.json", - "size": 4709, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "post.json", - "size": 3513, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "defaultUaBlack.json", - "size": 300, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "ipBlack.json", - "size": 20, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "methodWhite.json", - "size": 2287, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "cdn.json", - "size": 669, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "uaWhite.json", - "size": 18, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "urlBlack.json", - "size": 17, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "ipWhite.json", - "size": 20, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "urlWhite.json", - "size": 17, - "lastModified": "2024-06-10T03:59:59.000+00:00" - }, - { - "name": "acl.json", - "size": 20, - "lastModified": "2024-06-10T03:59:59.000+00:00" - } - ] - }, - { - "name": "conf", - "size": 0, - "lastModified": "2024-06-10T03:59:58.000+00:00", - "files": [ - { - "name": ".aes_key", - "size": 0, - "lastModified": "2024-06-10T03:59:58.000+00:00" - }, - { - "name": "token", - "size": 0, - "lastModified": "2024-06-10T03:59:58.000+00:00" - }, - { - "name": "monitor.json", - "size": 343, - "lastModified": "2024-06-10T03:59:58.000+00:00" - }, - { - "name": "waf.json", - "size": 48, - "lastModified": "2024-06-10T03:59:58.000+00:00" - }, - { - "name": "waf.conf", - "size": 568, - "lastModified": "2024-06-10T03:59:58.000+00:00" - }, - { - "name": "global.json", - "size": 2994, - "lastModified": "2024-06-10T03:59:58.000+00:00" - }, - { - "name": "siteConfig.json", - "size": 1640, - "lastModified": "2024-06-10T03:59:58.000+00:00" - }, - { - "name": "sites.json", - "size": 0, - "lastModified": "2024-06-10T03:59:58.000+00:00" - }, - { - "name": ".secret", - "size": 0, - "lastModified": "2024-06-10T03:59:58.000+00:00" - } - ] - } - ] - } - ] - } - ], - "downloadUrl": "https://cdn.nextzenos.com/CDN/NextWeb/raw/branch/main/dev/nextweb/openresty/1.21.4.3-3-1-focal/openresty-1.21.4.3-3-1-focal.tar.gz", - "downloadCallbackUrl": "https://cdn.nextzenos.com/CDN/NextWeb/raw/branch/main/download-callback", - "additionalProperties": { - "formFields": [ - { - "default": 80, - "envKey": "PANEL_APP_PORT_HTTP", - "labelEn": "HTTP Port", - "labelZh": "HTTP 端口", - "required": true, - "type": "number" - }, - { - "default": 443, - "envKey": "PANEL_APP_PORT_HTTPS", - "labelEn": "HTTPS Port", - "labelZh": "HTTPS 端口", - "required": true, - "type": "number" - } - ] - } - }, - { - "valid": true, - "violations": [], - "id": "1-21-4-3-2-2-focal", - "readMe": null, - "name": "1.21.4.3-2-2-focal", - "lastModified": 1717512616, - "files": [ - { - "name": "data.yml", - "size": 378, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "openresty-1.21.4.3-2-2-focal.tar.gz", - "size": 7867500, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "root", - "size": 0, - "lastModified": "2024-06-04T14:50:16.000+00:00", - "files": [ - { - "name": "404.html", - "size": 130, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "index.html", - "size": 732, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "stop", - "size": 0, - "lastModified": "2024-06-04T14:50:16.000+00:00", - "files": [ - { - "name": "index.html", - "size": 3643, - "lastModified": "2024-06-04T14:50:16.000+00:00" - } - ] - } - ] - }, - { - "name": "scripts", - "size": 0, - "lastModified": "2024-06-04T14:50:16.000+00:00", - "files": [ - { - "name": "init.sh", - "size": 379, - "lastModified": "2024-06-04T14:50:16.000+00:00" - } - ] - }, - { - "name": "conf", - "size": 0, - "lastModified": "2024-06-04T14:50:16.000+00:00", - "files": [ - { - "name": "fastcgi-php.conf", - "size": 428, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "conf.d", - "size": 0, - "lastModified": "2024-06-04T14:50:16.000+00:00", - "files": [ - { - "name": "default.conf", - "size": 344, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "00.default.conf", - "size": 299, - "lastModified": "2024-06-04T14:50:16.000+00:00" - } - ] - }, - { - "name": "nginx.conf", - "size": 1348, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "fastcgi_params", - "size": 990, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "mime.types", - "size": 5347, - "lastModified": "2024-06-04T14:50:16.000+00:00" - } - ] - }, - { - "name": "1pwaf", - "size": 0, - "lastModified": "2024-06-04T14:50:16.000+00:00", - "files": [ - { - "name": "data", - "size": 0, - "lastModified": "2024-06-04T14:50:16.000+00:00", - "files": [ - { - "name": "default", - "size": 0, - "lastModified": "2024-06-04T14:50:15.000+00:00", - "files": [ - { - "name": "global.json", - "size": 2822, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "forbidden.html", - "size": 23681, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "geo.html", - "size": 23671, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "cc.html", - "size": 23675, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "unknown.html", - "size": 23680, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "ip.html", - "size": 23684, - "lastModified": "2024-06-04T14:50:15.000+00:00" - } - ] - }, - { - "name": "html", - "size": 0, - "lastModified": "2024-06-04T14:50:16.000+00:00", - "files": [ - { - "name": "5s.js", - "size": 735, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "slide.js", - "size": 3234, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "geo.html", - "size": 23671, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "cc.html", - "size": 23675, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "unknown.html", - "size": 23680, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "5s.html", - "size": 1028, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "ip.html", - "size": 23684, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "redirect.html", - "size": 1040, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "slide.html", - "size": 1270, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "forbidden.html", - "size": 23681, - "lastModified": "2024-06-04T14:50:15.000+00:00" - } - ] - }, - { - "name": "conf", - "size": 0, - "lastModified": "2024-06-04T14:50:15.000+00:00", - "files": [ - { - "name": "waf.conf", - "size": 567, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "waf.json", - "size": 48, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "sites.json", - "size": 0, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": ".secret", - "size": 0, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "global.json", - "size": 2994, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "token", - "size": 0, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": ".aes_key", - "size": 0, - "lastModified": "2024-06-04T14:50:15.000+00:00" - }, - { - "name": "siteConfig.json", - "size": 1640, - "lastModified": "2024-06-04T14:50:15.000+00:00" - } - ] - }, - { - "name": "rules", - "size": 0, - "lastModified": "2024-06-04T14:50:16.000+00:00", - "files": [ - { - "name": "args.json", - "size": 3776, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "methodWhite.json", - "size": 2287, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "ipWhite.json", - "size": 20, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "cookie.json", - "size": 3179, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "uaWhite.json", - "size": 18, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "uaBlack.json", - "size": 20, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "fileExt.json", - "size": 518, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "header.json", - "size": 630, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "defaultUrlBlack.json", - "size": 4461, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "cdn.json", - "size": 625, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "acl.json", - "size": 20, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "ipBlack.json", - "size": 20, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "defaultUaBlack.json", - "size": 300, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "urlBlack.json", - "size": 17, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "urlWhite.json", - "size": 17, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "post.json", - "size": 3513, - "lastModified": "2024-06-04T14:50:16.000+00:00" - } - ] - }, - { - "name": "geo", - "size": 0, - "lastModified": "2024-06-04T14:50:16.000+00:00", - "files": [ - { - "name": "GeoIP.mmdb", - "size": 17078230, - "lastModified": "2024-06-04T14:50:16.000+00:00" - }, - { - "name": "BlackIP.mmdb", - "size": 62661, - "lastModified": "2024-06-04T14:50:15.000+00:00" - } - ] - } - ] - } - ] - }, - { - "name": "docker-compose.yml", - "size": 665, - "lastModified": "2024-06-04T14:50:16.000+00:00" - } - ], - "downloadUrl": "https://cdn.nextzenos.com/CDN/NextWeb/raw/branch/main/dev/nextweb/openresty/1.21.4.3-2-2-focal/openresty-1.21.4.3-2-2-focal.tar.gz", - "downloadCallbackUrl": "https://cdn.nextzenos.com/CDN/NextWeb/raw/branch/main/download-callback", - "additionalProperties": { - "formFields": [ - { - "default": 80, - "envKey": "PANEL_APP_PORT_HTTP", - "labelEn": "HTTP Port", - "labelZh": "HTTP 端口", - "required": true, - "type": "number" - }, - { - "default": 443, - "envKey": "PANEL_APP_PORT_HTTPS", - "labelEn": "HTTPS Port", - "labelZh": "HTTPS 端口", - "required": true, - "type": "number" - } - ] - } - }, - { - "valid": true, - "violations": [], - "id": "1-21-4-3-2-1-focal", - "readMe": null, - "name": "1.21.4.3-2-1-focal", - "lastModified": 1714967380, - "files": [ - { - "name": "data.yml", - "size": 378, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "conf", - "size": 0, - "lastModified": "2024-05-06T03:49:40.000+00:00", - "files": [ - { - "name": "nginx.conf", - "size": 1348, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "fastcgi_params", - "size": 990, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "fastcgi-php.conf", - "size": 428, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "mime.types", - "size": 5347, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "conf.d", - "size": 0, - "lastModified": "2024-05-06T03:49:40.000+00:00", - "files": [ - { - "name": "default.conf", - "size": 344, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "00.default.conf", - "size": 299, - "lastModified": "2024-05-06T03:49:40.000+00:00" - } - ] - } - ] - }, - { - "name": "root", - "size": 0, - "lastModified": "2024-05-06T03:49:40.000+00:00", - "files": [ - { - "name": "404.html", - "size": 130, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "stop", - "size": 0, - "lastModified": "2024-05-06T03:49:40.000+00:00", - "files": [ - { - "name": "index.html", - "size": 3643, - "lastModified": "2024-05-06T03:49:40.000+00:00" - } - ] - }, - { - "name": "index.html", - "size": 732, - "lastModified": "2024-05-06T03:49:40.000+00:00" - } - ] - }, - { - "name": "scripts", - "size": 0, - "lastModified": "2024-05-06T03:49:40.000+00:00", - "files": [ - { - "name": "init.sh", - "size": 379, - "lastModified": "2024-05-06T03:49:40.000+00:00" - } - ] - }, - { - "name": "openresty-1.21.4.3-2-1-focal.tar.gz", - "size": 7868453, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "docker-compose.yml", - "size": 665, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "1pwaf", - "size": 0, - "lastModified": "2024-05-06T03:49:40.000+00:00", - "files": [ - { - "name": "data", - "size": 0, - "lastModified": "2024-05-06T03:49:40.000+00:00", - "files": [ - { - "name": "rules", - "size": 0, - "lastModified": "2024-05-06T03:49:40.000+00:00", - "files": [ - { - "name": "header.json", - "size": 630, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "fileExt.json", - "size": 518, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "args.json", - "size": 3776, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "cookie.json", - "size": 3179, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "acl.json", - "size": 20, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "defaultUaBlack.json", - "size": 300, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "methodWhite.json", - "size": 2287, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "post.json", - "size": 3513, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "uaWhite.json", - "size": 18, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "urlWhite.json", - "size": 17, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "uaBlack.json", - "size": 20, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "ipBlack.json", - "size": 20, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "defaultUrlBlack.json", - "size": 4461, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "ipWhite.json", - "size": 20, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "urlBlack.json", - "size": 17, - "lastModified": "2024-05-06T03:49:40.000+00:00" - } - ] - }, - { - "name": "html", - "size": 0, - "lastModified": "2024-05-06T03:49:40.000+00:00", - "files": [ - { - "name": "forbidden.html", - "size": 23681, - "lastModified": "2024-05-06T03:49:39.000+00:00" - }, - { - "name": "unknown.html", - "size": 23680, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "5s.js", - "size": 735, - "lastModified": "2024-05-06T03:49:39.000+00:00" - }, - { - "name": "slide.js", - "size": 3234, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "geo.html", - "size": 23671, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "redirect.html", - "size": 1040, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "ip.html", - "size": 23684, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "5s.html", - "size": 1028, - "lastModified": "2024-05-06T03:49:39.000+00:00" - }, - { - "name": "cc.html", - "size": 23675, - "lastModified": "2024-05-06T03:49:39.000+00:00" - }, - { - "name": "slide.html", - "size": 1270, - "lastModified": "2024-05-06T03:49:40.000+00:00" - } - ] - }, - { - "name": "default", - "size": 0, - "lastModified": "2024-05-06T03:49:39.000+00:00", - "files": [ - { - "name": "forbidden.html", - "size": 23681, - "lastModified": "2024-05-06T03:49:39.000+00:00" - }, - { - "name": "global.json", - "size": 2957, - "lastModified": "2024-05-06T03:49:39.000+00:00" - }, - { - "name": "ip.html", - "size": 23684, - "lastModified": "2024-05-06T03:49:39.000+00:00" - }, - { - "name": "geo.html", - "size": 23671, - "lastModified": "2024-05-06T03:49:39.000+00:00" - }, - { - "name": "cc.html", - "size": 23675, - "lastModified": "2024-05-06T03:49:39.000+00:00" - }, - { - "name": "unknown.html", - "size": 23680, - "lastModified": "2024-05-06T03:49:39.000+00:00" - } - ] - }, - { - "name": "conf", - "size": 0, - "lastModified": "2024-05-06T03:49:39.000+00:00", - "files": [ - { - "name": "siteConfig.json", - "size": 1604, - "lastModified": "2024-05-06T03:49:39.000+00:00" - }, - { - "name": "token", - "size": 0, - "lastModified": "2024-05-06T03:49:39.000+00:00" - }, - { - "name": ".aes_key", - "size": 0, - "lastModified": "2024-05-06T03:49:39.000+00:00" - }, - { - "name": "waf.conf", - "size": 567, - "lastModified": "2024-05-06T03:49:39.000+00:00" - }, - { - "name": "waf.json", - "size": 48, - "lastModified": "2024-05-06T03:49:39.000+00:00" - }, - { - "name": ".secret", - "size": 0, - "lastModified": "2024-05-06T03:49:39.000+00:00" - }, - { - "name": "sites.json", - "size": 0, - "lastModified": "2024-05-06T03:49:39.000+00:00" - }, - { - "name": "global.json", - "size": 2957, - "lastModified": "2024-05-06T03:49:39.000+00:00" - } - ] - }, - { - "name": "geo", - "size": 0, - "lastModified": "2024-05-06T03:49:40.000+00:00", - "files": [ - { - "name": "GeoIP.mmdb", - "size": 17078230, - "lastModified": "2024-05-06T03:49:40.000+00:00" - }, - { - "name": "BlackIP.mmdb", - "size": 62661, - "lastModified": "2024-05-06T03:49:39.000+00:00" - } - ] - } - ] - } - ] - } - ], - "downloadUrl": "https://cdn.nextzenos.com/CDN/NextWeb/raw/branch/main/dev/nextweb/openresty/1.21.4.3-2-1-focal/openresty-1.21.4.3-2-1-focal.tar.gz", - "downloadCallbackUrl": "https://cdn.nextzenos.com/CDN/NextWeb/raw/branch/main/download-callback", - "additionalProperties": { - "formFields": [ - { - "default": 80, - "envKey": "PANEL_APP_PORT_HTTP", - "labelEn": "HTTP Port", - "labelZh": "HTTP 端口", - "required": true, - "type": "number" - }, - { - "default": 443, - "envKey": "PANEL_APP_PORT_HTTPS", - "labelEn": "HTTPS Port", - "labelZh": "HTTPS 端口", - "required": true, - "type": "number" - } - ] - } - }, { "valid": true, "violations": [], diff --git a/dev/nextweb.json.zip b/dev/nextweb.json.zip index c4833b5..0b10dfc 100644 Binary files a/dev/nextweb.json.zip and b/dev/nextweb.json.zip differ diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty-1.21.4.3-0-focal.tar.gz b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty-1.21.4.3-0-focal.tar.gz index c8de588..7fbb233 100644 Binary files a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty-1.21.4.3-0-focal.tar.gz and b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty-1.21.4.3-0-focal.tar.gz differ diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/conf.d/00.default.conf b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/conf.d/00.default.conf new file mode 100644 index 0000000..aa768b2 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/conf.d/00.default.conf @@ -0,0 +1,18 @@ +map "" $empty { + default ""; +} + +server +{ + listen 80; + listen 443 ssl http2; + server_name _; + + ssl_ciphers aNULL; + ssl_certificate data:$empty; + ssl_certificate_key data:$empty; + ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; + + index 404.html; + root /usr/share/nginx/html; +} \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/conf.d/default.conf b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/conf.d/default.conf new file mode 100644 index 0000000..66765f8 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/conf.d/default.conf @@ -0,0 +1,18 @@ +server { + listen 80 ; + server_name 127.0.0.1 host.docker.internal; + charset utf-8; + default_type text/html; + + location ~ /.well-known/acme-challenge { + allow all; + root /usr/share/nginx/html; + } + + location /nginx_status { + stub_status on; + access_log off; + } + + root /usr/share/nginx/html; +} \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/fastcgi-php.conf b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/fastcgi-php.conf new file mode 100644 index 0000000..0f3d134 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/fastcgi-php.conf @@ -0,0 +1,13 @@ +# regex to split $uri to $fastcgi_script_name and $fastcgi_path +fastcgi_split_path_info ^(.+\.php)(/.+)$; + +# Check that the PHP script exists before passing it +try_files $fastcgi_script_name =404; + +# Bypass the fact that try_files resets $fastcgi_path_info +# see: http://trac.nginx.org/nginx/ticket/321 +set $path_info $fastcgi_path_info; +#fastcgi_param PATH_INFO $path_info; +fastcgi_read_timeout 3600; + +fastcgi_index index.php; diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/fastcgi_params b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/fastcgi_params new file mode 100644 index 0000000..0aa378e --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/fastcgi_params @@ -0,0 +1,24 @@ +fastcgi_param QUERY_STRING $query_string; +fastcgi_param REQUEST_METHOD $request_method; +fastcgi_param CONTENT_TYPE $content_type; +fastcgi_param CONTENT_LENGTH $content_length; + +fastcgi_param SCRIPT_NAME $fastcgi_script_name; +fastcgi_param REQUEST_URI $request_uri; +fastcgi_param DOCUMENT_URI $document_uri; +fastcgi_param DOCUMENT_ROOT $document_root; +fastcgi_param SERVER_PROTOCOL $server_protocol; +fastcgi_param REQUEST_SCHEME $scheme; +fastcgi_param HTTPS $https if_not_empty; + +fastcgi_param GATEWAY_INTERFACE CGI/1.1; +fastcgi_param SERVER_SOFTWARE nginx; + +fastcgi_param REMOTE_ADDR $remote_addr; +fastcgi_param REMOTE_PORT $remote_port; +fastcgi_param SERVER_ADDR $server_addr; +fastcgi_param SERVER_PORT $server_port; +fastcgi_param SERVER_NAME $server_name; + +# PHP only, required if PHP was built with --enable-force-cgi-redirect +fastcgi_param REDIRECT_STATUS 200; \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/mime.types b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/mime.types new file mode 100644 index 0000000..065d891 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/mime.types @@ -0,0 +1,98 @@ +types { + text/html html htm shtml; + text/css css; + text/xml xml; + image/gif gif; + image/jpeg jpeg jpg; + application/javascript js; + application/atom+xml atom; + application/rss+xml rss; + + text/mathml mml; + text/plain txt; + text/vnd.sun.j2me.app-descriptor jad; + text/vnd.wap.wml wml; + text/x-component htc; + + image/avif avif; + image/png png; + image/svg+xml svg svgz; + image/tiff tif tiff; + image/vnd.wap.wbmp wbmp; + image/webp webp; + image/x-icon ico; + image/x-jng jng; + image/x-ms-bmp bmp; + + font/woff woff; + font/woff2 woff2; + + application/java-archive jar war ear; + application/json json; + application/mac-binhex40 hqx; + application/msword doc; + application/pdf pdf; + application/postscript ps eps ai; + application/rtf rtf; + application/vnd.apple.mpegurl m3u8; + application/vnd.google-earth.kml+xml kml; + application/vnd.google-earth.kmz kmz; + application/vnd.ms-excel xls; + application/vnd.ms-fontobject eot; + application/vnd.ms-powerpoint ppt; + application/vnd.oasis.opendocument.graphics odg; + application/vnd.oasis.opendocument.presentation odp; + application/vnd.oasis.opendocument.spreadsheet ods; + application/vnd.oasis.opendocument.text odt; + application/vnd.openxmlformats-officedocument.presentationml.presentation + pptx; + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + xlsx; + application/vnd.openxmlformats-officedocument.wordprocessingml.document + docx; + application/vnd.wap.wmlc wmlc; + application/wasm wasm; + application/x-7z-compressed 7z; + application/x-cocoa cco; + application/x-java-archive-diff jardiff; + application/x-java-jnlp-file jnlp; + application/x-makeself run; + application/x-perl pl pm; + application/x-pilot prc pdb; + application/x-rar-compressed rar; + application/x-redhat-package-manager rpm; + application/x-sea sea; + application/x-shockwave-flash swf; + application/x-stuffit sit; + application/x-tcl tcl tk; + application/x-x509-ca-cert der pem crt; + application/x-xpinstall xpi; + application/xhtml+xml xhtml; + application/xspf+xml xspf; + application/zip zip; + + application/octet-stream bin exe dll; + application/octet-stream deb; + application/octet-stream dmg; + application/octet-stream iso img; + application/octet-stream msi msp msm; + + audio/midi mid midi kar; + audio/mpeg mp3; + audio/ogg ogg; + audio/x-m4a m4a; + audio/x-realaudio ra; + + video/3gpp 3gpp 3gp; + video/mp2t ts; + video/mp4 mp4; + video/mpeg mpeg mpg; + video/quicktime mov; + video/webm webm; + video/x-flv flv; + video/x-m4v m4v; + video/x-mng mng; + video/x-ms-asf asx asf; + video/x-ms-wmv wmv; + video/x-msvideo avi; +} \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/nginx.conf b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/nginx.conf new file mode 100644 index 0000000..67bb20c --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/nginx.conf @@ -0,0 +1,47 @@ +user root; +worker_processes auto; +error_log /var/log/nginx/error.log notice; +error_log /dev/stdout notice; +pid /var/run/nginx.pid; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + server_tokens off; + access_log /var/log/nginx/access.log main; + access_log /dev/stdout main; + sendfile on; + + server_names_hash_bucket_size 512; + client_header_buffer_size 32k; + client_max_body_size 50m; + keepalive_timeout 60; + keepalive_requests 100000; + + gzip on; + gzip_min_length 1k; + gzip_buffers 4 16k; + gzip_http_version 1.1; + gzip_comp_level 2; + gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml; + gzip_vary on; + gzip_proxied expired no-cache no-store private auth; + gzip_disable "MSIE [1-6]\."; + + lua_code_cache on; + lua_shared_dict limit 10m; + lua_package_path "/www/common/waf/?.lua;/usr/local/openresty/lualib/?.lua;"; + init_by_lua_file /www/common/waf/init.lua; + + limit_conn_zone $binary_remote_addr zone=perip:10m; + limit_conn_zone $server_name zone=perserver:10m; + + include /usr/local/openresty/nginx/conf/conf.d/*.conf; +} \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/data.yml b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/data.yml new file mode 100755 index 0000000..f4da223 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + formFields: + - default: 80 + envKey: PANEL_APP_PORT_HTTP + labelEn: HTTP Port + labelZh: HTTP 端口 + required: true + type: number + - default: 443 + envKey: PANEL_APP_PORT_HTTPS + labelEn: HTTPS Port + labelZh: HTTPS 端口 + required: true + type: number diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/docker-compose.yml b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/docker-compose.yml new file mode 100644 index 0000000..edbf513 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3' +services: + openresty: + image: openresty/openresty:1.21.4.3-0-focal + container_name: ${CONTAINER_NAME} + restart: always + network_mode: host + volumes: + - ./conf/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf + - ./conf/fastcgi_params:/usr/local/openresty/nginx/conf/fastcgi_params + - ./conf/fastcgi-php.conf:/usr/local/openresty/nginx/conf/fastcgi-php.conf + - ./log:/var/log/nginx + - ./conf/conf.d:/usr/local/openresty/nginx/conf/conf.d/ + - ./www:/www + - ./root:/usr/share/nginx/html + - /etc/localtime:/etc/localtime + labels: + createdBy: "Apps" diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/root/404.html b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/root/404.html new file mode 100644 index 0000000..d75ed78 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/root/404.html @@ -0,0 +1,6 @@ + +404 Not Found + +

404 Not Found

+
nginx
+ \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/root/index.html b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/root/index.html new file mode 100644 index 0000000..7ad10b8 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/root/index.html @@ -0,0 +1,37 @@ + + + + + 恭喜,站点创建成功! + + + +
+

恭喜, 站点创建成功!

+

这是默认index.html,本页面由系统自动生成

+ +
+ + \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/root/stop/index.html b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/root/stop/index.html new file mode 100644 index 0000000..a38fa64 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/root/stop/index.html @@ -0,0 +1,33 @@ + + + + + 抱歉,站点已暂停 + + + + +
+

抱歉!该站点已经被管理员停止运行,请联系管理员了解详情!

+
+ + \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/scripts/init.sh b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/scripts/init.sh new file mode 100644 index 0000000..dd1465e --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/scripts/init.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +source ./.env + +sed -i -E "s/(listen[[:space:]]+)(80)([[:space:]]*;)/\1${PANEL_APP_PORT_HTTP}\3/" conf/conf.d/00.default.conf +sed -i -E "s/(listen[[:space:]]+)(443)([[:space:]]+ssl[[:space:]]+http2;)/\1${PANEL_APP_PORT_HTTPS}\3/" conf/conf.d/00.default.conf + +sed -i -E "s/(listen[[:space:]]+)(80)([[:space:]]*;)/\1${PANEL_APP_PORT_HTTP}\3/" conf/conf.d/default.conf + diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/access.lua b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/access.lua new file mode 100644 index 0000000..67040ae --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/access.lua @@ -0,0 +1,394 @@ +local match = string.match +local ngxMatch=ngx.re.match +local unescape=ngx.unescape_uri +local get_headers = ngx.req.get_headers +local cjson = require "cjson" +local content_length=tonumber(ngx.req.get_headers()['content-length']) +local method=ngx.req.get_method() + + +local function optionIsOn(options) + return options == "on" or options == "On" or options == "ON" +end + +local logPath = ngx.var.logdir +local rulePath = ngx.var.RulePath +local PostDeny = optionIsOn(ngx.var.postDeny) + +local function getClientIp() + IP = ngx.var.remote_addr + if IP == nil then + IP = "unknown" + end + return IP +end +local function write(logfile,msg) + local fd = io.open(logfile,"ab") + if fd == nil then return end + fd:write(msg) + fd:flush() + fd:close() +end +local function log(method,url,data,ruletag) + local attackLog = optionIsOn(ngx.var.attackLog) + if attackLog then + local realIp = getClientIp() + local ua = ngx.var.http_user_agent + local servername=ngx.var.server_name + local time=ngx.localtime() + local line = nil + if ua then + line = realIp.." ["..time.."] \""..method.." "..servername..url.."\" \""..data.."\" \""..ua.."\" \""..ruletag.."\"\n" + else + line = realIp.." ["..time.."] \""..method.." "..servername..url.."\" \""..data.."\" - \""..ruletag.."\"\n" + end + local filename = logPath..'/'..servername.."_"..ngx.today().."_sec.log" + write(filename,line) + end +end +------------------------------------规则读取函数------------------------------------------------------------------- +local function read_json(var) + file = io.open(rulePath..'/'..var .. '.json',"r") + if file==nil then + return + end + str = file:read("*a") + file:close() + list = cjson.decode(str) + return list +end + +local function select_rules(rules) + if not rules then return {} end + new_rules = {} + for i,v in ipairs(rules) do + if v[3] == 1 then + table.insert(new_rules,v[1]) + end + end + return new_rules +end + +local function read_str(var) + file = io.open(rulePath..'/'..var,"r") + if file==nil then + return + end + local str = file:read("*a") + file:close() + return str +end + +local html=read_str('warn.html') + +local function say_html() + local redirect = optionIsOn(ngx.var.redirect) + if redirect then + ngx.header.content_type = "text/html" + ngx.status = ngx.HTTP_FORBIDDEN + ngx.say(html) + ngx.exit(ngx.status) + end +end + +local function whiteUrlCheck() + local urlWhiteAllow = optionIsOn(ngx.var.urlWhiteAllow) + if urlWhiteAllow then + local urlWhiteList = read_json('url_white') + if urlWhiteList ~= nil then + for _, rule in pairs(urlWhiteList) do + if ngxMatch(ngx.var.uri, rule, "isjo") then + return true + end + end + end + end + return false +end + +local function fileExtCheck(ext) + local fileExtDeny = optionIsOn(ngx.var.fileExtDeny) + if fileExtDeny then + local fileExtBlockList = read_json('fileExtBlockList') + local items = Set(fileExtBlockList) + ext=string.lower(ext) + if ext then + for rule in pairs(items) do + if ngx.re.match(ext,rule,"isjo") then + log('POST',ngx.var.request_uri,"-","file attack with ext "..ext) + say_html() + end + end + end + end + return false +end +function Set (list) + local set = {} + for _, l in ipairs(list) do set[l] = true end + return set +end + +local function getArgsCheck() + local argsDeny = optionIsOn(ngx.var.argsDeny) + if argsDeny then + local argsCheckList=select_rules(read_json('args_check')) + if argsCheckList then + for _,rule in pairs(argsCheckList) do + local uriArgs = ngx.req.get_uri_args() + for key, val in pairs(uriArgs) do + if type(val)=='table' then + local t={} + for k,v in pairs(val) do + if v == true then + v="" + end + table.insert(t,v) + end + data=table.concat(t, " ") + else + data=val + end + if data and type(data) ~= "boolean" and rule ~="" and ngxMatch(unescape(data),rule,"isjo") then + log('GET',ngx.var.request_uri,"-",rule) + say_html() + return true + end + end + end + end + end + return false +end + + +local function blockUrlCheck() + local urlBlockDeny = optionIsOn(ngx.var.urlBlockDeny) + if urlBlockDeny then + local urlBlockList=read_json('url_block') + for _, rule in pairs(urlBlockList) do + if rule ~= "" and ngxMatch(ngx.var.request_uri, rule, "isjo") then + log('GET', ngx.var.request_uri, "-", rule) + say_html() + return true + end + end + end + return false +end + +function ua() + local ua = ngx.var.http_user_agent + if ua ~= nil then + local uaRules = select_rules(read_json('user_agent')) + for _,rule in pairs(uaRules) do + if rule ~="" and ngxMatch(ua,rule,"isjo") then + log('UA',ngx.var.request_uri,"-",rule) + say_html() + return true + end + end + end + return false +end +function body(data) + local postCheckList = select_rules(read_json('post_check')) + for _,rule in pairs(postCheckList) do + if rule ~="" and data~="" and ngxMatch(unescape(data),rule,"isjo") then + log('POST',ngx.var.request_uri,data,rule) + say_html() + return true + end + end + return false +end +local function cookieCheck() + local ck = ngx.var.http_cookie + local cookieDeny = optionIsOn(ngx.var.cookieDeny) + if cookieDeny and ck then + local cookieBlockList = select_rules(read_json('cookie_block')) + for _,rule in pairs(cookieBlockList) do + if rule ~="" and ngxMatch(ck,rule,"isjo") then + log('Cookie',ngx.var.request_uri,"-",rule) + say_html() + return true + end + end + end + return false +end + +local function denyCC() + local ccRate = read_str('cc.json') + local ccDeny = optionIsOn(ngx.var.CCDeny) + if ccDeny and ccRate then + local uri=ngx.var.uri + ccCount=tonumber(string.match(ccRate,'(.*)/')) + ccSeconds=tonumber(string.match(ccRate,'/(.*)')) + local access_uri = getClientIp()..uri + local limit = ngx.shared.limit + local req,_=limit:get(access_uri) + if req then + if req > ccCount then + ngx.exit(503) + return true + else + limit:incr(access_uri,1) + end + else + limit:set(access_uri,1,ccSeconds) + end + end + return false +end + +local function get_boundary() + local header = get_headers()["content-type"] + if not header then + return nil + end + + if type(header) == "table" then + header = header[1] + end + + local m = match(header, ";%s*boundary=\"([^\"]+)\"") + if m then + return m + end + + return match(header, ";%s*boundary=([^\",;]+)") +end + +local function whiteIpCheck() + local ipWhiteAllow = optionIsOn(ngx.var.ipWhiteAllow) + if ipWhiteAllow then + local ipWhiteList=read_json('ip_white') + if next(ipWhiteList) ~= nil then + for _,ip in pairs(ipWhiteList) do + if getClientIp()==ip then + return true + end + end + end + end + return false +end + +local function blockIpCheck() + local ipBlockDeny = optionIsOn(ngx.var.ipBlockDeny) + if ipBlockDeny then + local ipBlockList=read_json('ip_block') + if next(ipBlockList) ~= nil then + for _,ip in pairs(ipBlockList) do + if getClientIp()==ip then + ngx.exit(403) + return true + end + end + end + end + return false +end + +local function handleBodyKeyOrVal(kv) + if type(kv) == "table" then + if type(kv[1]) == "boolean" then + return + end + data = table.concat(kv, ", ") + else + data = kv + end + if data then + if type(data) ~= "boolean" then + body(data) + end + end +end + +local function postCheck() + if method == "POST" then + local boundary = get_boundary() + local fileExtDeny = optionIsOn(ngx.var.fileExtDeny) + if boundary and fileExtDeny then + local protocol = ngx.var.server_protocol + if protocol == "HTTP/2.0" then + return + end + local len = string.len + local sock = ngx.req.socket() + if not sock then + return + end + ngx.req.init_body(128 * 1024) + sock:settimeout(0) + local contentLength = nil + contentLength = tonumber(ngx.req.get_headers()['content-length']) + local chunk_size = 4096 + if contentLength < chunk_size then + chunk_size = contentLength + end + local size = 0 + while size < contentLength do + local data, err, partial = sock:receive(chunk_size) + data = data or partial + if not data then + return + end + ngx.req.append_body(data) + if body(data) then + return true + end + size = size + len(data) + local m = ngxMatch(data, 'Content-Disposition: form-data; (.+)filename="(.+)\\.(.*)"', 'ijo') + if m then + fileExtCheck(m[3]) + fileTranslate = true + else + if ngxMatch(data, "Content-Disposition:", 'isjo') then + fileTranslate = false + end + if fileTranslate == false then + if body(data) then + return true + end + end + end + local less = content_length - size + if less < chunk_size then + chunk_size = less + end + end + ngx.req.finish_body() + else + ngx.req.read_body() + local bodyObj = ngx.req.get_post_args() + if not bodyObj then + return + end + for key, val in pairs(bodyObj) do + handleBodyKeyOrVal(key) + handleBodyKeyOrVal(val) + end + end + end +end + +if whiteIpCheck() then +elseif blockIpCheck() then +elseif denyCC() then +elseif ngx.var.http_Acunetix_Aspect then + ngx.exit(444) +elseif ngx.var.http_X_Scan_Memo then + ngx.exit(444) +elseif whiteUrlCheck() then +elseif ua() then +elseif blockUrlCheck() then +elseif getArgsCheck() then +elseif cookieCheck() then +elseif PostDeny then + postCheck() +else + return +end diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/init.lua b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/init.lua new file mode 100644 index 0000000..84f342c --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/init.lua @@ -0,0 +1 @@ +ngx.log(ngx.INFO,"init success") \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/args_check.json b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/args_check.json new file mode 100644 index 0000000..0b1767c --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/args_check.json @@ -0,0 +1,26 @@ +[ + ["\\.\\./\\.\\./", "\u76ee\u5f55\u4fdd\u62a41", 1 ], + ["(?:etc\\/\\W*passwd)", "\u76ee\u5f55\u4fdd\u62a43", 1 ], + ["(gopher|doc|php|glob|^file|phar|zlib|ftp|ldap|dict|ogg|data)\\:\\/", "PHP\u6d41\u534f\u8bae\u8fc7\u6ee41", 1 ], + ["base64_decode\\(", "\u4e00\u53e5\u8bdd\u6728\u9a6c\u8fc7\u6ee43", 1], + ["(?:define|eval|file_get_contents|include|require|require_once|shell_exec|phpinfo|system|passthru|char|chr|preg_\\w+|execute|echo|print|print_r|var_dump|(fp)open|alert|showmodaldialog)\\(", "\u4e00\u53e5\u8bdd\u6728\u9a6c\u8fc7\u6ee44", 1 ], + ["\\$_(GET|post|cookie|files|session|env|phplib|GLOBALS|SERVER)\\[", "\u4e00\u53e5\u8bdd\u6728\u9a6c\u8fc7\u6ee45", 1], + ["select.+(from|limit)", "SQL\u6ce8\u5165\u8fc7\u6ee42", 1 ], + ["(?:(union(.*?)select))", "SQL\u6ce8\u5165\u8fc7\u6ee43", 1 ], + ["benchmark\\((.*)\\,(.*)\\)", "SQL\u6ce8\u5165\u8fc7\u6ee46", 1], + ["(?:from\\W+information_schema\\W)", "SQL\u6ce8\u5165\u8fc7\u6ee47", 1], + ["(?:(?:current_)user|database|concat|extractvalue|polygon|updatexml|geometrycollection|schema|multipoint|multipolygon|connection_id|linestring|multilinestring|exp|right|sleep|group_concat|load_file|benchmark|file_put_contents|urldecode|system|file_get_contents|select|substring|substr|fopen|popen|phpinfo|user|alert|scandir|shell_exec|eval|execute|concat_ws|strcmp|right)\\s*\\(", "SQL\u6ce8\u5165\u8fc7\u6ee48", 1 ], + ["\\<(iframe|script|body|img|layer|div|meta|style|base|object)", "XSS\u8fc7\u6ee41", 1], + ["(invokefunction|call_user_func_array|\\\\think\\\\)", "ThinkPHP payload\u5c01\u5835", 1 ], + ["^url_array\\[.*\\]$", "Metinfo6.x XSS\u6f0f\u6d1e", 1], + ["(extractvalue\\(|concat\\(0x|user\\(\\)|substring\\(|count\\(\\*\\)|substring\\(hex\\(|updatexml\\()", "SQL\u62a5\u9519\u6ce8\u5165\u8fc7\u6ee401", 1], + ["(@@version|load_file\\(|NAME_CONST\\(|exp\\(\\~|floor\\(rand\\(|geometrycollection\\(|multipoint\\(|polygon\\(|multipolygon\\(|linestring\\(|multilinestring\\()", "SQL\u62a5\u9519\u6ce8\u5165\u8fc7\u6ee402", 1], + ["(ORD\\(|MID\\(|IFNULL\\(|CAST\\(|CHAR\\()", "SQL\u6ce8\u5165\u8fc7\u6ee41", 1], + ["(EXISTS\\(|SELECT\\#|\\(SELECT)", "SQL\u6ce8\u5165\u8fc7\u6ee41", 1], + ["(bin\\(|ascii\\(|benchmark\\(|concat_ws\\(|group_concat\\(|strcmp\\(|left\\(|datadir\\(|greatest\\()", "SQL\u62a5\u9519\u6ce8\u5165\u8fc7\u6ee401", 1], + ["(?:from.+?information_schema.+?)", "", 1], + ["(array_map\\(\"ass)", "\u83dc\u5200\u6d41\u91cf\u8fc7\u6ee4", 1], + ["'$", "test", 1], + ["\\${jndi:", "log4j2\u62e6\u622a", 1 ], + ["terrewrewrwr", "", 1] +] \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/cc.json b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/cc.json new file mode 100644 index 0000000..2286d9b --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/cc.json @@ -0,0 +1 @@ +100/60 \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/cookie_block.json b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/cookie_block.json new file mode 100644 index 0000000..659a58c --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/cookie_block.json @@ -0,0 +1,12 @@ +[ + ["base64_decode\\(","一句话木马过滤3",1], + ["\\$_(GET|post|cookie|files|session|env|phplib|GLOBALS|SERVER)\\[","一句话木马过滤5",1], + ["select.+(from|limit)","SQL注入过滤2",1], + ["(?:(union(.*?)select))","SQL注入过滤3",1], + ["sleep\\((\\s*)(\\d*)(\\s*)\\)","SQL注入过滤5",1], + ["benchmark\\((.*)\\,(.*)\\)","SQL注入过滤6",1], + ["(?:from\\W+information_schema\\W)","SQL注入过滤7",1], + ["(?:(?:current_)user|database|schema|connection_id)\\s*\\(","SQL注入过滤8",1], + ["into(\\s+)+(?:dump|out)file\\s*","SQL注入过滤9",1], + ["group\\s+by.+\\(","SQL注入过滤10",1] +] diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/file_ext_block.json b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/file_ext_block.json new file mode 100644 index 0000000..4bfec71 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/file_ext_block.json @@ -0,0 +1 @@ +["php","jsp"] \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/ip_block.json b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/ip_block.json new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/ip_block.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/ip_white.json b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/ip_white.json new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/ip_white.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/post_check.json b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/post_check.json new file mode 100644 index 0000000..22d80c6 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/post_check.json @@ -0,0 +1,22 @@ +[ + ["\\.\\./\\.\\./", "\u76ee\u5f55\u4fdd\u62a41", 1], + ["(?:etc\\/\\W*passwd)", "\u76ee\u5f55\u4fdd\u62a43", 1], + ["(gopher|doc|php|glob|^file|phar|zlib|ftp|ldap|dict|ogg|data)\\:\\/", "PHP\u6d41\u534f\u8bae\u8fc7\u6ee41", 1], + ["base64_decode\\(", "\u4e00\u53e5\u8bdd*\u5c4f\u853d\u7684\u5173\u952e\u5b57*\u8fc7\u6ee41", 1], + ["(?:define|eval|file_get_contents|include|require_once|shell_exec|phpinfo|system|passthru|chr|char|preg_\\w+|execute|echo|print|print_r|var_dump|(fp)open|alert|showmodaldialog|file_put_contents|fopen|urldecode|scandir)\\(", "\u4e00\u53e5\u8bdd*\u5c4f\u853d\u7684\u5173\u952e\u5b57*\u8fc7\u6ee42", 1], + ["\\$_(GET|post|cookie|files|session|env|phplib|GLOBALS|SERVER)", "\u4e00\u53e5\u8bdd*\u5c4f\u853d\u7684\u5173\u952e\u5b57*\u8fc7\u6ee43", 1], + ["select.+(from|limit)", "SQL\u6ce8\u5165\u8fc7\u6ee42",1], + ["(?:(union(.*?)select))", "SQL\u6ce8\u5165\u8fc7\u6ee43",1], + ["benchmark\\((.*)\\,(.*)\\)", "SQL\u6ce8\u5165\u8fc7\u6ee46", 1], + ["(?:from\\W+information_schema\\W)", "SQL\u6ce8\u5165\u8fc7\u6ee47", 1], + ["(?:(?:current_)user|database|concat|extractvalue|polygon|updatexml|geometrycollection|schema|multipoint|multipolygon|connection_id|linestring|multilinestring|exp|right|sleep|group_concat|load_file|benchmark|file_put_contents|urldecode|system|file_get_contents|select|substring|substr|fopen|popen|phpinfo|user|alert|scandir|shell_exec|eval|execute|concat_ws|strcmp|right)\\s*\\(", "SQL\u6ce8\u5165\u8fc7\u6ee48",1], + ["(extractvalue\\(|concat\\(|user\\(\\)|substring\\(|count\\(\\*\\)|substring\\(hex\\(|updatexml\\()", "SQL\u62a5\u9519\u6ce8\u5165\u8fc7\u6ee401", 1], + ["(@@version|load_file\\(|NAME_CONST\\(|exp\\(\\~|floor\\(rand\\(|geometrycollection\\(|multipoint\\(|polygon\\(|multipolygon\\(|linestring\\(|multilinestring\\(|right\\()", "SQL\u62a5\u9519\u6ce8\u5165\u8fc7\u6ee402", 1], + ["(substr\\()", "SQL\u6ce8\u5165\u8fc7\u6ee410", 1], + ["(ORD\\(|MID\\(|IFNULL\\(|CAST\\(|CHAR\\()", "SQL\u6ce8\u5165\u8fc7\u6ee41", 1], + ["(EXISTS\\(|SELECT\\#|\\(SELECT|select\\()", "SQL\u6ce8\u5165\u8fc7\u6ee41", 1], + ["(array_map\\(\"ass)", "\u83dc\u5200\u6d41\u91cf\u8fc7\u6ee4", 1], + ["(bin\\(|ascii\\(|benchmark\\(|concat_ws\\(|group_concat\\(|strcmp\\(|left\\(|datadir\\(|greatest\\()", "SQL\u62a5\u9519\u6ce8\u5165\u8fc7\u6ee401", 1], + ["(?:from.+?information_schema.+?)", "", 1], + ["\\${jndi:", "log4j2\u62e6\u622a", 1] +] \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/url_block.json b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/url_block.json new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/url_block.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/url_white.json b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/url_white.json new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/url_white.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/user_agent.json b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/user_agent.json new file mode 100644 index 0000000..1f81257 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/user_agent.json @@ -0,0 +1,17 @@ +[ + ["(WPScan|HTTrack|antSword|harvest|audit|dirbuster|pangolin|nmap|sqln|hydra|Parser|libwww|BBBike|sqlmap|w3af|owasp|Nikto|fimap|havij|zmeu|BabyKrokodil|netsparker|httperf| SF/)", "\u5173\u952e\u8bcd\u8fc7\u6ee41", 1], + ["(?:define|eval|file_get_contents|include|require_once|shell_exec|phpinfo|system|passthru|chr|char|preg_\\w+|execute|echo|print|print_r|var_dump|(fp)open|alert|showmodaldialog|file_put_contents|fopen|urldecode|scandir)\\(", "\u4e00\u53e5\u8bdd*\u5c4f\u853d\u7684\u5173\u952e\u5b57*\u8fc7\u6ee42", 1], + ["\\$_(GET|post|cookie|files|session|env|phplib|GLOBALS|SERVER)", "\u4e00\u53e5\u8bdd*\u5c4f\u853d\u7684\u5173\u952e\u5b57*\u8fc7\u6ee43", 1], + ["select\\s+.+(from|limit)\\s+", "SQL\u6ce8\u5165\u8fc7\u6ee42", 1], + ["(?:(union(.*?)select))", "SQL\u6ce8\u5165\u8fc7\u6ee43", 1], + ["benchmark\\((.*)\\,(.*)\\)", "SQL\u6ce8\u5165\u8fc7\u6ee46", 1], + ["(?:from\\W+information_schema\\W)", "SQL\u6ce8\u5165\u8fc7\u6ee47", 1], + ["(?:(?:current_)user|database|schema|connection_id)\\s*\\(", "SQL\u6ce8\u5165\u8fc7\u6ee48", 1], + ["(extractvalue\\(|concat\\(0x|user\\(\\)|substring\\(|count\\(\\*\\)|substring\\(hex\\(|updatexml\\()", "SQL\u62a5\u9519\u6ce8\u5165\u8fc7\u6ee401", 1], + ["(@@version|load_file\\(|NAME_CONST\\(|exp\\(\\~|floor\\(rand\\(|geometrycollection\\(|multipoint\\(|polygon\\(|multipolygon\\(|linestring\\(|multilinestring\\()", "SQL\u62a5\u9519\u6ce8\u5165\u8fc7\u6ee402", 1], + ["(substr\\()", "SQL\u6ce8\u5165\u8fc7\u6ee410", 1], + ["(ORD\\(|MID\\(|IFNULL\\(|CAST\\(|CHAR\\))", "SQL\u6ce8\u5165\u8fc7\u6ee41", 1], + ["(EXISTS\\(|SELECT\\#|\\(SELECT)", "SQL\u6ce8\u5165\u8fc7\u6ee41", 1], + ["(array_map\\(\"ass)", "\u83dc\u5200\u6d41\u91cf\u8fc7\u6ee4", 1], + ["(bin\\(|ascii\\(|benchmark\\(|concat_ws\\(|group_concat\\(|strcmp\\(|left\\(|datadir\\(|greatest\\()", "SQL\u62a5\u9519\u6ce8\u5165\u8fc7\u6ee401", 1] +] \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/warn.html b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/warn.html new file mode 100644 index 0000000..760808b --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/warn.html @@ -0,0 +1,136 @@ + + + + 网站防火墙 + + + + +
+
+
+ 网站防火墙 +
+
+

+ + 您的请求带有不合法参数,已被网站管理员设置拦截! + +

+

+ 可能原因:您提交的内容包含危险的攻击请求 +

+

+ 如何解决: +

+
    +
  • + 1)检查提交内容; +
  • +
  • + 2)如网站托管,请联系空间提供商; +
  • +
  • + 3)普通网站访客,请联系网站管理员; +
  • +
+
+
+
+ + diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/README.md b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/README.md new file mode 100644 index 0000000..a675aee --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/README.md @@ -0,0 +1,33 @@ +# OpenResty + +OpenResty 是一个基于 Nginx 的高性能 Web 应用服务器,它将 Nginx 与 Lua 编程语言集成在一起,提供了强大的功能和灵活性。 + +## 主要功能: + +### 高性能代理服务器 + +OpenResty 基于 Nginx 构建,继承了 Nginx 强大的反向代理和负载均衡功能。它能够处理大量并发请求,快速转发流量到后端服务器,确保网站的高性能和可用性。 + +### 动态内容生成 + +通过集成 Lua 编程语言,OpenResty 允许开发人员在配置文件中编写动态内容生成逻辑。这意味着您可以使用 Lua 脚本来处理请求、生成响应,甚至连接到外部数据源,从而创建高度定制化的 Web 应用程序。 + +### 高级 URL 路由 + +OpenResty 支持灵活的 URL 路由和重写规则。您可以根据请求的 URL 对流量进行定向、分发和过滤,以满足不同的业务需求。这有助于构建 RESTful API 或处理复杂的 URL 映射。 + +### 缓存和性能优化 + +OpenResty 提供了强大的缓存功能,可以缓存静态资源或动态生成的内容,从而显著提高网站的响应速度。它还支持压缩、负载均衡、连接池等性能优化功能,确保最佳的用户体验。 + +### 安全性和访问控制 + +通过 Nginx 的安全模块和 Lua 编程,OpenResty 提供了多层次的安全性控制,包括防止恶意请求、DDoS 攻击和访问控制列表。它还支持 SSL/TLS 加密,保护数据传输的安全性。 + +### 第三方模块和插件 + +OpenResty 社区和生态系统丰富,有许多第三方模块和插件可供选择,包括缓存、反爬虫、访问日志、认证等。这些扩展功能可以根据需求轻松集成到 OpenResty 中。 + +### 轻量级和可扩展 + +OpenResty 采用模块化设计,使得它非常轻量级且易于扩展。您可以根据需要选择性地启用或禁用功能模块,以满足不同的应用场景。 \ No newline at end of file diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/data.yml b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/data.yml new file mode 100755 index 0000000..9906ed9 --- /dev/null +++ b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/data.yml @@ -0,0 +1,19 @@ +name: OpenResty +tags: + - Web 服务器 +title: 基于 NGINX 和 LuaJIT 的 Web 平台 +description: 基于 NGINX 和 LuaJIT 的 Web 平台 +additionalProperties: + key: openresty + name: OpenResty + tags: + - Server + shortDescZh: 基于 NGINX 和 LuaJIT 的 Web 平台 + shortDescEn: High performance web platform based on Nginx and LuaJIT + type: runtime + crossVersionUpdate: true + limit: 1 + recommend: 1 + website: https://openresty.org + github: https://github.com/openresty/openresty + document: http://openresty.org/cn/getting-started.html diff --git a/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/logo.png b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/logo.png new file mode 100644 index 0000000..732f8df Binary files /dev/null and b/dev/nextweb/openresty/1.21.4.3-0-focal/openresty/logo.png differ