From 79d23004563890f0336e4b71b6e4f7504fa7be2c Mon Sep 17 00:00:00 2001 From: hoangvv Date: Mon, 18 Nov 2024 15:34:39 +0700 Subject: [PATCH] update openresty --- dev/nextweb.json | 2425 ----------------- dev/nextweb.json.zip | Bin 79934 -> 75081 bytes .../openresty-1.21.4.3-0-focal.tar.gz | Bin 21164 -> 20679 bytes .../conf/conf.d/00.default.conf | 18 + .../1.21.4.3-0-focal/conf/conf.d/default.conf | 18 + .../1.21.4.3-0-focal/conf/fastcgi-php.conf | 13 + .../1.21.4.3-0-focal/conf/fastcgi_params | 24 + .../1.21.4.3-0-focal/conf/mime.types | 98 + .../1.21.4.3-0-focal/conf/nginx.conf | 47 + .../openresty/1.21.4.3-0-focal/data.yml | 14 + .../1.21.4.3-0-focal/docker-compose.yml | 18 + .../openresty/1.21.4.3-0-focal/root/404.html | 6 + .../1.21.4.3-0-focal/root/index.html | 37 + .../1.21.4.3-0-focal/root/stop/index.html | 33 + .../1.21.4.3-0-focal/scripts/init.sh | 9 + .../www/common/waf/access.lua | 394 +++ .../1.21.4.3-0-focal/www/common/waf/init.lua | 1 + .../www/common/waf/rules/args_check.json | 26 + .../www/common/waf/rules/cc.json | 1 + .../www/common/waf/rules/cookie_block.json | 12 + .../www/common/waf/rules/file_ext_block.json | 1 + .../www/common/waf/rules/ip_block.json | 1 + .../www/common/waf/rules/ip_white.json | 1 + .../www/common/waf/rules/post_check.json | 22 + .../www/common/waf/rules/url_block.json | 1 + .../www/common/waf/rules/url_white.json | 1 + .../www/common/waf/rules/user_agent.json | 17 + .../www/common/waf/rules/warn.html | 136 + .../1.21.4.3-0-focal/openresty/README.md | 33 + .../1.21.4.3-0-focal/openresty/data.yml | 19 + .../1.21.4.3-0-focal/openresty/logo.png | Bin 0 -> 6634 bytes 31 files changed, 1001 insertions(+), 2425 deletions(-) create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/conf.d/00.default.conf create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/conf.d/default.conf create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/fastcgi-php.conf create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/fastcgi_params create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/mime.types create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/conf/nginx.conf create mode 100755 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/data.yml create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/docker-compose.yml create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/root/404.html create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/root/index.html create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/root/stop/index.html create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/scripts/init.sh create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/access.lua create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/init.lua create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/args_check.json create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/cc.json create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/cookie_block.json create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/file_ext_block.json create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/ip_block.json create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/ip_white.json create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/post_check.json create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/url_block.json create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/url_white.json create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/user_agent.json create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/1.21.4.3-0-focal/www/common/waf/rules/warn.html create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/README.md create mode 100755 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/data.yml create mode 100644 dev/nextweb/openresty/1.21.4.3-0-focal/openresty/logo.png 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 c4833b59f946c86a8c4871dfa02738f436296fb8..0b10dfceb844601f52f6e77d641a5345d09ac17c 100644 GIT binary patch delta 55455 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�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≶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 literal 21164 zcmV()K;OR~iwFQ7ejjE41MGbVToXzAzj|jmY^P^APfv4zo{EqPq1ZwaAfcoX0>pwT zn?l+q*%a_pP*4=?y?~-vDNKmkG(Td##7J)(eWbWuWaz8G!oP_FpH;xmJ(RfKmc^v-N3!qXRpF6f!vmC??hF)k2LJ!k7UutP&z<1x6$^KoX2rg9(!< zG!~3dBdOu*&@B!I`s$4uM4^W4HDbNiVBkY~128!P2H^+V5xvpTs8XmEh%W|jKhZ;C zty&FfB()Vlu0es)%Mk=N_+qhjzVXoNWp)yo0+Aa*Z7F1f9)&tha{_`@>B=1EceIftj zNn}sLr}>|VBm9&9|Bf=99TwQp=?653J2HZ3+!ifb4ncp~eFbX5)=Ug+(V|r~JA_9E zr|?#G!Sz+z?VRMJkaiop;BrRtQHi#ct=+>$iUgW%?Brji`Ij?vCph33{MT+{S@uVn z4o2v8Paea=PUZN(OJ^ z=u091+*l+4t$=^By%nGeuK@iaKx`};1wMhEb|u4-kBQ+@E>akse`RIz3CYx7p`yyw z01F`I0})B6$t=JPSPDM1Wo+|7zFqE0cq_L63{>! z3aEiveHB>EORkUr&id_Khjeg^6pccqAB-@d%*B9t!If3{c8hf79J?9<@Ci5olM63r zOg$#azlzc$yLbQ?e|QvdJMdxL9>JtiY2p!4;-PVXc;&A%CLfVFEJY1D3ZWhbeRLoK z^oaQoA7}_feE9GI=m|6g4u{J*`dwVz4o*^q1lhwg?BM}>P5UAy9~L3|c!uIA-~?ka zU?mxUNTA!o(`^Uc$47SX#_t=Y-x)r+LX>c5TtY?6gaczH9vN%e#m~FA+;|`Y-Wndi zS1|v`F9~JxDM!VY-O-zVTe$YjT>Vb&^5av-ZxyXRp9Zv@aa22Hm%>~!_Su`K$838t z&Q4uaF=@f6@w4`uZ#=$~b#C^IJ%&5CiqK#vLbze!Ek=IZ`5h>4+WoP+_0w+?ZaiuK z2j&IrHsBTRb>=wC92V={gOj*|Rikd7&Y#U1O2lD$yu5Sc)b2#1a9l9C&&?ZWHm!j9 z-p?N$E?Ko$79L0)*{ka}uYdo&`ta_u%`4{2m^j`ynJEKaP$>Pl6k7DWh0)8pan4fvog|;5uKe~{*Y5Y1P8l2dt#IVmW4`HsrtjD9 zsLON}7j;!9uIPVB@fpE8d3F816^37jz03=7UD+kN=M7Fv7rj&8mfP3CN6LB<_tK9H z9F)C+`gXE9Ehu`DQ$oMvB3eM0dkYD+0-_z<^nHtNV<1|pki`C8Pi;w)}Tq>v~7>=qrUWOillg4;ij2guxs&4yw1K{qCa)!ytU87+qlWy z7o?80b)T%>zUxhY7g3~7)_P~Jq2p-PeJ@-ZAJ9#8LP(RiXZ1dJj#}KZtJ^eW{-Ewk z`B$#REiUcxA|=MI@EYlSN)$Bz{+)f@&WE4r&)zbfTGoZu+D(40l4zyY3TQ2xIjOyz=nAzTQjE3*GXuqatd0@z(&KvLO=Z1F(JGffTe(dHs zW@*KYZKI0WYZ;4Eb1(K;5s)LldHY`4vHT9w9}W!K^d{pW0`+*Er7Y$SdVW$9&}VgO zX7AG_`*4D8m&W|MpmP^aF?-|ct0m#zz)OUECfy74Jq`Qb?c&aRbDfjPnm=lEyIb-* zyy_pHiZ1p&<=^`H$%mJ=wBHt4d<;MM>K*32ErgD1LifDsoEBB+1&t4E-`%%7V@unl zQ-$q^&Ez~-Lt81&oH3JEy}mMIR=d^oZ}dC>d^Kr zTvx9>6Sve;;_>xz@#*`k*qLNiOY-#r@PPi;{FAR`jF7DO+4s)bQ@zD!{NX3x5jTGS zX8BDw=NrdBRpwf-d@9$n8`I_(=s;Vh$`T@#SH&ASU!Ei5w?b(r^b`u8t>ns8!WyKT(9 zxQgjVM<*VQgCD%N+03DyGd)?$2VdJ-JmFP8+2-<*8#-H`t*Po`v_4$4j5;ZH#ilh~ zBfF7!WL~j)oMBvW|K)D$om=b;7#lWt*7Jwz{ZqEAKWFQmvo&*m9)^ET)#;a3<9I zL(f11<8!T{-3R-MoZhYF?O(Py@kEZBR=Mb_s#%X_7T(BdHT)=TMOdL(x-CzuDIUDE z_|b@iZN3X$*|zNR=t*PGl#z0Odv)G4w7timRF@X>ayM$35v1Qn&7Dtta<$!=1)Xlc zz2M(t)#Rbgiyc`lq8@21n+M_#P9vZjz^eM&r`}c!XF^4Ae zUYt*xeyay>8#e9io@>RJ*WC=$3bn|yMo`U3MV~Fni4d7 z)}F$7n_X_^88(h7ZB_Vki)~!b0{7_q{c>6q=sKL-e}OmsZb-Xc*xYa8+l?xv8cr#H zxmvcZ{|}XGT2J_X!J{drtnGV^@Q>~JntKO5j!V~ParWD;@7zwV!uF(favm{d6YqT4 z&zUZ|wAMp5pBVCRa@%7eM|N!#ruwvV6}qPU(Yv_)!p$c-jgROMa-<_?TbnjzX^Xwi zmuMEgXQdx$ajEUx_msDp^NI&NmP1$Z%iFfRw{T|FsNki$R$RDJ()peE)->kmZDDOj z?2O(;{oU&vzfbABM<1g1m&W#+7^PehO6WdGryYcE&TywPya z;v0Cc(%XndG>z$f$d8& z+CMj*Az}U9Nx%4hzoY-A^K(;Y4S7D_y=C`JuTIW=Zrr-jlTH3`Vf@ZTd(*axTFid+ zct|UDc59h4%QVu>_oof%bJzFy{`6Pl6^WycbTPFVazFKJ95h>8vU~3db<8z4?67f~ zyyssF=FFWQ^mY3eO2e%0Zls(YGU*&An{Vj)%}wtML!%ROuboSO+Idjd z#i#Ekd|z=QA#`%a@dwTXj~!FgSED^ygg{+JNk$@X^o6M{PPAM&t9;X}PVzw8| z!RnLVUis?af!!16qM1+3&VBBT?Y1+hFLiQt$wErb<*wOE<6{*ide-41{G1yE*BLI) zL>rf^D*jrzmOgt+=O}TM)-~<R1(E~Cn*u0n?<;da&ZCplZbiYf2t#+rRXDChlcKSf5 zcs%aNSGs~9vrbo6Okb$WeR?fu;12%p?K|%lzZX#6hfD~%F+`hLNSLr8CbEo{yZD0d zu#|gydiI0+UM~_&IM6G=x!~C)|L%Qrm~LZ-4ny*_lFH6efwF+?e%?nVu1ik#_~A^U zM{cCEjp8#e2Wa%a5*Yb4EW!u&IR4ENCBjuL9PQ$y7Ie*a@o;JU5ZTfQF9CA-7IsXt{;?(<{cH;+S; z5>07i2K87rV%Xt_j}LAz&c5k!>nl@sl)Uwxb-mn76AmxS7mbSyOe2&Xa^BjfI_W5}bjN;C%lCAOblS8>PgiorkKfDvdE=-|_|cJf6`MBg zjT6nJ^@plAVQw#K!|(j#=#o~Mr1UonUvt`gkmnvFWj$q%7(6I^^59WZryUY32$ipk z2%BH9FMH0c*wKka&!}r5@5_Dr@}Dda94Vylbc&q)tmkWNRa*AY`+;jAzm@J; z5r0ctzN7M4a%y1I?0rh)@>IS!$BEhpUbSdHf}Nn-w?`A2vu)YyGaWwU|NeZ;mfJYS zxg>S6V6ESrRoqQJLt~Y(D_UEv3E7I9*CrG#@62iJE zfmMrLhKJ8QeKNU2Xgl7#_cz4&gZsMp$pW5DZ`1DC-NMrK2b~_xImh?DoYw!u?f0j) z2V}61XN|<%U10mI!^NL^P47a!nVJ-q?R}2*;89zrqSI&Rcx>KK^t9Dw=j(o117A#V zZ+(7vpLgcFKgeibojCg@=y9jT7Yi$UK0L!*BQ>0jCcn?@o}KLMRsC?s=rs|`E_u#c zR`C0Gy1}iFI@2Pfmc^8&TwOML%l54yYi$>AE;`1KvJBDp1T_cF(RC@*y zpk~br%wc*)KVE8uvpMI*(A=rX*>l=&^y%G^UDY-RUcTBmC9HMd>7yANbTP#j2aLFa z`|fCQp&;5Rc+dQ~qn;ek+uC>X*!h9476ql1%%=ypmwK-zkxF<;5Z|`?qxP!(YV_L0KDHe==*v??vf#dK4_cqskdS)*S$!Ysx-QH`5Q&kt_qkTUN zCOm?>98E2y1U~qB&7n!(IWPL7)%_pix?R61-<^Mv`{N9{x%04N?_7%MZeG2;Mmb-~ zA0~?)`(Ure^ee8?5;1~d=#qUd`=_HPXDsSF>AJ)_#K% zkWuvBcynB(&UBA;Ag@&cE;|ZGKeQwNdC{J&(f#^ui{yvp2*(P%mvs4I{q;lFPsZFR zO0`}s&Hui4hs$lF_7-hkczIag>+LsgoOZMAyp43|s&miaC%3*Gv*7Amq__0jU}3lR z4_CL1Go8nuBoVa*YxOxfQJN~;;pM%jtv*W`KHap9FWwncMK-kkK^E%l3EIijVxg|}X8oqINvBsa`(R0ZaBO)x`Rz5;gid=;k#}9!UR!=~ zscikQNWo^^*|+=hJ9pnQ^ZlXYD#eb2OI~hm!(9sTPxj+qP!wpEUOG0!_1L*#uM*x@ zP)<%~y?B%yI(=HiM&;>N>nA>L+hgoQza&QMs|hR5pQ*xLU-RJ>FL|3x@+ z)X2;>eHK26*kHCUiT;rkW=`v&`5fu7?RE*LJs@7i~Xb^8y|hKiw7|9;CVr(752 z&gL>-P7!qEzQG+cP1$^DLwA1f4JB<|y1qH-x^;Kt1AfoEw&&Wc9o;#)->WHF+dekT0}oSb-}Nkel0%mIKl1C7F`axo%KrhmGQ>%AJ3ldboa-- zoX)d5myWryc+;E#W0ss(AAU7%(B&2r6`8zuV}F*l{DHtcy0y#o0HW{6wyCG)=pP7#spVh?HNfqSy{$MUgjBf3{)kh21Nu1lx(%5EFr zmB{;L4RuW!^3!hUa>RC6@w%W&v9{N_%OiWsPPX~Z!~L}~H}BiyC)ek<$YTu7eOtKr z$-A?w_jPQWXDYecTF3n5S3{SqOO!R2y7$=4Sbv&JxNYV#ODh$g3uKRf8&+EMEE z?Qi5{QSV$h6~>5GjEZV8?f$O|OiyOKe&@S1`p0jKi4)s&^pSm7CZVQR#nFFXUC}SM zM@j2bw{w5USaj&#jrfY^35(AE;5@VXLs7_@SbIAh6{6~A_4>(1RP>Gv=$ zb@5?VYE<^D_T_gUUM=@KJMlf!YlC-sz`z#!hH3j(gr+X;`TEU+qJ`n4u|o&G%Q)|M zxtb-o__jyCT@&BZ)Eg!-4z2A%T5+1dI1(3~IDxhJ!U*IIJ!{(~Pq{X2!3k1P@@w0< z)JNBMO?drue!ry0{oieVzq`ZB?H8Z7xx^$$yRxF5q}x`s==gH`u&bRE{RgCUSa(Dp zWSc$hS4_gP9==)Km%Gkex^(%=#IvKO%$kzQI6gR}(@1tM&Bb)(4k*w@a9v2ID~hVM)BTMhnoBvIcg4li;F z$zIc4-~EqKXNIP&+OYpZmY6rdrKej#PT~37fPEu{M+&;V{V}9q!<)exLHA`7z8y28 z|Dl8HeWn#*4{!ZGiS&@#XJ)4INad3Lo(jg=0SEhCncQoY&Rw*B_q+oqcR##2V98I5 zu8kz&rmn?(t9Qc$kl;2EmkrAOGJ zS?;u)Ui2>6-*W;9`LyIst6 zA7&jK9n$mc;e*y4C68mSoxf&mzo=v0!4Wyb{T|&YiS9oBex_{v59H0Gufh5oPi+Tt zZ!C|Abs1_~Jb|_neZs?_htcx<$4zeh`OnAae_T3+7E1R}Oa9}}nEw3vACBmSBYpb( z50Cq2|Ht1_T1R*p_Ur+?G(eZBy-53Hz3Ys%1%cvX|Hr)>lv2;n*lqwxDXk zhPpi>kG7{-^QKtyr`FI{ZkvT}fxuL4UsSarwR&@I^@fBy%ct5>=2%y30Q{>BjoaXAopJ7KbulZy-BSYEv@(b4{B`!cl7 z1yiR}W%-(_Ia5DwS*d4G13PRPN!Ic*AiAo2y>0p~AiAdEqXx5QTIbAl@B?~O7q6_| zvBR1^tvWN)Asi?KOhvWKT4~KnLdmk$-JTV_q!Voh6Aw^zqL1c9yAve|Vm0<=|S>oF1B5KQ$};J<2BwACZ0_UQ`X4f=Zd6wOdwYKui>Mcc;+rYR=0}Lv+Ed#xOXGMbDF?NTpm~Nf1 z5e!nt=)`d8;XJ8Pg`uz+7+cDs+CetcmR_fTZOJNYeo~#)RomxVbC&?QHPNtr3Gh<` z%Rh^>8c0n%r8#VMRNhHn3cA0#Bnfl{D&IaD936-Th<#Ypb&+k!&g!{~0e{rT}vF^x6Vqf+P)F^s(xglr}nX6D_B*PJH5UYbs9P%#kL}$az_!WKM0MK zt(80G-`SM*F+lRBTa(d{LAxMt*PX?Awpr`JsHqK;kJ+q-azmyyeR0h`u$ste5HlbB zmbJ`UFxi%q`4OA2-oYI8URts(HRsNfLR;=?TjCZFA$0?vM$?9afmd#wR{n`n)|AE7 znHxTF4<dlFuV;$qYvTV6+`bKNP!kTPfFU%Za zQN5$wmcFxQzDUXcI8lLFAh*t9Km{TYM7twbI#|{>_s+Cw=qPa*k+!HhZ)bI0ChE~0 zyR17G1Fzpn&#-RWR>!Au+XCB?`Dh&4S$&=afOcRGayS4TWGg^Ix98}TMOEuSglupa z1M$Hzd8SZT>s%c2zU>Y2hknpF4c;KD(rtuMicvg?Z=<2|HuTd z78uX}mKA*nujA z0f985M)?|Gp&0TVGsbPuKyTcjf%R$z`wha5#=DMZQ^M#WF%&jChRx#gVuE-)_Jq+y ztTRTe)kv}Ehld1lx>K`)i;1NN`WXd?d;$T<9``QMB5&;7r@ zr5FtmupTwe&&jOSDc#sdaXW2rIleYSd&nXzA54u7g&3X z2il_1A__6okX8bjum(h;H6nG*utHM%dX}A)-l(Y=VxYy($q6z+8pMDZ?|93}p$`~* z8c2-37zQ-L;|L@_rwL9@XtJ-NQ)t90qXeqqt5&EX5Al z{!cj65Tf#9gfakiuEknV)y+b^1d^af&ObYBGT2{&i$SzX2sltHl{%`0VziSR?NvvU zy<6>G_zY0LXFn1EJ0wztsYs%V4*Vgu#2&Z?kuU$?--X2JeBd*Cf`e zVZhJ?sW60k)%I~}=Y>EP1PiOsL05l_#tKbB$3nb8wZ*+&gB|+mx!7Q6h)}EQ$psxA z*U(@P^%ez$Mki!}6?$-_(YlL;VmX8!7!a)Qb6Q4YCAQrjRxl2}tWBV_`_vOr)JO7M9h_ ziH&FKKY<%Q2MQ6b+N~+OQKHYGdV`@!Bu0-q_@jrx;zr(FC#xIus$+I)UO_BKJ)}t^ z@h})Q9`U$chD1$4>Y#wMKGfo_0Mksfpn$L;GPb#%j&0~?i@Vz3-n5lyu^VcKO0^mUYt}Z~ z#TawlO1ln9_!ppr8o8fl7<$({ za>zo$eGw|xSsFnaz=fRTix@|dXvLo+VM#OG4Tu^+YQY-6sbmZrFcA0=DjG?wNHZh@ zqR)|N9HHlshZ;;3Mt!64tR@=08;8oYTA2!R2fc^LJ(OzIXBk0Ro8+26#(yRh)HRL- z;Q(30(3dlhMb*f(Rf9xFw^kGjF3=l8LR#dDNLXuz^srXZcz%ZAFCeu-gTml}u3Kw= zUx|lIFNEa^am|`TD`{kQ{sIyPYhUnfr$Lc$vylb>6-o?p2tw>Kzu=)pkm&66(N3-8 zOLhVb=zPcR2!lJw2?{aPsN!l>gVQhEIcTB)e>W1lO)FB*4?qw5_g_;046?tZ0GeEC zZdoZbGN40k%U@FipueC-%`!y%MJU?%In*pPsGF3E5`7M}xRc}Us~A0cKkf@Dl-x*E zqiY|rR`};K#kCXa=QkE=XBl@%ql*eK$4Kgy4~?K>H7eM>{;i;fXwcdiR4r73L9F_- z#H%+pGBa7+!S!@g%O+TbfgANOtWas2SRlfBF_>jUjiL2IeN!EzZ)_q4NJt_VBJMS} zIDqjQ@YQfNtZ!Un1Jp#vqIcYcjUwe*vC=FA{VG)n4e~~j=0>~KfEYp4{i&Y}ibfKd z#T^khxuQi$5M^Uvizm*UE=U-c(S0Fp+K=oM{K z%W=!c%iac911xQFC65w)4n^-nHdz2sBdf#uceB3;1uHlVWPvaeRU>*gi-QDeBoLa1 zR5vm&Hw&pSXu;b3ucFlk1^9u%Pwl-np;4mHV$}+X;)|e9SSTbIJGrthm>n#df8#(6 z6YC?jvSwc<0@C_OkSIw_CV(25Bw<4&@RQ1Z+!Rt@dlS^8kU&~2Q3f~n3eQdoKK$yz z)i9yyYj8(F3=MxTLW?0*5PpJe?q#%EBl`qta2Fbyb3rULSiq0;GqhRV9Hjx(r%3xz zGvt~S|Nb5F|J$Xh`~NkM8~!aB|N8z9FC2mJ&;F0UqcpSsKiMetugPd?{~yWoljlDK zoG0<0{U3izQ43*=voppOQo~4G&2u2M)buuJv+uTWJg#&aU-N(y-4=)O#`)DhC6S02 zgF%IH?85u>!9OOZb~AuM6(d%_a`YLxFf1Y@#P4G@`YV5>=-Lh}P=$!l*P&IT1Tjh| zu5lt*uSLMcugZYog@l{%9{8GXLd`d^?t!ZWvS3I!lE=qYJle^QC$RP>(>2ds9qs=& z=aFW{|6dRO7R}iIOT>K||3v&h&wu}x;s{YpgTSsS-Z;$XVT{4x31kl(_*b*LMGOMP z0M#zC!!n#F*RGTKC(6-Mp11orfz?VU1+^cQXjWY)$sj4kt~{uf2q)b zh-C_QSPuW?U7$_HznABy?|+lYMAAR;|92D@j2@DKc@WWJ46sUpU|fxQ1$yRM)AKQo z$7qh|M}Mb%T?4u+%c+hE1>37)6dI`(Gj^bd+h`9kY6cC&dbka81!3=kp~@k#5`)Nv z2>5_7>>xI#<{=$qQJ|ahM3B_J&rE2)myb~(PKZ9vzFW)CxI)9g{B39LABTeMY^6dm zQX`}ej6NPg3=MU+D+-_n2&(&y_lRC7_Hb-SMStbJBcu@px?2%TB;cLUOy~O1%Fp@v zIk|kS(+kxYHiZ`y!w3st)x-JKxea}GQny=?=w;uKSli}Upx8fANBaG*yfDzr_;(od z7x#cQ5&w8H(d*Or_ax)~iT}T&G#soLP6VAB9TU#uGQt9D=0I1S5dv{!K=caq2GAz} zE*(I^c`>1MUJ#4s0MzWUjZs60Tr2quLS=>V=wZAVUNoCtD+7!*1l`$-E*8EB2%(1s z@`4%y9D8)@MNJJRoXTaec`;#>&{`RdCXg@M6TxNF;cD#xnej7v8jBhciYoUJ;9C0t z^3MTW7K`^Oz_AbiQ&Z?%KAjuG=CXJ!Dl5c}s9BQLUh90(jBsiYy~YEs2C*D!#A5ra zQJ4nBzMtHHQAlGnS|q0C`s!0$AcaSdq(p<<#-nosC{!SY8py!fw>>v*K{zXb7fIpT z)v;&R&zW-Rp)4LfhC-up>$$&fzilIS+Ue1Eu0ExQwfZmmvH|}ZUpC6W*7x=K*ZTfX z_%|4K^_I`}sS2I;v>H|15DYr7>|3oBQhTjg2&O=z0$g^R6^I<;?ha|tjnyC@>&0MI z43=Sl7y!h`=YF6uxO6J$a2|yhVed`?m`s|E|3At9=wSSBz5hkVlzGW8H?Ee)BP6%s`5>*Ka( zy4~e|=--+1A`MaS{aIWyE;vx8rGOF^9wDbk$iNW;J*9$w9PsTAhk2J3bG}`7LDDme-&_Qh=OUg#LN;3-Zj|~rChJjWuCSWCF04!UBMR|LH za|z0Y1)~zZ)Zin4;1(X`%?|{JL2eN$I)~3C5sYyXh)Ch%xf+TzE&%3H{ow!xUn{gk zz~P*5It7Y1hteXL++aMO#^TW^u}mJq=KA|v@S>=x>DiKbkmA0@f`Qo?R}Styr;C&r1R z{i(DlZ#h@$BLY`!1}@^I^I=jWXyFi(qms*sQa3d}I^IOo@t6#MCBq1lsCubI;bju* z*q6vcW z0ur6V^yiWT`PvAbMH>_d1+$FY_@Fo%%%_Gk-FVc9fVe0Lm_p29II{wRxWPdtHaiIt~Ykg838;F$y21 z5$kDcW3-eME!Bk(iGd27PrOnff`nX8CAbpS;>4y{p-`X~vZCTBK~gUgg&rr1!V8I5 zPi#bRJQV9g5r>E4qAWgKJ&d;?3LpOv0hcJn>tZc5CR?ocH+YgcyeJ`4g;krF3~yYZ zPh5PQSF~F1#tLJ4M=)^)&p;ocNgp5R?d3+1GQ+6)XbW3Mld`2cIl&um4mI(Jxy;7K}tl!XTVZ=NU=S`S>tsF#e=B3385g5|OlXd=DYABa24r94R z$LS?1Riw(zGfF|W#L2>pII)+&E0&2U=|&$#sJ9n2-t5nylY)cPUc4}ag%HYO8F?XM ztcn`S4h{@gN?4Uh#ff&|fCk)~j|S`&yBsbU$i zJ^~4uBBarke5@n@it^+ULbM^=pb#H}45!x!IBrB16^i7lo}<=D5B$- zCJJ3<^r105@klI578TD!C=n4XE-8-Y7Qn{hakM~hnK&$-j}1YvdKl)j{R8O`9>z13 zfm&LuH#Z_GB3u&Bgref(l~}a_hv?nn!o%3!+E^u`3?g`&LL~ulWEobV<3&qUN)i$% zrA5O;Lm)Pg9t|@r@i4-t1w?bA;}wx=W0=aUR|(`2dZ;Ey!;cU2!N@}xS7 zgb}QhFqpX5aC0P$FA$R0MjBVRv zJSCVxWl<dID5m-A{F#zCozfUb3lF3LR)|iISUk;URwOk%nCl&)OO9=)@i6~fH3lS1{85H3XPfirk5ET#@C=NGC@nnlGAWkiz1w>&(Ia-iE ze4LF&Sg2e^!xUO{9v z6cpso6AR-ag@%AwG0Zi21z>p^ijT>M$3UX_o?b9Z%avIa0W3C&s`6H-yaPb0@zNk+ zY*r|btl*f*aY(F|kLO?^l|mIkfJjDZoDeHE3nGc;ut1!gCyMk`$FdXzyoDG_BN8Za zG6E5ABq)?}wT=);VsX5^l;x!5}g%b?N1~EefW-O1*BgPVNVpzrC7{p|w zr;k}7ii{u<39BU=P{46fdK&M4*n86MHi~S&=U4O*a4f~L_Qf_)7_YG% zZ+MCA#2KAdt0cAE>Q;Ku5_&km4BIR(%z3~gz#N7hhM8m--a9aa41XqaoKO6PSGTIW z)!o{ipa9V&$m*(Fx0buqt?JUPxm;4+SeHh*sw}=CLC%eWA9qxH)=ZbUVAex>wze zEUa>|y+v_RzFOOp3M-2j%U8-f)$qhhbZ&n8;>_NKnXLkr_Pz0m`1q()nV#a+f~18C zh27F(iO<)h-R){#jRlLz2+N<(t*jQZ8`~STLb0$to{dJ&pAT=$U!A^qWo2o1FS`|$ zxXnausmfkF;5QCeu3*si&M&NQsVgCFes=fV0-Ku&@-rK3wFYzpPVUm@-+7i!~H>PTH8+)}%_`-H% zL*7xg7N)j$c9VOvd@gbE>Dtr56@Ig}5>B3*5l3Y%n2$-@!N}fKj-Nj`zs9dFFNNn< zOT|!Vdr@BAt*$Iq@Yl6qadi&+xigz$VRb=xy3)>%o1MxpZ3SoZv$g8X(gAxA+Ab3B zczS7LJ3c2LF6Hz2RLTc24`ftA@DfQXF|C|*W05k3^C!cJHtPkF8x1}2Wb@LXg7|zv zofP3$ErNYPL6=KGW4&}HNS9)#&cF%?KjY;R!wIaSq&#@_Vy?srVQU%o{PE3?t(Dl_ zTi1?1_~P!3_aS)fpWni(vZH@|aQyvi$L~Y1&*Ph4A3y&(L;y7r?tJ^w@uwdi-~8n0 zw=ZH+xb`r#0aprtj3$tm+-D#5(sc+A0J`n}nCGMJr;cv#|05yy{m+STX!!nbAmG^V zG4^vX&zV(8W#(ZA!ra6$?T~4Ps7X8vhR21EQ_cj9Y)lyA7!Tx~k1dOulZQP5k2ZAE z|NGqfCD85te>Cbo|C7KA`l0?00v^cz@ALntzxi%s|Cfa8hoIfRe~-8j9d?1?Oqt5^ zqICq(xev=E+^&PmrBhCe&{0)Yuee9?ON`zn0G1BoldpiMy)ENOBg*V=|lN zH3e!aRo&hhfF`(_Y&wJj%Bh&J!y|N-6L?oq0gu2~fjWdtBoJ*?j&+qWyB7(u@hI!s zkZy7xTX>Jw(A#}T!b(5WhLhk7Qq<^KxU%4_oA++Lb$sKahLs=@_>c9Vt-W`C6L=7UE&=7<(0)Mt~lf?Hoj$Z#axk=%#_pX0*^vavZpS*PU zoi{DYXMz~r=qOMbI;baw4)z}#hC@Vu-Yh97P&@Gy(9Qmb6K?-68BGk&e-8wVXoZu^ zNOXk!%7f>SGKp2o5{yauYYBM$G}%aP1gD#H3l2RNZWKX0`35{lifn+HBj9|oTnVS z5^|!qA!Z$!?vY>gVf>E6R=QHDOu~mP31ob-<%xC+DTq{# z)&r+jC!LSmeA>!Tv*Z%m-4(3C@4T_UF0{$n$$szv-0lo8I)&z92%Ygdle=-># zp8p*P^vi#a3qX9xzUt_*{)1fC?|;LQ$nf|71A%ZT6if_cpoj2Ngnsp3lZA8!FZd4o zFazE7-?je}i6p|q_kRO{OP3#Z3x@D8p*0W%OUe{DL1@S-&dq89k?#bRo-@bhsi?m-2ZXehlr~-=D;_LRISv z>zH;n7RI$jW4V28Jj3Fe$8%f~rz7NSF#YLtI*Z^w%Kd#WZEOsMLQovVp*U%5GBUoe zO|S{hPKq?Y(e*6K@gmYunH6+0E#?uq_7UO|DY|i=qi)1_G5@9|kwdytK!Sj$QAD~9 zA;EN|rl_c>!zii+S<~UbCH|20l8o}{{r$?Q4)~giYvc+NPUc0Gex_x;%*yGkRxIh> zT*(JIt+N7>Ra}u&DN0#Z$nvZp<$ZnkIc6We{r$(&-g9$XI$W=$bCPt(Bhqz6SK#^; zNz{>8hAsi`&MmJ^Pc3iiG$szN`ci*Y$8E!{AOUe|VAPwFrJ_!5*d&s+`SdbI<`6C( z4=3XG;t`jmdNmO@&>J}Yl#f#Lb)(=A*9;Q5LXnjZ@epDnxI2FOryG@oQ)-|CSY1Ye z>2RM7Zc~~>W@2$_H(E(2E&PwuWEmny`QSoeq8uROm^UKFs#szmpq+{(RKr>&3AH?C zkygTJs9F^CJd%n?m1~?N2=syP3?dv~1%p<}{zx;n*sT3r4YQ&!}3` zWjN2OD*{4TyJbm(TX0FU1c}X(zkH(!EbH>Z(WVVPq zL86Z7a6(n*i+NpOYrrwStiu6oot)Rz3G?W6T0|ChH#eJ%naO`%EK7$dr-_tvc*+*& zwa}21W@VYJ>H8Se0xurI7ea9ho*>v%iLC)2a0j>$SkLij+}`qE!%CkJ!HOHe{l5G- z6kkCqjAkNGWk}l+xlj%aa2VN}W|uoWV#a{tZ=ovT1OA4a)8HG$(L|L2j1qJ0WSn;A z6;Ks0EWyPOHcg4Jc>E{g;fZz}2|0%CSHCjOJT}A-h{K`8^vv4o<`z6*@g+@pR?i8N z1nrfv$UsiB&OmBIU*O5m7F&k(+)xoK*OAm$zasX2t!>N#$(2R&XK@~4Ys0shDcYr( zg{ci^1ucm>#%gYNadT@EN^j0B&&^;uk71GW(uck%Wq8tkR^fOazSzxaL*K{%+bjh< zQxzm*hjJtZtQ=NfiVVjK74^O(f*R$(=u^!$87C6Dc66c?=^{%c#DnK+!{-@~X7T(L zkHG9kJ(7tqm$O%EqcTFY37T$8#PjPj2iP)ALLQ#3V+RrF4NAaggte=uim=_Uz`u%Y zHSkpbE4aSj|C33-zgK`={Qq#+9sf5HjSS;|4hAl@@rylozIm>G?c?K{e>r;hvwNTa z{rLNrk8XX0J)-af^95U15pPt{+UWxwKl=z=`&M?q~bwA?*J2wfS=z7DR+pJeq}`jK{!#Oh&<@j6kn4@#N{Yer})JLVaup z$#hHTL2d`NSaj2svu){3m&)xoj`|<3h|}Xexfk)E8f2HtlWjD0b3nRnGxg$A3^$pE zn@sjirtX_9!>yK%TP<|J?`zM6j$ALhDxrtERb$9-zce4nPRB23>!*kPnUn0nJWM#j z`Okijf1l|5XL$JjcOWo4|Mh4?-{(K!1rwXcj?n{K|3~9ZzyFGcLc{al0|C1J_wKB3 zVs}+v*xJIbSjffvpQaJma%l`aA~}Xm*H{-j~8}vORSieus5ZP*gMdbD}tyO zYFU}p*C9-ljD4>R79V|jdYV5(kPm2;D4Wxz3aga#RsK+wu&)it1-8r|=vRwK)2G=? z?Yt}?UAxa32wpb2_s*A2fUr`-*Nn!)1pn@?Z3d9CnzUt8z%`|EsXF*l#${&i-FG z9F2tCzyD7R{lCEgiTBB1ODrlWk8ueuW_+L$B^Tg^CnhF>RlxDI2nq`LW8gNGQ=S>> zuZ(TgO31?)-b>2UxcA!%Axa~NGC@ZS(Yv?*eD{m%_ul%~-RHlke{j8H(9lxH=$Wp# zo94HsaGh}3`52)*2JufP8Br2ZtCB6Eb@ouQO#pX>q^3Mp0MgKtR!md;6(Yk=GT~UM ziuEzhtni#HDN;^l_E_9OKU2T)hda0b+s`PhsEpz1m(M+E1pag9S7)s`Yphj?jR(cwkCZCd=ZbQI>g(%W{ZA9Xd~g=n~O#s)rlwBOmKD z@{aNB$V{6?^e91*jx}3Y?fC-G2r7)x=trmnD*;St8mmpZE|znHv-i(s;+;`StY{9i{pJs_pbhJt!z<)a)YG00z|jkz-F^Fa$2Y$|`tpVPH=i86`|6!< z{#1YMm7}lTs9$^G=#78=@ZBHlU;hhk{2=zgy4K_P#((bKzH#)2PmW&s+YjG8-@dUy zXst_df~BD(JxoceU%Pqy+uQa3dawS@Uw`=SZ7c*w*Iv8x?MGM?>My-mzwz(-A78A$ z_C@_qU*5a^IZix!{Z{?uTU1I0!pU%?PgeF^U{Jga4~&4v(7W&hG>>QN zDJ}fNcds6O_}tNZA5&vSE!hv>z0=G?E7-py^#OCXpCKPImOyL9MlfTsm7@;G(W`G^ zAH;Ff*yrEg`=9>>p8w~a`Wr6|8P5FN86E{qzJBB0b8l0gAK&=Ce&YiN&z;U_Z#<_r zdo-S`b*y#SN2@zOhCeds4|?DKmKtK+IPIf|U2d z-^JDWHNOY=%qSYiAw}`{9(MbN@Z&=7`p*)HIEe-5tpAZj#C`u;BorV1{%0^i?ry;j zh{_e16hmKL2gu_onuQI+3OuI3LdeLGr-?}6*b*Xn=0jSOc_Sar*}%&WBrBLWC2%ER zOEvH~I7)^wj3YRVha`B+T>364Eg&(k7E-DtYQ+qay)Ec@eV0ZI^f8J)a@l8)DI&EX zWmEQ2G|B5bb;`gogDEgl3H~f9YoeEaReZ$vkddm%W;X6rit*rvGLq~_T5FNC>N$nP ztXUB@x$CT2Fh-@!%3y@EyliB{yH;2JhLL1otV@bIi^Lknu(j1hE*ZJLrjFrm&j>so zpT&}wc4={)u~j3ZqNJiUo6X83m(KwL?t#b)j9NgV<&n{H9!)$HrHV+MMd+bzm=@Pb zpIuF;$h?ZYxW8~gUk78B*A0N5o9$HQhkKC?N1(P)lYm05ExJ4xwVba6^f z(3FDLdgKI2LHMyn+h8iBQsLKR!4F3S{J;#Ab+nRIRhBzkmh!EK-^#Wc-6-G~LxbCh z6&6dFR5NoLNE&P761;d#H;!VuP~jRcB*VR1DYF1gB6o4Qkm25@6!ij(Tb!DzhBqY) z8FDKFcL_Jh*%?xRqS77(0v_g)ClCOl`1@sM--Dm%@IoGbXf!ntzypp`_dOI1hMqps zXN|RG8Z03x`(k6Ef&>Nq=6#+sc4(@{Lnj}rFiiFSPyXg>F?^VTtB{ftA6dx`pdVE-uP!PrMiGyk?@FT z(_qEDSo{pl!_BrSw`t>yvA}3dAi#`}W5pwWk8IO;TribtGC)-G9d-xLU$_RqpM(Z@ zJ*QbuqjF2}sbnZB#w9aNfF7;%;^Gc74>)$KZS{^GA54=YF{C4k)mTwdiTPF>=INQ= zSZx$hg%-rMKSR$70ZM%%{JdC;9+O(UwR{tz?NB01o`Xm9@%RyP>LPx=9OLTkGlh zwTOeHSb++N6X);BS#bYG*4H+-M*IzhzoOywF|2C*o-vQ#L(Cub=a>qQeROCqp1U30 zu!GCWJTPgo!~~Bw;}xtyHl0A#Il*8(5o|MzU}y&*UJ~%ULgd+98_sMgnb=dElJiQl z1%ddm?Pb!;ZTQ6|dJAb}%?dz%QqC#2A(f4Qv?D%;7&(f!GaXKmaujJPTBb4Mq4%ye zEly1Xg%*5<$_`P@&y-ogZm0;EmK7PDfJp<-yn-*48XHI#%E&Fb8xHPK2+*-N1Q3AI;MM=@K;FuJHUH#V7 zn${0Zq{?jTSMu%JfCmoBF|3%S%p?&^U_$d`BuPN5=plJT5TC_kMxLzc$=p<-#d@@2 z0K}4=o9kf6fL8l4?O?P_=rj$s840Gx6*+(NyUJ1%Rwt9_TsKI#DHl@0tA6+EeRbYpdIJ?oV9c60iN3d!@9+2ieXrs35u-3YUB?{j!{3w9-=?{V^1~gHFmrY-SI?OcD6Oc zcKnmr$GhW^Jd#JAMvda^Fn6V}Nrg&Y+Tg!HdCo7AVi$#@|_6tlCg?~|Q+H`wv*o-c~LpBMqZv>JV z{g+ADd<$sR4zfl)U?+ul`|hL>pX1-Qn{1I!8T&^gEbZ`hu#VI@izh7PFRa!vTDi1G zBP{7qOIZv~`muOmoP6`vFdV_No4Uqg7K9pNyjC3^dp$A59)?#Di>{_wMaL89X?B!> zKCdi-u z5?n%NMg`7O6*!1@y&I*NkQkLch)iH!UEmbRE<9iseVV+A#shf|_s^*i|6F%(@Hn#i z#}I@v3N#k_TzsBAQR^B^yvFq}6Yu7zIq`Jza!!&u#}lY;cZ|-*Ze6g^y=Hkz?%P$- z9mK1ugq(?y6OOtO20*skajg1vN1TdVMDN!PqertM9~ZBTEX}Gi7l(HIV8D7me&&sP zHd-DP=L!SCkjBnag={8-VV^0qFbscsh%n0C@ZrM9?O%_wf1gxbGv@A+=xY|Veiv;o z(;tJRakt6Y&&>$?Txvoz4%ACHT7Eb$EZ?YH*mU!g{-B1^4R;%63|cDTfb6zJzuTb2 zs*C|iA(1^O5NO5jHbW`?<*|4}n?7C^<-CBf*`pL!**EC|EGMDy4$oCfBJv3!oGDFS z>xowBa=i?fi4j7}%C~B<{k-nM77AsTlhbyGU@9SbTl$)eBwFapGzm#*w#);4$REN- z=DV9VdEhiT>O%=q6Tq!LpKC_<^jYmmt=l>6S!W$K4FnKS9bewB8=WRWwsh^U_}v=o zP5^-2e)we_V$Rw9;?9RBMA?A7&X-@!2p)G}#G;H$At= zDNQ2tBWEp2S+KAQ(sdkw)^Z`FQ5eOWsG;dBnpbH%_#bBHa2JCZdoT6J1<`&D&x(s&u(aM321N9V38%_NJ#UfEJJM; zHN{FjYNZ~mA%jKi&L7*v2;WO#?#O&wgUC^KPrRqzD5y$8@1k&@1T}y%>RG1kg}jYe zJLalLDFnx_Hbwx*AVI%_q9p*eFW)jdpUuR+G~B-}JB7}pO$%AC7#c2b-&tiYp4}tr zT+-C2P7ifhbg4{^N=B_z@E2{1dyK$?($`*5C=Z(03h_BjEE2d2T8oYhs7WP$(3dF3 zHw^C=(K>$b53?1zOrnGA9`n~!*PncNb)WxzG+$P9v+jK$Y9I$+TuuoxuKuDXl-5Ko z`Hj__NHglpRaB}7F#NIaM*kmR$NhhP<8gb?o1SQZTmDba&r6^Gfy@5r{(txU?5X?x z=T8Fg$`S|+f@GXBU0_jUl=VN8hIsx>93@lv8Q_?ivbVu~vhLTOnGtZb*f5*guZ@R4 zynN*k$76qd`TC6y=P3g#32vk0C5yJ;du9*PwcYshOg8@U@weZ9{a`f9M+2sP+ttfA zF!56cMQ5*fwjZHaWt3j+B=zc{v_7`v9XN2{z<~n?4jede;J|?c2M!!KaNxj!0|yQq P{1@R*4GeNu06+l%;feHj 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 0000000000000000000000000000000000000000..732f8df422fc0e246e109680561ac6f4978b5823 GIT binary patch literal 6634 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 literal 0 HcmV?d00001