mirror of
https://github.com/bunkerity/bunkerweb
synced 2026-05-24 09:28:37 +00:00
add easy mode switch
This commit is contained in:
parent
3a407f12c7
commit
f92f2e8cb7
7 changed files with 297 additions and 324 deletions
|
|
@ -62,18 +62,34 @@ const props = defineProps({
|
|||
|
||||
const data = reactive({
|
||||
currStep: 0,
|
||||
totalSteps: Object.keys(props.template).length,
|
||||
isFinalStep: computed(() => data.currStep === data.totalSteps - 1),
|
||||
isFirstStep: computed(() => data.currStep === 0),
|
||||
});
|
||||
|
||||
const buttonSave = {
|
||||
id: uuidv4(),
|
||||
text: "action_save",
|
||||
disabled: false,
|
||||
color: "success",
|
||||
size: "normal",
|
||||
type: "submit",
|
||||
containerClass: "flex justify-center",
|
||||
};
|
||||
|
||||
const buttonPrev = {
|
||||
id: uuidv4(),
|
||||
text: "action_previous",
|
||||
color: "info",
|
||||
size: "normal",
|
||||
};
|
||||
|
||||
const buttonNext = {
|
||||
id: uuidv4(),
|
||||
text: "action_next",
|
||||
color: "info",
|
||||
size: "normal",
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
// Restart step one every time the component is mounted
|
||||
data.currStep = 0;
|
||||
|
|
@ -92,8 +108,8 @@ onMounted(() => {
|
|||
|
||||
<template v-for="(step, id) in props.template">
|
||||
<Container v-if="data.currStep === id" class="col-span-12 w-full">
|
||||
<Title type="card" :title="step.name" />
|
||||
<Subtitle type="card" :subtitle="step.description" />
|
||||
<Title type="card" :title="step.title" />
|
||||
<Subtitle type="card" :subtitle="step.subtitle" />
|
||||
|
||||
<Container class="grid grid-cols-12 w-full relative">
|
||||
<template
|
||||
|
|
@ -105,8 +121,20 @@ onMounted(() => {
|
|||
</Container>
|
||||
</Container>
|
||||
</template>
|
||||
<Flex>
|
||||
<Button v-bind="buttonSave" />
|
||||
<Flex :flexClass="'justify-center'">
|
||||
<Button
|
||||
@click="data.currStep = Math.max(data.currStep - 1, 0)"
|
||||
:disabled="data.isFirstStep"
|
||||
v-bind="buttonPrev"
|
||||
:containerClass="`mr-2`"
|
||||
/>
|
||||
<Button
|
||||
:containerClass="`mr-2`"
|
||||
@click="data.currStep = Math.min(data.currStep + 1, data.totalSteps)"
|
||||
:disabled="data.isFinalStep"
|
||||
v-bind="buttonNext"
|
||||
/>
|
||||
<Button :disabled="!data.isFinalStep" v-bind="buttonSave" />
|
||||
</Flex>
|
||||
</Container>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import Container from "@components/Widget/Container.vue";
|
|||
import Combobox from "@components/Forms/Field/Combobox.vue";
|
||||
import Advanced from "@components/Form/Advanced.vue";
|
||||
import Raw from "@components/Form/Raw.vue";
|
||||
import Easy from "@components/Form/Easy.vue";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
|
||||
/**
|
||||
|
|
@ -118,5 +119,9 @@ onBeforeMount(() => {
|
|||
v-if="data.currModeName === 'raw'"
|
||||
:template="props.templates[data.currModeName][data.currTemplateName]"
|
||||
/>
|
||||
<Easy
|
||||
v-if="data.currModeName === 'easy'"
|
||||
:template="props.templates[data.currModeName][data.currTemplateName]"
|
||||
/>
|
||||
</Container>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -132,6 +132,8 @@
|
|||
"action_restart": "restart {name}",
|
||||
"action_upload": "upload {name}",
|
||||
"action_delete_all": "delete all {name}",
|
||||
"action_previous" : "previous",
|
||||
"action_next" : "next",
|
||||
"home_version": "version",
|
||||
"home_all_features_available": "all features are available",
|
||||
"home_awaiting_compliance": "awaiting compliance",
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ onMounted(() => {
|
|||
|
||||
const data = {
|
||||
advanced: {
|
||||
"global config": [
|
||||
default: [
|
||||
{
|
||||
id: "general",
|
||||
stream: "partial",
|
||||
|
|
@ -212,8 +212,8 @@ const data = {
|
|||
tablet: 6,
|
||||
mobile: 12,
|
||||
},
|
||||
disabled: true,
|
||||
value: "yes",
|
||||
disabled: false,
|
||||
value: "no",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "blue",
|
||||
|
|
@ -247,7 +247,7 @@ const data = {
|
|||
mobile: 12,
|
||||
},
|
||||
disabled: false,
|
||||
value: "app1.example.com www.example.com",
|
||||
value: "www.example.com",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "orange",
|
||||
|
|
@ -418,8 +418,8 @@ const data = {
|
|||
tablet: 6,
|
||||
mobile: 12,
|
||||
},
|
||||
disabled: true,
|
||||
value: "info",
|
||||
disabled: false,
|
||||
value: "notice",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "blue",
|
||||
|
|
@ -772,8 +772,8 @@ const data = {
|
|||
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",
|
||||
|
|
@ -2085,8 +2085,8 @@ const data = {
|
|||
tablet: 6,
|
||||
mobile: 12,
|
||||
},
|
||||
disabled: true,
|
||||
value: "no",
|
||||
disabled: false,
|
||||
value: "yes",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "orange",
|
||||
|
|
@ -2986,8 +2986,8 @@ const data = {
|
|||
tablet: 6,
|
||||
mobile: 12,
|
||||
},
|
||||
disabled: true,
|
||||
value: "no",
|
||||
disabled: false,
|
||||
value: "yes",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "orange",
|
||||
|
|
@ -3065,8 +3065,8 @@ const data = {
|
|||
tablet: 6,
|
||||
mobile: 12,
|
||||
},
|
||||
disabled: false,
|
||||
value: "no",
|
||||
disabled: true,
|
||||
value: "yes",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "orange",
|
||||
|
|
@ -3442,8 +3442,8 @@ const data = {
|
|||
tablet: 6,
|
||||
mobile: 12,
|
||||
},
|
||||
disabled: true,
|
||||
value: "yes",
|
||||
disabled: false,
|
||||
value: "no",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "orange",
|
||||
|
|
@ -4027,7 +4027,7 @@ const data = {
|
|||
tablet: 6,
|
||||
mobile: 12,
|
||||
},
|
||||
disabled: false,
|
||||
disabled: true,
|
||||
value: "",
|
||||
popovers: [
|
||||
{
|
||||
|
|
@ -4514,8 +4514,8 @@ const data = {
|
|||
tablet: 6,
|
||||
mobile: 12,
|
||||
},
|
||||
disabled: true,
|
||||
value: "yes",
|
||||
disabled: false,
|
||||
value: "dsfrgrdgrdgrdhgd",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "orange",
|
||||
|
|
@ -5040,7 +5040,7 @@ const data = {
|
|||
},
|
||||
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=()",
|
||||
"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",
|
||||
|
|
@ -5722,8 +5722,8 @@ const data = {
|
|||
tablet: 6,
|
||||
mobile: 12,
|
||||
},
|
||||
disabled: true,
|
||||
value: "yes",
|
||||
disabled: false,
|
||||
value: "no",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "blue",
|
||||
|
|
@ -5914,8 +5914,8 @@ const data = {
|
|||
tablet: 6,
|
||||
mobile: 12,
|
||||
},
|
||||
disabled: true,
|
||||
value: "no",
|
||||
disabled: false,
|
||||
value: "yes",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "orange",
|
||||
|
|
@ -6365,8 +6365,8 @@ const data = {
|
|||
tablet: 6,
|
||||
mobile: 12,
|
||||
},
|
||||
disabled: true,
|
||||
value: "no",
|
||||
disabled: false,
|
||||
value: "yes",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "blue",
|
||||
|
|
@ -8975,7 +8975,7 @@ const data = {
|
|||
mobile: 12,
|
||||
},
|
||||
disabled: false,
|
||||
value: "no",
|
||||
value: "yes",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "orange",
|
||||
|
|
@ -9052,8 +9052,8 @@ const data = {
|
|||
tablet: 6,
|
||||
mobile: 12,
|
||||
},
|
||||
disabled: true,
|
||||
value: "no",
|
||||
disabled: false,
|
||||
value: "yes",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "orange",
|
||||
|
|
@ -9441,297 +9441,153 @@ const data = {
|
|||
],
|
||||
},
|
||||
easy: {
|
||||
"global config": {},
|
||||
default: [
|
||||
{
|
||||
title: "Title 1",
|
||||
subtitle: "subtitle 1",
|
||||
settings: {
|
||||
USE_UI: {
|
||||
context: "multisite",
|
||||
default: "no",
|
||||
help: "Use UI",
|
||||
id: "use-ui",
|
||||
label: "Use UI",
|
||||
regex: "^(yes|no)$",
|
||||
type: "check",
|
||||
containerClass: "z-1",
|
||||
pattern: "^(yes|no)$",
|
||||
inpType: "checkbox",
|
||||
name: "Use UI",
|
||||
columns: {
|
||||
pc: 4,
|
||||
tablet: 6,
|
||||
mobile: 12,
|
||||
},
|
||||
disabled: false,
|
||||
value: "yes",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "orange",
|
||||
iconName: "disk",
|
||||
text: "inp_popover_multisite",
|
||||
},
|
||||
{
|
||||
iconColor: "info",
|
||||
iconName: "info",
|
||||
text: "Use UI",
|
||||
},
|
||||
],
|
||||
},
|
||||
USE_CORS: {
|
||||
context: "multisite",
|
||||
default: "no",
|
||||
help: "Use CORS",
|
||||
id: "use-cors",
|
||||
label: "Use CORS",
|
||||
regex: "^(yes|no)$",
|
||||
type: "check",
|
||||
containerClass: "z-0",
|
||||
pattern: "^(yes|no)$",
|
||||
inpType: "checkbox",
|
||||
name: "Use CORS",
|
||||
columns: {
|
||||
pc: 4,
|
||||
tablet: 6,
|
||||
mobile: 12,
|
||||
},
|
||||
disabled: true,
|
||||
value: "yes",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "orange",
|
||||
iconName: "disk",
|
||||
text: "inp_popover_multisite",
|
||||
},
|
||||
{
|
||||
iconColor: "info",
|
||||
iconName: "info",
|
||||
text: "Use CORS",
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
title: "Title 2",
|
||||
subtitle: "subtitle 2",
|
||||
settings: {
|
||||
USE_UI: {
|
||||
context: "multisite",
|
||||
default: "no",
|
||||
help: "Use UI",
|
||||
id: "use-ui",
|
||||
label: "Use UI",
|
||||
regex: "^(yes|no)$",
|
||||
type: "check",
|
||||
containerClass: "z-1",
|
||||
pattern: "^(yes|no)$",
|
||||
inpType: "checkbox",
|
||||
name: "Use UI",
|
||||
columns: {
|
||||
pc: 4,
|
||||
tablet: 6,
|
||||
mobile: 12,
|
||||
},
|
||||
disabled: false,
|
||||
value: "yes",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "orange",
|
||||
iconName: "disk",
|
||||
text: "inp_popover_multisite",
|
||||
},
|
||||
{
|
||||
iconColor: "info",
|
||||
iconName: "info",
|
||||
text: "Use UI",
|
||||
},
|
||||
],
|
||||
},
|
||||
USE_CORS: {
|
||||
context: "multisite",
|
||||
default: "no",
|
||||
help: "Use CORS",
|
||||
id: "use-cors",
|
||||
label: "Use CORS",
|
||||
regex: "^(yes|no)$",
|
||||
type: "check",
|
||||
containerClass: "z-0",
|
||||
pattern: "^(yes|no)$",
|
||||
inpType: "checkbox",
|
||||
name: "Use CORS",
|
||||
columns: {
|
||||
pc: 4,
|
||||
tablet: 6,
|
||||
mobile: 12,
|
||||
},
|
||||
disabled: true,
|
||||
value: "yes",
|
||||
popovers: [
|
||||
{
|
||||
iconColor: "orange",
|
||||
iconName: "disk",
|
||||
text: "inp_popover_multisite",
|
||||
},
|
||||
{
|
||||
iconColor: "info",
|
||||
iconName: "info",
|
||||
text: "Use CORS",
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
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",
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -184,6 +184,18 @@ export default {
|
|||
"sm:w-full",
|
||||
"md:w-full",
|
||||
"lg:w-full",
|
||||
"relative",
|
||||
"sm:relative",
|
||||
"md:relative",
|
||||
"lg:relative",
|
||||
"absolute",
|
||||
"sm:absolute",
|
||||
"md:absolute",
|
||||
"lg:absolute",
|
||||
"fixed",
|
||||
"sm:fixed",
|
||||
"md:fixed",
|
||||
"lg:fixed",
|
||||
],
|
||||
important: true,
|
||||
darkMode: "class",
|
||||
|
|
|
|||
|
|
@ -9388,6 +9388,76 @@
|
|||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"title": "Title 2",
|
||||
"subtitle": "subtitle 2",
|
||||
"settings": {
|
||||
"USE_UI": {
|
||||
"context": "multisite",
|
||||
"default": "no",
|
||||
"help": "Use UI",
|
||||
"id": "use-ui",
|
||||
"label": "Use UI",
|
||||
"regex": "^(yes|no)$",
|
||||
"type": "check",
|
||||
"containerClass": "z-1",
|
||||
"pattern": "^(yes|no)$",
|
||||
"inpType": "checkbox",
|
||||
"name": "Use UI",
|
||||
"columns": {
|
||||
"pc": 4,
|
||||
"tablet": 6,
|
||||
"mobile": 12
|
||||
},
|
||||
"disabled": false,
|
||||
"value": "yes",
|
||||
"popovers": [
|
||||
{
|
||||
"iconColor": "orange",
|
||||
"iconName": "disk",
|
||||
"text": "inp_popover_multisite"
|
||||
},
|
||||
{
|
||||
"iconColor": "info",
|
||||
"iconName": "info",
|
||||
"text": "Use UI"
|
||||
}
|
||||
]
|
||||
},
|
||||
"USE_CORS": {
|
||||
"context": "multisite",
|
||||
"default": "no",
|
||||
"help": "Use CORS",
|
||||
"id": "use-cors",
|
||||
"label": "Use CORS",
|
||||
"regex": "^(yes|no)$",
|
||||
"type": "check",
|
||||
"containerClass": "z-0",
|
||||
"pattern": "^(yes|no)$",
|
||||
"inpType": "checkbox",
|
||||
"name": "Use CORS",
|
||||
"columns": {
|
||||
"pc": 4,
|
||||
"tablet": 6,
|
||||
"mobile": 12
|
||||
},
|
||||
"disabled": true,
|
||||
"value": "yes",
|
||||
"popovers": [
|
||||
{
|
||||
"iconColor": "orange",
|
||||
"iconName": "disk",
|
||||
"text": "inp_popover_multisite"
|
||||
},
|
||||
{
|
||||
"iconColor": "info",
|
||||
"iconName": "info",
|
||||
"text": "Use CORS"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ service_settings = {'ERRORS': {'value': '', 'global': True, 'method': 'scheduler
|
|||
|
||||
|
||||
# Default template
|
||||
default_template = {"name" : "default", "steps": [{"title" : "Title 1", "subtitle" : "subtitle 1", "settings" : ["USE_UI", "USE_CORS"]}], "configs" : {}, "settings" : {'USE_UI': 'no', 'USE_CORS': 'no', 'USE_GZIP': 'dsfrgrdgrdgrdhgd'}}
|
||||
default_template = {"name" : "default", "steps": [{"title" : "Title 1", "subtitle" : "subtitle 1", "settings" : ["USE_UI", "USE_CORS"]}, {"title" : "Title 2", "subtitle" : "subtitle 2", "settings" : ["USE_UI", "USE_CORS"]}], "configs" : {}, "settings" : {'USE_UI': 'no', 'USE_CORS': 'no', 'USE_GZIP': 'dsfrgrdgrdgrdhgd'}}
|
||||
|
||||
|
||||
def get_service_forms(templates = [], plugins = [], service_settings = {}):
|
||||
|
|
|
|||
Loading…
Reference in a new issue