refactor modes generator methods

This commit is contained in:
Jordan Blasenhauer 2024-06-13 14:23:10 +02:00
parent d564e91fd7
commit 48f05b7adb
3 changed files with 104 additions and 416 deletions

View file

@ -7,11 +7,9 @@ import Subtitle from "@components/Widget/Subtitle.vue";
import Flex from "@components/Widget/Flex.vue";
import Button from "@components/Widget/Button.vue";
import { v4 as uuidv4 } from "uuid";
import { plugin_types } from "@utils/variables";
import { useFilter } from "@utils/form.js";
/**
@name Form/Advanced.vue
@description This component is used to create a complete advanced form with plugin selection.
@name Form/Easy.vue
@description This component is used to create a complete easy form with plugin selection.
@example
template: [
{

View file

@ -1,6 +1,6 @@
{
"advanced": {
"global config": [
"default": [
{
"id": "general",
"stream": "partial",
@ -156,8 +156,8 @@
"tablet": 6,
"mobile": 12
},
"disabled": true,
"value": "yes",
"disabled": false,
"value": "no",
"popovers": [
{
"iconColor": "blue",
@ -189,7 +189,7 @@
"mobile": 12
},
"disabled": false,
"value": "app1.example.com www.example.com",
"value": "www.example.com",
"popovers": [
{
"iconColor": "orange",
@ -358,8 +358,8 @@
"tablet": 6,
"mobile": 12
},
"disabled": true,
"value": "info",
"disabled": false,
"value": "notice",
"popovers": [
{
"iconColor": "blue",
@ -710,8 +710,8 @@
"tablet": 6,
"mobile": 12
},
"disabled": true,
"value": "127.0.0.0/24 10.20.30.0/24",
"disabled": false,
"value": "127.0.0.0/8",
"popovers": [
{
"iconColor": "blue",
@ -2024,8 +2024,8 @@
"tablet": 6,
"mobile": 12
},
"disabled": true,
"value": "no",
"disabled": false,
"value": "yes",
"popovers": [
{
"iconColor": "orange",
@ -2896,8 +2896,8 @@
"tablet": 6,
"mobile": 12
},
"disabled": true,
"value": "no",
"disabled": false,
"value": "yes",
"popovers": [
{
"iconColor": "orange",
@ -2973,8 +2973,8 @@
"tablet": 6,
"mobile": 12
},
"disabled": false,
"value": "no",
"disabled": true,
"value": "yes",
"popovers": [
{
"iconColor": "orange",
@ -3356,8 +3356,8 @@
"tablet": 6,
"mobile": 12
},
"disabled": true,
"value": "yes",
"disabled": false,
"value": "no",
"popovers": [
{
"iconColor": "orange",
@ -3940,7 +3940,7 @@
"tablet": 6,
"mobile": 12
},
"disabled": false,
"disabled": true,
"value": "",
"popovers": [
{
@ -4414,8 +4414,8 @@
"tablet": 6,
"mobile": 12
},
"disabled": true,
"value": "yes",
"disabled": false,
"value": "dsfrgrdgrdgrdhgd",
"popovers": [
{
"iconColor": "orange",
@ -4934,7 +4934,7 @@
"mobile": 12
},
"disabled": false,
"value": "accelerometer=(), ambient-light-sensor=(), autoplay=(), battery=(), camera=(), cross-origin-isolated=(), display-capture=(), 2024-06-11T09:34:57.050404825Z document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), geolocation=(), gyroscope=(), hid=(), idle-detection=(), magnetometer=(), microphone=(), midi=(), navigation-override=(), payment=(), picture-in-picture=(), publickey-credentials-get=(), screen-wake-lock=(), serial=(), usb=(), web-share=(), xr-spatial-tracking=()",
"value": "accelerometer=(), ambient-light-sensor=(), autoplay=(), battery=(), camera=(), cross-origin-isolated=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), geolocation=(), gyroscope=(), hid=(), idle-detection=(), magnetometer=(), microphone=(), midi=(), navigation-override=(), payment=(), picture-in-picture=(), publickey-credentials-get=(), screen-wake-lock=(), serial=(), usb=(), web-share=(), xr-spatial-tracking=()",
"popovers": [
{
"iconColor": "orange",
@ -5616,8 +5616,8 @@
"tablet": 6,
"mobile": 12
},
"disabled": true,
"value": "yes",
"disabled": false,
"value": "no",
"popovers": [
{
"iconColor": "blue",
@ -5808,8 +5808,8 @@
"tablet": 6,
"mobile": 12
},
"disabled": true,
"value": "no",
"disabled": false,
"value": "yes",
"popovers": [
{
"iconColor": "orange",
@ -6260,8 +6260,8 @@
"tablet": 6,
"mobile": 12
},
"disabled": true,
"value": "no",
"disabled": false,
"value": "yes",
"popovers": [
{
"iconColor": "blue",
@ -8869,7 +8869,7 @@
"mobile": 12
},
"disabled": false,
"value": "no",
"value": "yes",
"popovers": [
{
"iconColor": "orange",
@ -8945,8 +8945,8 @@
"tablet": 6,
"mobile": 12
},
"disabled": true,
"value": "no",
"disabled": false,
"value": "yes",
"popovers": [
{
"iconColor": "orange",
@ -9317,283 +9317,11 @@
}
]
},
"easy": {
"global config": {}
},
"easy": {},
"raw": {
"global config": {
"IS_LOADING": "no",
"NGINX_PREFIX": "/etc/nginx/",
"HTTP_PORT": "8080",
"HTTPS_PORT": "8443",
"MULTISITE": "yes",
"SERVER_NAME": "app1.example.com www.example.com",
"WORKER_PROCESSES": "auto",
"WORKER_RLIMIT_NOFILE": "2048",
"WORKER_CONNECTIONS": "1024",
"LOG_FORMAT": "$host $remote_addr - $remote_user [$time_local] \"$request\" $status $body_bytes_sent \"$http_referer\" \"$http_user_agent\"",
"LOG_LEVEL": "info",
"DNS_RESOLVERS": "127.0.0.11",
"DATASTORE_MEMORY_SIZE": "64m",
"CACHESTORE_MEMORY_SIZE": "64m",
"CACHESTORE_IPC_MEMORY_SIZE": "16m",
"CACHESTORE_MISS_MEMORY_SIZE": "16m",
"CACHESTORE_LOCKS_MEMORY_SIZE": "16m",
"USE_API": "yes",
"API_HTTP_PORT": "5000",
"API_LISTEN_IP": "0.0.0.0",
"API_SERVER_NAME": "bwapi",
"API_WHITELIST_IP": "127.0.0.0/24 10.20.30.0/24",
"AUTOCONF_MODE": "no",
"SWARM_MODE": "no",
"KUBERNETES_MODE": "no",
"SERVER_TYPE": "http",
"LISTEN_STREAM": "yes",
"LISTEN_STREAM_PORT": "1337",
"LISTEN_STREAM_PORT_SSL": "4242",
"USE_UDP": "no",
"USE_IPV6": "no",
"IS_DRAFT": "no",
"TIMERS_LOG_LEVEL": "debug",
"BUNKERWEB_INSTANCES": "127.0.0.1",
"USE_ANTIBOT": "no",
"ANTIBOT_URI": "/challenge",
"ANTIBOT_TIME_RESOLVE": "60",
"ANTIBOT_TIME_VALID": "86400",
"ANTIBOT_RECAPTCHA_SCORE": "0.7",
"ANTIBOT_RECAPTCHA_SITEKEY": "",
"ANTIBOT_RECAPTCHA_SECRET": "",
"ANTIBOT_HCAPTCHA_SITEKEY": "",
"ANTIBOT_HCAPTCHA_SECRET": "",
"ANTIBOT_TURNSTILE_SITEKEY": "",
"ANTIBOT_TURNSTILE_SECRET": "",
"USE_AUTH_BASIC": "no",
"AUTH_BASIC_LOCATION": "sitewide",
"AUTH_BASIC_USER": "changeme",
"AUTH_BASIC_PASSWORD": "changeme",
"AUTH_BASIC_TEXT": "Restricted area",
"USE_BACKUP": "yes",
"BACKUP_SCHEDULE": "daily",
"BACKUP_ROTATION": "7",
"BACKUP_DIRECTORY": "/var/lib/bunkerweb/backups",
"USE_BAD_BEHAVIOR": "yes",
"BAD_BEHAVIOR_STATUS_CODES": "400 401 403 404 405 429 444",
"BAD_BEHAVIOR_THRESHOLD": "10",
"BAD_BEHAVIOR_COUNT_TIME": "60",
"BAD_BEHAVIOR_BAN_TIME": "86400",
"USE_BLACKLIST": "no",
"BLACKLIST_IP": "",
"BLACKLIST_RDNS": ".shodan.io .censys.io",
"BLACKLIST_RDNS_GLOBAL": "yes",
"BLACKLIST_ASN": "",
"BLACKLIST_USER_AGENT": "",
"BLACKLIST_URI": "",
"BLACKLIST_IGNORE_IP": "",
"BLACKLIST_IGNORE_RDNS": "",
"BLACKLIST_IGNORE_ASN": "",
"BLACKLIST_IGNORE_USER_AGENT": "",
"BLACKLIST_IGNORE_URI": "",
"BLACKLIST_IP_URLS": "https://www.dan.me.uk/torlist/?exit",
"BLACKLIST_RDNS_URLS": "",
"BLACKLIST_ASN_URLS": "",
"BLACKLIST_USER_AGENT_URLS": "https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/_generator_lists/bad-user-agents.list",
"BLACKLIST_URI_URLS": "",
"BLACKLIST_IGNORE_IP_URLS": "",
"BLACKLIST_IGNORE_RDNS_URLS": "",
"BLACKLIST_IGNORE_ASN_URLS": "",
"BLACKLIST_IGNORE_USER_AGENT_URLS": "",
"BLACKLIST_IGNORE_URI_URLS": "",
"USE_BROTLI": "no",
"BROTLI_TYPES": "application/atom+xml application/javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype application/x-font-ttf application/x-javascript application/xhtml+xml application/xml font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml",
"BROTLI_MIN_LENGTH": "1000",
"BROTLI_COMP_LEVEL": "6",
"USE_BUNKERNET": "no",
"BUNKERNET_SERVER": "https://api.bunkerweb.io",
"USE_CORS": "no",
"CORS_ALLOW_ORIGIN": "*",
"CORS_ALLOW_METHODS": "GET, POST, OPTIONS",
"CORS_ALLOW_HEADERS": "DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range",
"CORS_ALLOW_CREDENTIALS": "no",
"CORS_EXPOSE_HEADERS": "Content-Length,Content-Range",
"CROSS_ORIGIN_OPENER_POLICY": "",
"CROSS_ORIGIN_EMBEDDER_POLICY": "",
"CROSS_ORIGIN_RESOURCE_POLICY": "",
"CORS_MAX_AGE": "86400",
"CORS_DENY_REQUEST": "yes",
"USE_CLIENT_CACHE": "yes",
"CLIENT_CACHE_EXTENSIONS": "jpg|jpeg|png|bmp|ico|svg|tif|css|js|otf|ttf|eot|woff|woff2",
"CLIENT_CACHE_ETAG": "yes",
"CLIENT_CACHE_CONTROL": "public, max-age=15552000",
"BLACKLIST_COUNTRY": "",
"WHITELIST_COUNTRY": "",
"USE_CUSTOM_SSL": "no",
"CUSTOM_SSL_CERT": "",
"CUSTOM_SSL_KEY": "",
"CUSTOM_SSL_CERT_DATA": "",
"CUSTOM_SSL_KEY_DATA": "",
"DATABASE_URI": "sqlite:////var/lib/bunkerweb/db.sqlite3",
"DATABASE_URI_READONLY": "",
"DATABASE_LOG_LEVEL": "warning",
"USE_DNSBL": "yes",
"DNSBL_LIST": "bl.blocklist.de problems.dnsbl.sorbs.net sbl.spamhaus.org xbl.spamhaus.org",
"ERRORS": "",
"INTERCEPTED_ERROR_CODES": "400 401 403 404 405 413 429 500 501 502 503 504",
"USE_GREYLIST": "no",
"GREYLIST_IP": "",
"GREYLIST_RDNS": "",
"GREYLIST_RDNS_GLOBAL": "yes",
"GREYLIST_ASN": "",
"GREYLIST_USER_AGENT": "",
"GREYLIST_URI": "",
"GREYLIST_IP_URLS": "",
"GREYLIST_RDNS_URLS": "",
"GREYLIST_ASN_URLS": "",
"GREYLIST_USER_AGENT_URLS": "",
"GREYLIST_URI_URLS": "",
"USE_GZIP": "yes",
"GZIP_TYPES": "application/atom+xml application/javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype application/x-font-ttf application/x-javascript application/xhtml+xml application/xml font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml",
"GZIP_MIN_LENGTH": "1000",
"GZIP_COMP_LEVEL": "5",
"GZIP_PROXIED": "no-cache no-store private expired auth",
"INJECT_BODY": "",
"CUSTOM_HEADER": "",
"REMOVE_HEADERS": "Server Expect-CT X-Powered-By X-AspNet-Version X-AspNetMvc-Version",
"KEEP_UPSTREAM_HEADERS": "Content-Security-Policy Permissions-Policy Feature-Policy X-Frame-Options",
"STRICT_TRANSPORT_SECURITY": "max-age=31536000",
"COOKIE_FLAGS": "* HttpOnly SameSite=Lax",
"COOKIE_AUTO_SECURE_FLAG": "yes",
"CONTENT_SECURITY_POLICY": "object-src 'none'; form-action 'self'; frame-ancestors 'self';",
"CONTENT_SECURITY_POLICY_REPORT_ONLY": "no",
"REFERRER_POLICY": "strict-origin-when-cross-origin",
"PERMISSIONS_POLICY": "accelerometer=(), ambient-light-sensor=(), autoplay=(), battery=(), camera=(), cross-origin-isolated=(), display-capture=(), 2024-06-11T09:34:57.050404825Z document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), geolocation=(), gyroscope=(), hid=(), idle-detection=(), magnetometer=(), microphone=(), midi=(), navigation-override=(), payment=(), picture-in-picture=(), publickey-credentials-get=(), screen-wake-lock=(), serial=(), usb=(), web-share=(), xr-spatial-tracking=()",
"FEATURE_POLICY": "accelerometer 'none'; ambient-light-sensor 'none'; autoplay 'none'; battery 'none'; camera 'none'; display-capture 'none'; document-domain 'none'; encrypted-media 'none'; execution-while-not-rendered 'none'; execution-while-out-of-viewport 'none'; fullscreen 'none'; geolocation 'none'; gyroscope 'none'; layout-animation 'none'; legacy-image-formats 'none'; magnetometer 'none'; microphone 'none'; midi 'none'; navigation-override 'none'; payment 'none'; picture-in-picture 'none'; publickey-credentials-get 'none'; speaker-selection 'none'; sync-xhr 'none'; unoptimized-images 'none'; unsized-media 'none'; usb 'none'; screen-wake-lock 'none'; web-share 'none'; xr-spatial-tracking 'none';",
"X_FRAME_OPTIONS": "SAMEORIGIN",
"X_CONTENT_TYPE_OPTIONS": "nosniff",
"X_XSS_PROTECTION": "1; mode=block",
"AUTO_LETS_ENCRYPT": "no",
"EMAIL_LETS_ENCRYPT": "",
"USE_LETS_ENCRYPT_STAGING": "no",
"LETS_ENCRYPT_CLEAR_OLD_CERTS": "no",
"USE_LIMIT_REQ": "yes",
"LIMIT_REQ_URL": "/",
"LIMIT_REQ_RATE": "2r/s",
"USE_LIMIT_CONN": "yes",
"LIMIT_CONN_MAX_HTTP1": "10",
"LIMIT_CONN_MAX_HTTP2": "100",
"LIMIT_CONN_MAX_STREAM": "10",
"USE_METRICS": "yes",
"METRICS_MEMORY_SIZE": "16m",
"METRICS_MAX_BLOCKED_REQUESTS": "100",
"DISABLE_DEFAULT_SERVER": "yes",
"DISABLE_DEFAULT_SERVER_STRICT_SNI": "no",
"REDIRECT_HTTP_TO_HTTPS": "no",
"AUTO_REDIRECT_HTTP_TO_HTTPS": "yes",
"ALLOWED_METHODS": "GET|POST|HEAD",
"MAX_CLIENT_SIZE": "10m",
"SERVE_FILES": "no",
"ROOT_FOLDER": "",
"SSL_PROTOCOLS": "TLSv1.2 TLSv1.3",
"HTTP2": "yes",
"HTTP3": "no",
"HTTP3_ALT_SVC_PORT": "443",
"LISTEN_HTTP": "yes",
"USE_OPEN_FILE_CACHE": "no",
"OPEN_FILE_CACHE": "max=1000 inactive=20s",
"OPEN_FILE_CACHE_ERRORS": "yes",
"OPEN_FILE_CACHE_MIN_USES": "2",
"OPEN_FILE_CACHE_VALID": "30s",
"EXTERNAL_PLUGIN_URLS": "",
"DENY_HTTP_STATUS": "403",
"SEND_ANONYMOUS_REPORT": "no",
"USE_MODSECURITY": "yes",
"USE_MODSECURITY_CRS": "yes",
"MODSECURITY_CRS_VERSION": "3",
"MODSECURITY_SEC_AUDIT_ENGINE": "RelevantOnly",
"MODSECURITY_SEC_RULE_ENGINE": "On",
"MODSECURITY_SEC_AUDIT_LOG_PARTS": "ABCFHZ",
"REMOTE_PHP": "",
"REMOTE_PHP_PATH": "",
"LOCAL_PHP": "",
"LOCAL_PHP_PATH": "",
"PRO_LICENSE_KEY": "",
"USE_REAL_IP": "no",
"USE_PROXY_PROTOCOL": "no",
"REAL_IP_FROM": "192.168.0.0/16 172.16.0.0/12 10.0.0.0/8",
"REAL_IP_HEADER": "X-Forwarded-For",
"REAL_IP_RECURSIVE": "yes",
"REAL_IP_FROM_URLS": "",
"REDIRECT_TO": "",
"REDIRECT_TO_REQUEST_URI": "no",
"REDIRECT_TO_STATUS_CODE": "301",
"USE_REDIS": "no",
"REDIS_HOST": "",
"REDIS_PORT": "6379",
"REDIS_DATABASE": "0",
"REDIS_SSL": "no",
"REDIS_SSL_VERIFY": "no",
"REDIS_TIMEOUT": "1000",
"REDIS_USERNAME": "",
"REDIS_PASSWORD": "",
"REDIS_SENTINEL_HOSTS": "",
"REDIS_SENTINEL_USERNAME": "",
"REDIS_SENTINEL_PASSWORD": "",
"REDIS_SENTINEL_MASTER": "",
"REDIS_KEEPALIVE_IDLE": "30000",
"REDIS_KEEPALIVE_POOL": "10",
"USE_REVERSE_PROXY": "no",
"REVERSE_PROXY_INTERCEPT_ERRORS": "yes",
"REVERSE_PROXY_CUSTOM_HOST": "",
"REVERSE_PROXY_HOST": "",
"REVERSE_PROXY_URL": "/",
"REVERSE_PROXY_WS": "no",
"REVERSE_PROXY_HEADERS": "",
"REVERSE_PROXY_HEADERS_CLIENT": "",
"REVERSE_PROXY_BUFFERING": "yes",
"REVERSE_PROXY_KEEPALIVE": "no",
"REVERSE_PROXY_AUTH_REQUEST": "",
"REVERSE_PROXY_AUTH_REQUEST_SIGNIN_URL": "",
"REVERSE_PROXY_AUTH_REQUEST_SET": "",
"REVERSE_PROXY_CONNECT_TIMEOUT": "60s",
"REVERSE_PROXY_READ_TIMEOUT": "60s",
"REVERSE_PROXY_SEND_TIMEOUT": "60s",
"REVERSE_PROXY_INCLUDES": "",
"USE_PROXY_CACHE": "no",
"PROXY_CACHE_PATH_LEVELS": "1:2",
"PROXY_CACHE_PATH_ZONE_SIZE": "10m",
"PROXY_CACHE_PATH_PARAMS": "max_size=100m",
"PROXY_CACHE_METHODS": "GET HEAD",
"PROXY_CACHE_MIN_USES": "2",
"PROXY_CACHE_KEY": "$scheme$host$request_uri",
"PROXY_CACHE_VALID": "200=24h 301=1h 302=24h",
"PROXY_NO_CACHE": "$http_pragma $http_authorization",
"PROXY_CACHE_BYPASS": "0",
"USE_REVERSE_SCAN": "no",
"REVERSE_SCAN_PORTS": "22 80 443 3128 8000 8080",
"REVERSE_SCAN_TIMEOUT": "500",
"GENERATE_SELF_SIGNED_SSL": "no",
"SELF_SIGNED_SSL_EXPIRY": "365",
"SELF_SIGNED_SSL_SUBJ": "/CN=www.example.com/",
"SESSIONS_SECRET": "random",
"SESSIONS_NAME": "random",
"SESSIONS_IDLING_TIMEOUT": "1800",
"SESSIONS_ROLLING_TIMEOUT": "3600",
"SESSIONS_ABSOLUTE_TIMEOUT": "86400",
"SESSIONS_CHECK_IP": "yes",
"SESSIONS_CHECK_USER_AGENT": "yes",
"USE_UI": "no",
"UI_HOST": "",
"USE_WHITELIST": "no",
"WHITELIST_IP": "20.191.45.212 40.88.21.235 40.76.173.151 40.76.163.7 20.185.79.47 52.142.26.175 20.185.79.15 52.142.24.149 40.76.162.208 40.76.163.23 40.76.162.191 40.76.162.247",
"WHITELIST_RDNS": ".google.com .googlebot.com .yandex.ru .yandex.net .yandex.com .search.msn.com .baidu.com .baidu.jp .crawl.yahoo.net .fwd.linkedin.com .twitter.com .twttr.com .discord.com",
"WHITELIST_RDNS_GLOBAL": "yes",
"WHITELIST_ASN": "32934",
"WHITELIST_USER_AGENT": "",
"WHITELIST_URI": "",
"WHITELIST_IP_URLS": "",
"WHITELIST_RDNS_URLS": "",
"WHITELIST_ASN_URLS": "",
"WHITELIST_USER_AGENT_URLS": "",
"WHITELIST_URI_URLS": ""
"default": {
"USE_GZIP": "dsfrgrdgrdgrdhgd",
"USE_UI": "yes"
}
}
}

File diff suppressed because one or more lines are too long