mirror of
https://github.com/bunkerity/bunkerweb
synced 2026-05-24 09:28:37 +00:00
precommit
This commit is contained in:
parent
bf9bb9aa69
commit
6e854aa636
73 changed files with 63186 additions and 42238 deletions
|
|
@ -3208,4 +3208,3 @@ This component is lightweight builder containing only the necessary components t
|
|||
#### Parameters
|
||||
|
||||
- `json` ;
|
||||
|
||||
|
|
|
|||
|
|
@ -46,4 +46,3 @@ def raw_mode_builder(templates: list[dict], plugins: list, global_config: dict,
|
|||
}
|
||||
]
|
||||
return builder
|
||||
|
||||
|
|
|
|||
2
src/ui/client/.gitignore
vendored
2
src/ui/client/.gitignore
vendored
|
|
@ -26,4 +26,4 @@ dist-ssr
|
|||
# build
|
||||
opt-dashboard
|
||||
opt-setup
|
||||
outpout
|
||||
outpout
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ Vite.js will be use to build needed pages and resources (CSS, JS...) for the Bun
|
|||
|
||||
# Structure
|
||||
|
||||
We have two main folders :
|
||||
We have two main folders :
|
||||
- `dashboard` with a multi page approach, this part is used to dev main pages on the dashboard. Use `vite.config.dashboard.js`.
|
||||
- `setup` that is special because we need a all-in-one HTML file for the setup page. Use `vite.config.setup.js`.
|
||||
|
||||
|
|
@ -21,4 +21,4 @@ In case you want to run the BunkerWeb UI, try to update front-end and get the mo
|
|||
|
||||
# Prod mode
|
||||
|
||||
You only have to run a basic `docker-compose` and `src/ui/Dockerfile` will build the front automatically.
|
||||
You only have to run a basic `docker-compose` and `src/ui/Dockerfile` will build the front automatically.
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -43,7 +43,7 @@ const banner = reactive({
|
|||
// I want to match everything inside class and replace it
|
||||
data[index].content = item.content.replace(
|
||||
/class='(.+?)'|class="(.+?)"/g,
|
||||
'class="banner-item-text"'
|
||||
'class="banner-item-text"',
|
||||
);
|
||||
});
|
||||
return data;
|
||||
|
|
@ -83,7 +83,7 @@ function setupBanner() {
|
|||
// Refetch after one hour
|
||||
sessionStorage.setItem(
|
||||
"bannerRefetch",
|
||||
Math.round(new Date().getTime() / 1000) + 3600
|
||||
Math.round(new Date().getTime() / 1000) + 3600,
|
||||
);
|
||||
banner.api = res.data[0].data;
|
||||
if (banner.api.length > 0) {
|
||||
|
|
|
|||
|
|
@ -52,8 +52,8 @@ onMounted(() => {
|
|||
`dashboard_${header.currPath}`,
|
||||
$t(
|
||||
"dashboard_placeholder",
|
||||
$t("dashboard_placeholder", header.currPath)
|
||||
)
|
||||
$t("dashboard_placeholder", header.currPath),
|
||||
),
|
||||
)
|
||||
}}
|
||||
</h2>
|
||||
|
|
@ -67,8 +67,8 @@ onMounted(() => {
|
|||
`dashboard_${header.lastPath}`,
|
||||
$t(
|
||||
"dashboard_placeholder",
|
||||
$t("dashboard_placeholder", header.lastPath)
|
||||
)
|
||||
$t("dashboard_placeholder", header.lastPath),
|
||||
),
|
||||
)
|
||||
}}
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ function loadNews() {
|
|||
) {
|
||||
sessionStorage.setItem(
|
||||
"lastRefetch",
|
||||
Math.round(new Date().getTime() / 1000) + 3600
|
||||
Math.round(new Date().getTime() / 1000) + 3600,
|
||||
);
|
||||
sessionStorage.setItem("lastNews", JSON.stringify(reverseData));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -357,8 +357,8 @@ onUnmounted(() => {
|
|||
data.isReqErr || data.isRegErr
|
||||
? true
|
||||
: advancedForm.isUpdateData
|
||||
? false
|
||||
: true
|
||||
? false
|
||||
: true
|
||||
"
|
||||
@click="advancedForm.submit()"
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ watch(
|
|||
() => props.template,
|
||||
() => {
|
||||
setup();
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ watch(
|
|||
setTimeout(() => {
|
||||
data.isRender = true;
|
||||
}, 50);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -51,12 +51,12 @@ const props = defineProps({
|
|||
props.isValid
|
||||
? $t("inp_input_valid")
|
||||
: props.isNoMatch
|
||||
? $t("inp_input_no_match")
|
||||
: props.isValueTaken
|
||||
? $t("inp_input_error_taken")
|
||||
: !props.isValue
|
||||
? $t("inp_input_error_required")
|
||||
: $t("inp_input_error")
|
||||
? $t("inp_input_no_match")
|
||||
: props.isValueTaken
|
||||
? $t("inp_input_error_taken")
|
||||
: !props.isValue
|
||||
? $t("inp_input_error_required")
|
||||
: $t("inp_input_error")
|
||||
}}
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -46,12 +46,12 @@ const props = defineProps({
|
|||
props.isValid
|
||||
? $t("inp_input_valid")
|
||||
: props.isNoMatch
|
||||
? $t("inp_input_no_match")
|
||||
: props.isValueTaken
|
||||
? $t("inp_input_error_taken")
|
||||
: !props.isValue
|
||||
? $t("inp_input_error_required")
|
||||
: $t("inp_input_error")
|
||||
? $t("inp_input_no_match")
|
||||
: props.isValueTaken
|
||||
? $t("inp_input_error_taken")
|
||||
: !props.isValue
|
||||
? $t("inp_input_error_required")
|
||||
: $t("inp_input_error")
|
||||
}}
|
||||
</p>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -165,7 +165,7 @@ watch(
|
|||
() => props.value,
|
||||
() => {
|
||||
select.value = props.value;
|
||||
}
|
||||
},
|
||||
);
|
||||
const inp = reactive({
|
||||
id: "",
|
||||
|
|
@ -174,7 +174,7 @@ const inp = reactive({
|
|||
isMatching: computed(() => {
|
||||
if (!props.values) return false;
|
||||
return props.values.some((str) =>
|
||||
str.toLowerCase().includes(inp.value.toLowerCase())
|
||||
str.toLowerCase().includes(inp.value.toLowerCase()),
|
||||
);
|
||||
}),
|
||||
});
|
||||
|
|
@ -191,10 +191,10 @@ const select = reactive({
|
|||
isValid: !props.required
|
||||
? true
|
||||
: props.requiredValues.length <= 0
|
||||
? true
|
||||
: props.requiredValues.includes(props.value)
|
||||
? true
|
||||
: false,
|
||||
? true
|
||||
: props.requiredValues.includes(props.value)
|
||||
? true
|
||||
: false,
|
||||
});
|
||||
|
||||
const selectBtn = ref();
|
||||
|
|
@ -235,8 +235,8 @@ function toggleSelect() {
|
|||
const canBeDown = props.onlyDown
|
||||
? true
|
||||
: fieldContainerRect.bottom + selectDropRect.height < parentRect.bottom
|
||||
? true
|
||||
: false;
|
||||
? true
|
||||
: false;
|
||||
|
||||
if (!canBeDown) {
|
||||
selectDropdown.value.style.top = `-${
|
||||
|
|
@ -275,10 +275,10 @@ function changeValue(newValue) {
|
|||
select.isValid = !props.required
|
||||
? true
|
||||
: props.requiredValues.length <= 0
|
||||
? true
|
||||
: props.requiredValues.includes(newValue)
|
||||
? true
|
||||
: false;
|
||||
? true
|
||||
: props.requiredValues.includes(newValue)
|
||||
? true
|
||||
: false;
|
||||
closeSelect();
|
||||
return newValue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -174,7 +174,7 @@ let datepicker;
|
|||
function setMonthSelect(calendarEl, id) {
|
||||
// Hide default select and options
|
||||
const defaultSelect = calendarEl.querySelector(
|
||||
".flatpickr-monthDropdown-months"
|
||||
".flatpickr-monthDropdown-months",
|
||||
);
|
||||
defaultSelect.classList.add("hidden");
|
||||
defaultSelect.setAttribute("aria-hidden", "true");
|
||||
|
|
@ -191,7 +191,7 @@ function setMonthSelect(calendarEl, id) {
|
|||
container.classList.add(
|
||||
"flatpickr-monthDropdown-months",
|
||||
"inline",
|
||||
"relative"
|
||||
"relative",
|
||||
);
|
||||
// Select-like
|
||||
const selectCustom = document.createElement("button");
|
||||
|
|
@ -220,7 +220,7 @@ function setMonthSelect(calendarEl, id) {
|
|||
"text-white",
|
||||
"py-1",
|
||||
"hover:brightness-125",
|
||||
"focus:brightness-125"
|
||||
"focus:brightness-125",
|
||||
);
|
||||
opt.setAttribute("data-month", option.value);
|
||||
opt.setAttribute("data-value", option.value);
|
||||
|
|
@ -252,7 +252,7 @@ function setMonthSelect(calendarEl, id) {
|
|||
function setPickerAtt(calendarEl, id = false) {
|
||||
// change error non-standard attributes
|
||||
const inps = calendarEl.querySelectorAll(
|
||||
'input.numInput[type="number"][maxlength]'
|
||||
'input.numInput[type="number"][maxlength]',
|
||||
);
|
||||
inps.forEach((inp) => {
|
||||
inp.setAttribute("data-maxlength", inp.getAttribute("maxlength"));
|
||||
|
|
@ -313,7 +313,7 @@ function handleEvents(calendarEl, id, datepicker) {
|
|||
) {
|
||||
// Get update value
|
||||
const selectDefault = calendarEl.querySelector(
|
||||
"select.flatpickr-monthDropdown-months"
|
||||
"select.flatpickr-monthDropdown-months",
|
||||
);
|
||||
|
||||
let monthValue;
|
||||
|
|
@ -377,7 +377,7 @@ function handleEvents(calendarEl, id, datepicker) {
|
|||
if (e.key === "Tab" && e.shiftKey) {
|
||||
e.preventDefault();
|
||||
const currActive = calendarEl.querySelector(
|
||||
'[data-tabindex-active="true"]'
|
||||
'[data-tabindex-active="true"]',
|
||||
);
|
||||
if (!currActive) return;
|
||||
|
||||
|
|
@ -430,7 +430,7 @@ function handleEvents(calendarEl, id, datepicker) {
|
|||
//Focus previous element with a tabindex
|
||||
const currIndex = datepicker.input.getAttribute("tabindex");
|
||||
const elements = document.querySelectorAll(
|
||||
`input[tabindex="${currIndex}"]`
|
||||
`input[tabindex="${currIndex}"]`,
|
||||
);
|
||||
// Remove disabled elements
|
||||
const filtered = [];
|
||||
|
|
@ -470,7 +470,7 @@ function handleEvents(calendarEl, id, datepicker) {
|
|||
//Focus next element with a tabindex
|
||||
const currIndex = datepicker.input.getAttribute("tabindex");
|
||||
const elements = document.querySelectorAll(
|
||||
`input[tabindex="${currIndex}"]`
|
||||
`input[tabindex="${currIndex}"]`,
|
||||
);
|
||||
// Remove disabled elements
|
||||
const filtered = [];
|
||||
|
|
@ -515,7 +515,7 @@ function toggleSelect(calendar, id, e) {
|
|||
optCtnr.classList.toggle("hidden");
|
||||
optCtnr.setAttribute(
|
||||
"aria-hidden",
|
||||
optCtnr.classList.contains("hidden") ? "true" : "false"
|
||||
optCtnr.classList.contains("hidden") ? "true" : "false",
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -567,7 +567,7 @@ function updateMonth(calendar, id, e, datepicker) {
|
|||
selectCustom.focus();
|
||||
// Click on default select to update
|
||||
const selectDefault = calendar.querySelector(
|
||||
"select.flatpickr-monthDropdown-months"
|
||||
"select.flatpickr-monthDropdown-months",
|
||||
);
|
||||
selectDefault.querySelectorAll("option").forEach((option) => {
|
||||
if (option.value === e.target.getAttribute("data-month")) {
|
||||
|
|
@ -623,14 +623,14 @@ function setIndex(calendarEl, tabindex) {
|
|||
const prevMonth = calendarEl.querySelector(".flatpickr-prev-month");
|
||||
const year = calendarEl.querySelector(".cur-year");
|
||||
const monthSelect = calendarEl.querySelector(
|
||||
".flatpickr-monthDropdown-months"
|
||||
".flatpickr-monthDropdown-months",
|
||||
);
|
||||
prevMonth.setAttribute("tabindex", tabindex);
|
||||
nextMonth.setAttribute("tabindex", tabindex);
|
||||
year.setAttribute("tabindex", tabindex);
|
||||
monthSelect.setAttribute("tabindex", tabindex);
|
||||
const months = calendarEl.querySelectorAll(
|
||||
".flatpickr-monthDropdown-month"
|
||||
".flatpickr-monthDropdown-month",
|
||||
);
|
||||
months.forEach((month) => {
|
||||
month.setAttribute("tabindex", tabindex);
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ class Editor {
|
|||
try {
|
||||
// Get all elements with the same tabindex
|
||||
const elements = document.querySelectorAll(
|
||||
`[tabindex="${contentIndex}"]`
|
||||
`[tabindex="${contentIndex}"]`,
|
||||
);
|
||||
// Get index of the current element
|
||||
const index = Array.from(elements).indexOf(document.activeElement);
|
||||
|
|
@ -185,14 +185,14 @@ class Editor {
|
|||
if (elements[index - 1]) return elements[index - 1].focus();
|
||||
// Else try to find tabIndex + 1 element
|
||||
const prevElements = document.querySelectorAll(
|
||||
`[tabindex="${+contentIndex - 1}"]`
|
||||
`[tabindex="${+contentIndex - 1}"]`,
|
||||
);
|
||||
// Else find the highest tabindex element in a limit of +20
|
||||
let maxTabIndex = -10;
|
||||
let currTabIndex = +contentIndex - 1;
|
||||
while (currTabIndex > maxTabIndex) {
|
||||
const minElements = document.querySelectorAll(
|
||||
`[tabindex="${currTabIndex}"]`
|
||||
`[tabindex="${currTabIndex}"]`,
|
||||
);
|
||||
if (minElements[0]) return minElements[0].focus();
|
||||
currTabIndex++;
|
||||
|
|
@ -211,7 +211,7 @@ class Editor {
|
|||
try {
|
||||
// Get all elements with the same tabindex
|
||||
const elements = document.querySelectorAll(
|
||||
`[tabindex="${contentIndex}"]`
|
||||
`[tabindex="${contentIndex}"]`,
|
||||
);
|
||||
// Get index of the current element
|
||||
const index = Array.from(elements).indexOf(document.activeElement);
|
||||
|
|
@ -222,7 +222,7 @@ class Editor {
|
|||
let currTabIndex = +contentIndex + 1;
|
||||
while (currTabIndex < maxTabIndex) {
|
||||
const maxElements = document.querySelectorAll(
|
||||
`[tabindex="${currTabIndex}"]`
|
||||
`[tabindex="${currTabIndex}"]`,
|
||||
);
|
||||
if (maxElements[0]) return maxElements[0].focus();
|
||||
currTabIndex++;
|
||||
|
|
@ -286,7 +286,7 @@ function removeErrCSS() {
|
|||
setTimeout(() => {
|
||||
try {
|
||||
const styleEditors = document.querySelectorAll(
|
||||
'[style*="font-optical-sizing"]'
|
||||
'[style*="font-optical-sizing"]',
|
||||
);
|
||||
|
||||
styleEditors.forEach((editor) => {
|
||||
|
|
|
|||
|
|
@ -224,7 +224,7 @@ onMounted(() => {
|
|||
props.placeholder
|
||||
? $t(
|
||||
props.placeholder,
|
||||
$t('dashboard_placeholder', props.placeholder)
|
||||
$t('dashboard_placeholder', props.placeholder),
|
||||
)
|
||||
: ''
|
||||
"
|
||||
|
|
|
|||
|
|
@ -222,8 +222,8 @@ function openSelect() {
|
|||
const canBeDown = props.onlyDown
|
||||
? true
|
||||
: fieldContainerRect.bottom + selectDropRect.height < parentRect.bottom
|
||||
? true
|
||||
: false;
|
||||
? true
|
||||
: false;
|
||||
|
||||
if (!canBeDown) {
|
||||
selectDropdown.value.style.top = `-${
|
||||
|
|
@ -429,7 +429,7 @@ const emits = defineEmits(["inp"]);
|
|||
props.placeholder
|
||||
? $t(
|
||||
props.placeholder,
|
||||
$t('dashboard_placeholder', props.placeholder)
|
||||
$t('dashboard_placeholder', props.placeholder),
|
||||
)
|
||||
: ''
|
||||
"
|
||||
|
|
|
|||
|
|
@ -171,10 +171,10 @@ const select = reactive({
|
|||
isValid: !props.required
|
||||
? true
|
||||
: props.requiredValues.length <= 0
|
||||
? true
|
||||
: props.requiredValues.includes(props.value)
|
||||
? true
|
||||
: false,
|
||||
? true
|
||||
: props.requiredValues.includes(props.value)
|
||||
? true
|
||||
: false,
|
||||
});
|
||||
|
||||
const selectBtn = ref();
|
||||
|
|
@ -212,8 +212,8 @@ function toggleSelect() {
|
|||
const canBeDown = props.onlyDown
|
||||
? true
|
||||
: fieldContainerRect.bottom + selectDropRect.height < parentRect.bottom
|
||||
? true
|
||||
: false;
|
||||
? true
|
||||
: false;
|
||||
|
||||
if (!canBeDown) {
|
||||
selectDropdown.value.style.top = `-${
|
||||
|
|
@ -252,10 +252,10 @@ function changeValue(newValue) {
|
|||
select.isValid = !props.required
|
||||
? true
|
||||
: props.requiredValues.length <= 0
|
||||
? true
|
||||
: props.requiredValues.includes(newValue)
|
||||
? true
|
||||
: false;
|
||||
? true
|
||||
: props.requiredValues.includes(newValue)
|
||||
? true
|
||||
: false;
|
||||
closeSelect();
|
||||
return newValue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import Text from "@components/Widget/Text.vue";
|
|||
import Filter from "@components/Widget/Filter.vue";
|
||||
import Grid from "@components/Widget/Grid.vue";
|
||||
import MessageUnmatch from "@components/Message/Unmatch.vue";
|
||||
/**
|
||||
/**
|
||||
* @name List/Details.vue
|
||||
* @description This component is a list of items separate on two columns : one for the title, and other for a list of popovers related to the plugin (type, link...)
|
||||
* @example
|
||||
|
|
@ -110,8 +110,8 @@ function indexPending(id) {
|
|||
data.upIndex === id
|
||||
? 'up'
|
||||
: data.pendingIndex.includes(id)
|
||||
? 'pending'
|
||||
: '',
|
||||
? 'pending'
|
||||
: '',
|
||||
]"
|
||||
v-bind="item.attrs || {}"
|
||||
@focusin="indexUp(id)"
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ onMounted(() => {
|
|||
btnEl.value.setAttribute("aria-controls", btn.modalId);
|
||||
btnEl.value.setAttribute(
|
||||
"aria-expanded",
|
||||
props.openModal ? "true" : "false"
|
||||
props.openModal ? "true" : "false",
|
||||
);
|
||||
}
|
||||
});
|
||||
|
|
@ -153,7 +153,7 @@ watch(
|
|||
if (typeof props.modal === "object") {
|
||||
btnEl.value.setAttribute("aria-expanded", value ? "true" : "false");
|
||||
}
|
||||
}
|
||||
},
|
||||
);
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ watch(
|
|||
() => {
|
||||
filterData();
|
||||
},
|
||||
{ deep: true }
|
||||
{ deep: true },
|
||||
);
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -98,8 +98,8 @@ onMounted(() => {
|
|||
props.uppercase
|
||||
? 'uppercase'
|
||||
: props.lowercase
|
||||
? 'lowercase'
|
||||
: 'capitalize-first',
|
||||
? 'lowercase'
|
||||
: 'capitalize-first',
|
||||
props.subtitleClass,
|
||||
]"
|
||||
>
|
||||
|
|
|
|||
|
|
@ -172,7 +172,7 @@ watch(
|
|||
() => {
|
||||
getOverflow();
|
||||
setUnmatchWidth();
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
onMounted(() => {
|
||||
|
|
|
|||
|
|
@ -104,8 +104,8 @@ onMounted(() => {
|
|||
props.uppercase
|
||||
? 'uppercase'
|
||||
: props.lowercase
|
||||
? 'lowercase'
|
||||
: 'capitalize-first',
|
||||
? 'lowercase'
|
||||
: 'capitalize-first',
|
||||
]"
|
||||
>
|
||||
{{ $t(props.title, $t("dashboard_placeholder", props.title)) }}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"dashboard_placeholder" : "{placeholder}",
|
||||
"dashboard_placeholder": "{placeholder}",
|
||||
"dashboard_logo_alt": "BunkerWeb logo image",
|
||||
"dashboard_logo_link_label": "Redirect to home page",
|
||||
"dashboard_bw": "BunkerWeb",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
|
|
|
|||
|
|
@ -9,7 +9,11 @@
|
|||
<title>BunkerWeb | BUILDER</title>
|
||||
</head>
|
||||
<body>
|
||||
<div data-default-value="Title default !" data-flask="{{ flask_data }}" class="hidden"></div>
|
||||
<div
|
||||
data-default-value="Title default !"
|
||||
data-flask="{{ flask_data }}"
|
||||
class="hidden"
|
||||
></div>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="builder.js"></script>
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import DashboardLayout from "@components/Dashboard/Layout.vue";
|
|||
import BuilderHome from "@components/Builder/Home.vue";
|
||||
import { useGlobal } from "@utils/global";
|
||||
|
||||
/**
|
||||
/**
|
||||
* @name Page/Home.vue
|
||||
* @description This component is the home page.
|
||||
This page displays an overview of multiple stats related to BunkerWeb.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ function downloadCacheEvent() {
|
|||
a.click();
|
||||
document.body.removeChild(a);
|
||||
},
|
||||
true
|
||||
true,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ function redirectPlugin() {
|
|||
|
||||
window.location.href = `./${pluginId}`;
|
||||
},
|
||||
true
|
||||
true,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -81,7 +81,7 @@ function deletePlugin() {
|
|||
modalPluginName.textContent = deleteData.name;
|
||||
modal.classList.remove("hidden");
|
||||
},
|
||||
true
|
||||
true,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
|
|
|
|||
|
|
@ -9,7 +9,11 @@
|
|||
<title>BunkerWeb | TEST</title>
|
||||
</head>
|
||||
<body>
|
||||
<div data-default-value="Title default !" data-flask="{{ flask_data }}" class="hidden"></div>
|
||||
<div
|
||||
data-default-value="Title default !"
|
||||
data-flask="{{ flask_data }}"
|
||||
class="hidden"
|
||||
></div>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="test.js"></script>
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -103,12 +103,12 @@ export const createFormStore = (storeName, formType) => {
|
|||
|
||||
// Get the index of plugin using pluginId
|
||||
const index = templateBase.value.findIndex(
|
||||
(plugin) => plugin.id === pluginId
|
||||
(plugin) => plugin.id === pluginId,
|
||||
);
|
||||
|
||||
// For back end, we need to keep the group but updating values to default in order to delete it
|
||||
for (const [settName, setting] of Object.entries(
|
||||
templateBase.value[index].multiples[multName][groupName]
|
||||
templateBase.value[index].multiples[multName][groupName],
|
||||
)) {
|
||||
setting.value = setting.default;
|
||||
}
|
||||
|
|
@ -132,18 +132,18 @@ export const createFormStore = (storeName, formType) => {
|
|||
|
||||
// Get the index of plugin using pluginId
|
||||
const index = templateBase.value.findIndex(
|
||||
(plugin) => plugin.id === pluginId
|
||||
(plugin) => plugin.id === pluginId,
|
||||
);
|
||||
// Get the right multiple schema
|
||||
const multipleSchema = JSON.parse(
|
||||
JSON.stringify(templateBase.value[index]?.multiples_schema[multName])
|
||||
JSON.stringify(templateBase.value[index]?.multiples_schema[multName]),
|
||||
);
|
||||
const newMultiple = {};
|
||||
|
||||
// Get the highest id in Object.keys(plugin?.multiples[multName])
|
||||
const nextGroupId =
|
||||
Math.max(
|
||||
...Object.keys(templateBase.value[index]?.multiples[multName])
|
||||
...Object.keys(templateBase.value[index]?.multiples[multName]),
|
||||
) + 1;
|
||||
|
||||
// Set the default values as value
|
||||
|
|
@ -199,7 +199,7 @@ export const createFormStore = (storeName, formType) => {
|
|||
* @name _useUpdateTemp
|
||||
* @description This function will check if the target is a setting input-like field.
|
||||
* In case it is, it will get the id and value for each field case, this will allow to update the template settings.
|
||||
* @example
|
||||
* @example
|
||||
template = [
|
||||
{
|
||||
name: "test",
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ function getLocalLang() {
|
|||
navigator.languages &&
|
||||
navigator.languages > 0 &&
|
||||
availablesLangs.indexOf(
|
||||
navigator.languages[0].split("-")[0].toLowerCase()
|
||||
navigator.languages[0].split("-")[0].toLowerCase(),
|
||||
) !== -1
|
||||
) {
|
||||
return navigator.languages[0].split("-")[0].toLowerCase();
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
import { reactive, onBeforeMount, onMounted } from "vue";
|
||||
import BuilderSetup from "@components/Builder/Setup.vue";
|
||||
|
||||
/**
|
||||
/**
|
||||
* @name Page/Setup.vue
|
||||
* @description This component is the setup page.
|
||||
This page displays all steps to setup BunkerWeb.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
|
@ -1,107 +1,107 @@
|
|||
[
|
||||
{
|
||||
"type": "card",
|
||||
"link": "https://panel.bunkerweb.io/?utm_campaign=self&utm_source=ui#pro",
|
||||
"containerColumns": {
|
||||
"pc": 4,
|
||||
"tablet": 6,
|
||||
"mobile": 12
|
||||
},
|
||||
"widgets": [
|
||||
{
|
||||
"type": "Stat",
|
||||
"data": {
|
||||
"title": "home_version",
|
||||
"subtitle": "home_upgrade_to_pro",
|
||||
"subtitleColor": "warning",
|
||||
"stat": "home_free",
|
||||
"iconName": "key"
|
||||
}
|
||||
}
|
||||
]
|
||||
{
|
||||
"type": "card",
|
||||
"link": "https://panel.bunkerweb.io/?utm_campaign=self&utm_source=ui#pro",
|
||||
"containerColumns": {
|
||||
"pc": 4,
|
||||
"tablet": 6,
|
||||
"mobile": 12
|
||||
},
|
||||
{
|
||||
"type": "card",
|
||||
"link": "https://github.com/bunkerity/bunkerweb",
|
||||
"containerColumns": {
|
||||
"pc": 4,
|
||||
"tablet": 6,
|
||||
"mobile": 12
|
||||
},
|
||||
"widgets": [
|
||||
{
|
||||
"type": "Stat",
|
||||
"data": {
|
||||
"title": "home_version_number",
|
||||
"subtitle": "home_update_available",
|
||||
"subtitleColor": "warning",
|
||||
"stat": "1.5.8",
|
||||
"iconName": "wire"
|
||||
}
|
||||
}
|
||||
]
|
||||
"widgets": [
|
||||
{
|
||||
"type": "Stat",
|
||||
"data": {
|
||||
"title": "home_version",
|
||||
"subtitle": "home_upgrade_to_pro",
|
||||
"subtitleColor": "warning",
|
||||
"stat": "home_free",
|
||||
"iconName": "key"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "card",
|
||||
"link": "https://github.com/bunkerity/bunkerweb",
|
||||
"containerColumns": {
|
||||
"pc": 4,
|
||||
"tablet": 6,
|
||||
"mobile": 12
|
||||
},
|
||||
{
|
||||
"type": "card",
|
||||
"link": "/instances",
|
||||
"containerColumns": {
|
||||
"pc": 4,
|
||||
"tablet": 6,
|
||||
"mobile": 12
|
||||
},
|
||||
"widgets": [
|
||||
{
|
||||
"type": "Stat",
|
||||
"data": {
|
||||
"title": "home_instances",
|
||||
"subtitle": "home_total_number",
|
||||
"subtitleColor": "info",
|
||||
"stat": 1,
|
||||
"iconName": "box"
|
||||
}
|
||||
}
|
||||
]
|
||||
"widgets": [
|
||||
{
|
||||
"type": "Stat",
|
||||
"data": {
|
||||
"title": "home_version_number",
|
||||
"subtitle": "home_update_available",
|
||||
"subtitleColor": "warning",
|
||||
"stat": "1.5.8",
|
||||
"iconName": "wire"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "card",
|
||||
"link": "/instances",
|
||||
"containerColumns": {
|
||||
"pc": 4,
|
||||
"tablet": 6,
|
||||
"mobile": 12
|
||||
},
|
||||
{
|
||||
"type": "card",
|
||||
"link": "/services",
|
||||
"containerColumns": {
|
||||
"pc": 4,
|
||||
"tablet": 6,
|
||||
"mobile": 12
|
||||
},
|
||||
"widgets": [
|
||||
{
|
||||
"type": "Stat",
|
||||
"data": {
|
||||
"title": "home_services",
|
||||
"subtitle": "home_all_methods_included",
|
||||
"subtitleColor": "info",
|
||||
"stat": 2,
|
||||
"iconName": "disk"
|
||||
}
|
||||
}
|
||||
]
|
||||
"widgets": [
|
||||
{
|
||||
"type": "Stat",
|
||||
"data": {
|
||||
"title": "home_instances",
|
||||
"subtitle": "home_total_number",
|
||||
"subtitleColor": "info",
|
||||
"stat": 1,
|
||||
"iconName": "box"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "card",
|
||||
"link": "/services",
|
||||
"containerColumns": {
|
||||
"pc": 4,
|
||||
"tablet": 6,
|
||||
"mobile": 12
|
||||
},
|
||||
{
|
||||
"type": "card",
|
||||
"link": "/plugins",
|
||||
"containerColumns": {
|
||||
"pc": 4,
|
||||
"tablet": 6,
|
||||
"mobile": 12
|
||||
},
|
||||
"widgets": [
|
||||
{
|
||||
"type": "Stat",
|
||||
"data": {
|
||||
"title": "home_plugins",
|
||||
"subtitle": "home_no_error",
|
||||
"subtitleColor": "success",
|
||||
"stat": "42",
|
||||
"iconName": "puzzle"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
"widgets": [
|
||||
{
|
||||
"type": "Stat",
|
||||
"data": {
|
||||
"title": "home_services",
|
||||
"subtitle": "home_all_methods_included",
|
||||
"subtitleColor": "info",
|
||||
"stat": 2,
|
||||
"iconName": "disk"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "card",
|
||||
"link": "/plugins",
|
||||
"containerColumns": {
|
||||
"pc": 4,
|
||||
"tablet": 6,
|
||||
"mobile": 12
|
||||
},
|
||||
"widgets": [
|
||||
{
|
||||
"type": "Stat",
|
||||
"data": {
|
||||
"title": "home_plugins",
|
||||
"subtitle": "home_no_error",
|
||||
"subtitleColor": "success",
|
||||
"stat": "42",
|
||||
"iconName": "puzzle"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
W3sidHlwZSI6ICJjYXJkIiwgImxpbmsiOiAiaHR0cHM6Ly9wYW5lbC5idW5rZXJ3ZWIuaW8vP3V0bV9jYW1wYWlnbj1zZWxmJnV0bV9zb3VyY2U9dWkjcHJvIiwgImNvbnRhaW5lckNvbHVtbnMiOiB7InBjIjogNCwgInRhYmxldCI6IDYsICJtb2JpbGUiOiAxMn0sICJ3aWRnZXRzIjogW3sidHlwZSI6ICJTdGF0IiwgImRhdGEiOiB7InRpdGxlIjogImhvbWVfdmVyc2lvbiIsICJzdWJ0aXRsZSI6ICJob21lX3VwZ3JhZGVfdG9fcHJvIiwgInN1YnRpdGxlQ29sb3IiOiAid2FybmluZyIsICJzdGF0IjogImhvbWVfZnJlZSIsICJpY29uTmFtZSI6ICJrZXkifX1dfSwgeyJ0eXBlIjogImNhcmQiLCAibGluayI6ICJodHRwczovL2dpdGh1Yi5jb20vYnVua2VyaXR5L2J1bmtlcndlYiIsICJjb250YWluZXJDb2x1bW5zIjogeyJwYyI6IDQsICJ0YWJsZXQiOiA2LCAibW9iaWxlIjogMTJ9LCAid2lkZ2V0cyI6IFt7InR5cGUiOiAiU3RhdCIsICJkYXRhIjogeyJ0aXRsZSI6ICJob21lX3ZlcnNpb25fbnVtYmVyIiwgInN1YnRpdGxlIjogImhvbWVfdXBkYXRlX2F2YWlsYWJsZSIsICJzdWJ0aXRsZUNvbG9yIjogIndhcm5pbmciLCAic3RhdCI6ICIxLjUuOCIsICJpY29uTmFtZSI6ICJ3aXJlIn19XX0sIHsidHlwZSI6ICJjYXJkIiwgImxpbmsiOiAiL2luc3RhbmNlcyIsICJjb250YWluZXJDb2x1bW5zIjogeyJwYyI6IDQsICJ0YWJsZXQiOiA2LCAibW9iaWxlIjogMTJ9LCAid2lkZ2V0cyI6IFt7InR5cGUiOiAiU3RhdCIsICJkYXRhIjogeyJ0aXRsZSI6ICJob21lX2luc3RhbmNlcyIsICJzdWJ0aXRsZSI6ICJob21lX3RvdGFsX251bWJlciIsICJzdWJ0aXRsZUNvbG9yIjogImluZm8iLCAic3RhdCI6IDEsICJpY29uTmFtZSI6ICJib3gifX1dfSwgeyJ0eXBlIjogImNhcmQiLCAibGluayI6ICIvc2VydmljZXMiLCAiY29udGFpbmVyQ29sdW1ucyI6IHsicGMiOiA0LCAidGFibGV0IjogNiwgIm1vYmlsZSI6IDEyfSwgIndpZGdldHMiOiBbeyJ0eXBlIjogIlN0YXQiLCAiZGF0YSI6IHsidGl0bGUiOiAiaG9tZV9zZXJ2aWNlcyIsICJzdWJ0aXRsZSI6ICJob21lX2FsbF9tZXRob2RzX2luY2x1ZGVkIiwgInN1YnRpdGxlQ29sb3IiOiAiaW5mbyIsICJzdGF0IjogMiwgImljb25OYW1lIjogImRpc2sifX1dfSwgeyJ0eXBlIjogImNhcmQiLCAibGluayI6ICIvcGx1Z2lucyIsICJjb250YWluZXJDb2x1bW5zIjogeyJwYyI6IDQsICJ0YWJsZXQiOiA2LCAibW9iaWxlIjogMTJ9LCAid2lkZ2V0cyI6IFt7InR5cGUiOiAiU3RhdCIsICJkYXRhIjogeyJ0aXRsZSI6ICJob21lX3BsdWdpbnMiLCAic3VidGl0bGUiOiAiaG9tZV9ub19lcnJvciIsICJzdWJ0aXRsZUNvbG9yIjogInN1Y2Nlc3MiLCAic3RhdCI6ICI0MiIsICJpY29uTmFtZSI6ICJwdXp6bGUifX1dfV0=
|
||||
W3sidHlwZSI6ICJjYXJkIiwgImxpbmsiOiAiaHR0cHM6Ly9wYW5lbC5idW5rZXJ3ZWIuaW8vP3V0bV9jYW1wYWlnbj1zZWxmJnV0bV9zb3VyY2U9dWkjcHJvIiwgImNvbnRhaW5lckNvbHVtbnMiOiB7InBjIjogNCwgInRhYmxldCI6IDYsICJtb2JpbGUiOiAxMn0sICJ3aWRnZXRzIjogW3sidHlwZSI6ICJTdGF0IiwgImRhdGEiOiB7InRpdGxlIjogImhvbWVfdmVyc2lvbiIsICJzdWJ0aXRsZSI6ICJob21lX3VwZ3JhZGVfdG9fcHJvIiwgInN1YnRpdGxlQ29sb3IiOiAid2FybmluZyIsICJzdGF0IjogImhvbWVfZnJlZSIsICJpY29uTmFtZSI6ICJrZXkifX1dfSwgeyJ0eXBlIjogImNhcmQiLCAibGluayI6ICJodHRwczovL2dpdGh1Yi5jb20vYnVua2VyaXR5L2J1bmtlcndlYiIsICJjb250YWluZXJDb2x1bW5zIjogeyJwYyI6IDQsICJ0YWJsZXQiOiA2LCAibW9iaWxlIjogMTJ9LCAid2lkZ2V0cyI6IFt7InR5cGUiOiAiU3RhdCIsICJkYXRhIjogeyJ0aXRsZSI6ICJob21lX3ZlcnNpb25fbnVtYmVyIiwgInN1YnRpdGxlIjogImhvbWVfdXBkYXRlX2F2YWlsYWJsZSIsICJzdWJ0aXRsZUNvbG9yIjogIndhcm5pbmciLCAic3RhdCI6ICIxLjUuOCIsICJpY29uTmFtZSI6ICJ3aXJlIn19XX0sIHsidHlwZSI6ICJjYXJkIiwgImxpbmsiOiAiL2luc3RhbmNlcyIsICJjb250YWluZXJDb2x1bW5zIjogeyJwYyI6IDQsICJ0YWJsZXQiOiA2LCAibW9iaWxlIjogMTJ9LCAid2lkZ2V0cyI6IFt7InR5cGUiOiAiU3RhdCIsICJkYXRhIjogeyJ0aXRsZSI6ICJob21lX2luc3RhbmNlcyIsICJzdWJ0aXRsZSI6ICJob21lX3RvdGFsX251bWJlciIsICJzdWJ0aXRsZUNvbG9yIjogImluZm8iLCAic3RhdCI6IDEsICJpY29uTmFtZSI6ICJib3gifX1dfSwgeyJ0eXBlIjogImNhcmQiLCAibGluayI6ICIvc2VydmljZXMiLCAiY29udGFpbmVyQ29sdW1ucyI6IHsicGMiOiA0LCAidGFibGV0IjogNiwgIm1vYmlsZSI6IDEyfSwgIndpZGdldHMiOiBbeyJ0eXBlIjogIlN0YXQiLCAiZGF0YSI6IHsidGl0bGUiOiAiaG9tZV9zZXJ2aWNlcyIsICJzdWJ0aXRsZSI6ICJob21lX2FsbF9tZXRob2RzX2luY2x1ZGVkIiwgInN1YnRpdGxlQ29sb3IiOiAiaW5mbyIsICJzdGF0IjogMiwgImljb25OYW1lIjogImRpc2sifX1dfSwgeyJ0eXBlIjogImNhcmQiLCAibGluayI6ICIvcGx1Z2lucyIsICJjb250YWluZXJDb2x1bW5zIjogeyJwYyI6IDQsICJ0YWJsZXQiOiA2LCAibW9iaWxlIjogMTJ9LCAid2lkZ2V0cyI6IFt7InR5cGUiOiAiU3RhdCIsICJkYXRhIjogeyJ0aXRsZSI6ICJob21lX3BsdWdpbnMiLCAic3VidGl0bGUiOiAiaG9tZV9ub19lcnJvciIsICJzdWJ0aXRsZUNvbG9yIjogInN1Y2Nlc3MiLCAic3RhdCI6ICI0MiIsICJpY29uTmFtZSI6ICJwdXp6bGUifX1dfV0=
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
"W3sidHlwZSI6ICJjYXJkIiwgImNvbnRhaW5lckNvbHVtbnMiOiB7InBjIjogNiwgInRhYmxldCI6IDYsICJtb2JpbGUiOiAxMn0sICJ3aWRnZXRzIjogW3sidHlwZSI6ICJJbnN0YW5jZSIsICJkYXRhIjogeyJwYWlycyI6IFt7ImtleSI6ICJpbnN0YW5jZXNfaG9zdG5hbWUiLCAidmFsdWUiOiAiYnVua2Vyd2ViIn0sIHsia2V5IjogImluc3RhbmNlc190eXBlIiwgInZhbHVlIjogIm1hbnVhbCJ9LCB7ImtleSI6ICJpbnN0YW5jZXNfc3RhdHVzIiwgInZhbHVlIjogImluc3RhbmNlc19hY3RpdmUifV0sICJzdGF0dXMiOiAic3VjY2VzcyIsICJ0aXRsZSI6ICJidW5rZXJ3ZWIiLCAiYnV0dG9ucyI6IFt7ImF0dHJzIjogeyJkYXRhLXN1Ym1pdC1mb3JtIjogIntcIklOU1RBTkNFX0lEXCIgOiBcImJ1bmtlcndlYlwiLCBcIm9wZXJhdGlvblwiIDogXCJyZWxvYWRcIiB9In0sICJ0ZXh0IjogImFjdGlvbl9yZWxvYWQiLCAiY29sb3IiOiAid2FybmluZyJ9LCB7ImF0dHJzIjogeyJkYXRhLXN1Ym1pdC1mb3JtIjogIntcIklOU1RBTkNFX0lEXCIgOiBcImJ1bmtlcndlYlwiLCBcIm9wZXJhdGlvblwiIDogXCJzdG9wXCIgfSJ9LCAidGV4dCI6ICJhY3Rpb25fc3RvcCIsICJjb2xvciI6ICJlcnJvciJ9XX19XX0sIHsidHlwZSI6ICJjYXJkIiwgImNvbnRhaW5lckNvbHVtbnMiOiB7InBjIjogNiwgInRhYmxldCI6IDYsICJtb2JpbGUiOiAxMn0sICJ3aWRnZXRzIjogW3sidHlwZSI6ICJJbnN0YW5jZSIsICJkYXRhIjogeyJwYWlycyI6IFt7ImtleSI6ICJpbnN0YW5jZXNfaG9zdG5hbWUiLCAidmFsdWUiOiAiYnVua2Vyd2ViIn0sIHsia2V5IjogImluc3RhbmNlc190eXBlIiwgInZhbHVlIjogIm1hbnVhbCJ9LCB7ImtleSI6ICJpbnN0YW5jZXNfc3RhdHVzIiwgInZhbHVlIjogImluc3RhbmNlc19hY3RpdmUifV0sICJzdGF0dXMiOiAic3VjY2VzcyIsICJ0aXRsZSI6ICJidW5rZXJ3ZWIiLCAiYnV0dG9ucyI6IFt7ImF0dHJzIjogeyJkYXRhLXN1Ym1pdC1mb3JtIjogIntcIklOU1RBTkNFX0lEXCIgOiBcImJ1bmtlcndlYlwiLCBcIm9wZXJhdGlvblwiIDogXCJyZWxvYWRcIiB9In0sICJ0ZXh0IjogImFjdGlvbl9yZWxvYWQiLCAiY29sb3IiOiAid2FybmluZyJ9LCB7ImF0dHJzIjogeyJkYXRhLXN1Ym1pdC1mb3JtIjogIntcIklOU1RBTkNFX0lEXCIgOiBcImJ1bmtlcndlYlwiLCBcIm9wZXJhdGlvblwiIDogXCJzdG9wXCIgfSJ9LCAidGV4dCI6ICJhY3Rpb25fc3RvcCIsICJjb2xvciI6ICJlcnJvciJ9XX19XX1d"
|
||||
"W3sidHlwZSI6ICJjYXJkIiwgImNvbnRhaW5lckNvbHVtbnMiOiB7InBjIjogNiwgInRhYmxldCI6IDYsICJtb2JpbGUiOiAxMn0sICJ3aWRnZXRzIjogW3sidHlwZSI6ICJJbnN0YW5jZSIsICJkYXRhIjogeyJwYWlycyI6IFt7ImtleSI6ICJpbnN0YW5jZXNfaG9zdG5hbWUiLCAidmFsdWUiOiAiYnVua2Vyd2ViIn0sIHsia2V5IjogImluc3RhbmNlc190eXBlIiwgInZhbHVlIjogIm1hbnVhbCJ9LCB7ImtleSI6ICJpbnN0YW5jZXNfc3RhdHVzIiwgInZhbHVlIjogImluc3RhbmNlc19hY3RpdmUifV0sICJzdGF0dXMiOiAic3VjY2VzcyIsICJ0aXRsZSI6ICJidW5rZXJ3ZWIiLCAiYnV0dG9ucyI6IFt7ImF0dHJzIjogeyJkYXRhLXN1Ym1pdC1mb3JtIjogIntcIklOU1RBTkNFX0lEXCIgOiBcImJ1bmtlcndlYlwiLCBcIm9wZXJhdGlvblwiIDogXCJyZWxvYWRcIiB9In0sICJ0ZXh0IjogImFjdGlvbl9yZWxvYWQiLCAiY29sb3IiOiAid2FybmluZyJ9LCB7ImF0dHJzIjogeyJkYXRhLXN1Ym1pdC1mb3JtIjogIntcIklOU1RBTkNFX0lEXCIgOiBcImJ1bmtlcndlYlwiLCBcIm9wZXJhdGlvblwiIDogXCJzdG9wXCIgfSJ9LCAidGV4dCI6ICJhY3Rpb25fc3RvcCIsICJjb2xvciI6ICJlcnJvciJ9XX19XX0sIHsidHlwZSI6ICJjYXJkIiwgImNvbnRhaW5lckNvbHVtbnMiOiB7InBjIjogNiwgInRhYmxldCI6IDYsICJtb2JpbGUiOiAxMn0sICJ3aWRnZXRzIjogW3sidHlwZSI6ICJJbnN0YW5jZSIsICJkYXRhIjogeyJwYWlycyI6IFt7ImtleSI6ICJpbnN0YW5jZXNfaG9zdG5hbWUiLCAidmFsdWUiOiAiYnVua2Vyd2ViIn0sIHsia2V5IjogImluc3RhbmNlc190eXBlIiwgInZhbHVlIjogIm1hbnVhbCJ9LCB7ImtleSI6ICJpbnN0YW5jZXNfc3RhdHVzIiwgInZhbHVlIjogImluc3RhbmNlc19hY3RpdmUifV0sICJzdGF0dXMiOiAic3VjY2VzcyIsICJ0aXRsZSI6ICJidW5rZXJ3ZWIiLCAiYnV0dG9ucyI6IFt7ImF0dHJzIjogeyJkYXRhLXN1Ym1pdC1mb3JtIjogIntcIklOU1RBTkNFX0lEXCIgOiBcImJ1bmtlcndlYlwiLCBcIm9wZXJhdGlvblwiIDogXCJyZWxvYWRcIiB9In0sICJ0ZXh0IjogImFjdGlvbl9yZWxvYWQiLCAiY29sb3IiOiAid2FybmluZyJ9LCB7ImF0dHJzIjogeyJkYXRhLXN1Ym1pdC1mb3JtIjogIntcIklOU1RBTkNFX0lEXCIgOiBcImJ1bmtlcndlYlwiLCBcIm9wZXJhdGlvblwiIDogXCJzdG9wXCIgfSJ9LCAidGV4dCI6ICJhY3Rpb25fc3RvcCIsICJjb2xvciI6ICJlcnJvciJ9XX19XX1d"
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Ilczc2lkSGx3WlNJNklDSmpZWEprSWl3Z0ltTnZiblJoYVc1bGNrTnZiSFZ0Ym5NaU9pQjdJbkJqSWpvZ05pd2dJblJoWW14bGRDSTZJRFlzSUNKdGIySnBiR1VpT2lBeE1uMHNJQ0ozYVdSblpYUnpJam9nVzNzaWRIbHdaU0k2SUNKSmJuTjBZVzVqWlNJc0lDSmtZWFJoSWpvZ2V5SndZV2x5Y3lJNklGdDdJbXRsZVNJNklDSnBibk4wWVc1alpYTmZhRzl6ZEc1aGJXVWlMQ0FpZG1Gc2RXVWlPaUFpWW5WdWEyVnlkMlZpSW4wc0lIc2lhMlY1SWpvZ0ltbHVjM1JoYm1ObGMxOTBlWEJsSWl3Z0luWmhiSFZsSWpvZ0ltMWhiblZoYkNKOUxDQjdJbXRsZVNJNklDSnBibk4wWVc1alpYTmZjM1JoZEhWeklpd2dJblpoYkhWbElqb2dJbWx1YzNSaGJtTmxjMTloWTNScGRtVWlmVjBzSUNKemRHRjBkWE1pT2lBaWMzVmpZMlZ6Y3lJc0lDSjBhWFJzWlNJNklDSmlkVzVyWlhKM1pXSWlMQ0FpWW5WMGRHOXVjeUk2SUZ0N0ltRjBkSEp6SWpvZ2V5SmtZWFJoTFhOMVltMXBkQzFtYjNKdElqb2dJbnRjSWtsT1UxUkJUa05GWDBsRVhDSWdPaUJjSW1KMWJtdGxjbmRsWWx3aUxDQmNJbTl3WlhKaGRHbHZibHdpSURvZ1hDSnlaV3h2WVdSY0lpQjlJbjBzSUNKMFpYaDBJam9nSW1GamRHbHZibDl5Wld4dllXUWlMQ0FpWTI5c2IzSWlPaUFpZDJGeWJtbHVaeUo5TENCN0ltRjBkSEp6SWpvZ2V5SmtZWFJoTFhOMVltMXBkQzFtYjNKdElqb2dJbnRjSWtsT1UxUkJUa05GWDBsRVhDSWdPaUJjSW1KMWJtdGxjbmRsWWx3aUxDQmNJbTl3WlhKaGRHbHZibHdpSURvZ1hDSnpkRzl3WENJZ2ZTSjlMQ0FpZEdWNGRDSTZJQ0poWTNScGIyNWZjM1J2Y0NJc0lDSmpiMnh2Y2lJNklDSmxjbkp2Y2lKOVhYMTlYWDBzSUhzaWRIbHdaU0k2SUNKallYSmtJaXdnSW1OdmJuUmhhVzVsY2tOdmJIVnRibk1pT2lCN0luQmpJam9nTml3Z0luUmhZbXhsZENJNklEWXNJQ0p0YjJKcGJHVWlPaUF4TW4wc0lDSjNhV1JuWlhSeklqb2dXM3NpZEhsd1pTSTZJQ0pKYm5OMFlXNWpaU0lzSUNKa1lYUmhJam9nZXlKd1lXbHljeUk2SUZ0N0ltdGxlU0k2SUNKcGJuTjBZVzVqWlhOZmFHOXpkRzVoYldVaUxDQWlkbUZzZFdVaU9pQWlZblZ1YTJWeWQyVmlJbjBzSUhzaWEyVjVJam9nSW1sdWMzUmhibU5sYzE5MGVYQmxJaXdnSW5aaGJIVmxJam9nSW0xaGJuVmhiQ0o5TENCN0ltdGxlU0k2SUNKcGJuTjBZVzVqWlhOZmMzUmhkSFZ6SWl3Z0luWmhiSFZsSWpvZ0ltbHVjM1JoYm1ObGMxOWhZM1JwZG1VaWZWMHNJQ0p6ZEdGMGRYTWlPaUFpYzNWalkyVnpjeUlzSUNKMGFYUnNaU0k2SUNKaWRXNXJaWEozWldJaUxDQWlZblYwZEc5dWN5STZJRnQ3SW1GMGRISnpJam9nZXlKa1lYUmhMWE4xWW0xcGRDMW1iM0p0SWpvZ0ludGNJa2xPVTFSQlRrTkZYMGxFWENJZ09pQmNJbUoxYm10bGNuZGxZbHdpTENCY0ltOXdaWEpoZEdsdmJsd2lJRG9nWENKeVpXeHZZV1JjSWlCOUluMHNJQ0owWlhoMElqb2dJbUZqZEdsdmJsOXlaV3h2WVdRaUxDQWlZMjlzYjNJaU9pQWlkMkZ5Ym1sdVp5SjlMQ0I3SW1GMGRISnpJam9nZXlKa1lYUmhMWE4xWW0xcGRDMW1iM0p0SWpvZ0ludGNJa2xPVTFSQlRrTkZYMGxFWENJZ09pQmNJbUoxYm10bGNuZGxZbHdpTENCY0ltOXdaWEpoZEdsdmJsd2lJRG9nWENKemRHOXdYQ0lnZlNKOUxDQWlkR1Y0ZENJNklDSmhZM1JwYjI1ZmMzUnZjQ0lzSUNKamIyeHZjaUk2SUNKbGNuSnZjaUo5WFgxOVhYMWQi
|
||||
Ilczc2lkSGx3WlNJNklDSmpZWEprSWl3Z0ltTnZiblJoYVc1bGNrTnZiSFZ0Ym5NaU9pQjdJbkJqSWpvZ05pd2dJblJoWW14bGRDSTZJRFlzSUNKdGIySnBiR1VpT2lBeE1uMHNJQ0ozYVdSblpYUnpJam9nVzNzaWRIbHdaU0k2SUNKSmJuTjBZVzVqWlNJc0lDSmtZWFJoSWpvZ2V5SndZV2x5Y3lJNklGdDdJbXRsZVNJNklDSnBibk4wWVc1alpYTmZhRzl6ZEc1aGJXVWlMQ0FpZG1Gc2RXVWlPaUFpWW5WdWEyVnlkMlZpSW4wc0lIc2lhMlY1SWpvZ0ltbHVjM1JoYm1ObGMxOTBlWEJsSWl3Z0luWmhiSFZsSWpvZ0ltMWhiblZoYkNKOUxDQjdJbXRsZVNJNklDSnBibk4wWVc1alpYTmZjM1JoZEhWeklpd2dJblpoYkhWbElqb2dJbWx1YzNSaGJtTmxjMTloWTNScGRtVWlmVjBzSUNKemRHRjBkWE1pT2lBaWMzVmpZMlZ6Y3lJc0lDSjBhWFJzWlNJNklDSmlkVzVyWlhKM1pXSWlMQ0FpWW5WMGRHOXVjeUk2SUZ0N0ltRjBkSEp6SWpvZ2V5SmtZWFJoTFhOMVltMXBkQzFtYjNKdElqb2dJbnRjSWtsT1UxUkJUa05GWDBsRVhDSWdPaUJjSW1KMWJtdGxjbmRsWWx3aUxDQmNJbTl3WlhKaGRHbHZibHdpSURvZ1hDSnlaV3h2WVdSY0lpQjlJbjBzSUNKMFpYaDBJam9nSW1GamRHbHZibDl5Wld4dllXUWlMQ0FpWTI5c2IzSWlPaUFpZDJGeWJtbHVaeUo5TENCN0ltRjBkSEp6SWpvZ2V5SmtZWFJoTFhOMVltMXBkQzFtYjNKdElqb2dJbnRjSWtsT1UxUkJUa05GWDBsRVhDSWdPaUJjSW1KMWJtdGxjbmRsWWx3aUxDQmNJbTl3WlhKaGRHbHZibHdpSURvZ1hDSnpkRzl3WENJZ2ZTSjlMQ0FpZEdWNGRDSTZJQ0poWTNScGIyNWZjM1J2Y0NJc0lDSmpiMnh2Y2lJNklDSmxjbkp2Y2lKOVhYMTlYWDBzSUhzaWRIbHdaU0k2SUNKallYSmtJaXdnSW1OdmJuUmhhVzVsY2tOdmJIVnRibk1pT2lCN0luQmpJam9nTml3Z0luUmhZbXhsZENJNklEWXNJQ0p0YjJKcGJHVWlPaUF4TW4wc0lDSjNhV1JuWlhSeklqb2dXM3NpZEhsd1pTSTZJQ0pKYm5OMFlXNWpaU0lzSUNKa1lYUmhJam9nZXlKd1lXbHljeUk2SUZ0N0ltdGxlU0k2SUNKcGJuTjBZVzVqWlhOZmFHOXpkRzVoYldVaUxDQWlkbUZzZFdVaU9pQWlZblZ1YTJWeWQyVmlJbjBzSUhzaWEyVjVJam9nSW1sdWMzUmhibU5sYzE5MGVYQmxJaXdnSW5aaGJIVmxJam9nSW0xaGJuVmhiQ0o5TENCN0ltdGxlU0k2SUNKcGJuTjBZVzVqWlhOZmMzUmhkSFZ6SWl3Z0luWmhiSFZsSWpvZ0ltbHVjM1JoYm1ObGMxOWhZM1JwZG1VaWZWMHNJQ0p6ZEdGMGRYTWlPaUFpYzNWalkyVnpjeUlzSUNKMGFYUnNaU0k2SUNKaWRXNXJaWEozWldJaUxDQWlZblYwZEc5dWN5STZJRnQ3SW1GMGRISnpJam9nZXlKa1lYUmhMWE4xWW0xcGRDMW1iM0p0SWpvZ0ludGNJa2xPVTFSQlRrTkZYMGxFWENJZ09pQmNJbUoxYm10bGNuZGxZbHdpTENCY0ltOXdaWEpoZEdsdmJsd2lJRG9nWENKeVpXeHZZV1JjSWlCOUluMHNJQ0owWlhoMElqb2dJbUZqZEdsdmJsOXlaV3h2WVdRaUxDQWlZMjlzYjNJaU9pQWlkMkZ5Ym1sdVp5SjlMQ0I3SW1GMGRISnpJam9nZXlKa1lYUmhMWE4xWW0xcGRDMW1iM0p0SWpvZ0ludGNJa2xPVTFSQlRrTkZYMGxFWENJZ09pQmNJbUoxYm10bGNuZGxZbHdpTENCY0ltOXdaWEpoZEdsdmJsd2lJRG9nWENKemRHOXdYQ0lnZlNKOUxDQWlkR1Y0ZENJNklDSmhZM1JwYjI1ZmMzUnZjQ0lzSUNKamIyeHZjaUk2SUNKbGNuSnZjaUo5WFgxOVhYMWQi
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
|
@ -1,68 +1,65 @@
|
|||
[
|
||||
{
|
||||
"type": "card",
|
||||
"containerColumns": {
|
||||
"pc": 12,
|
||||
"tablet": 12,
|
||||
"mobile": 12
|
||||
},
|
||||
"widgets": [
|
||||
{
|
||||
"type": "Title",
|
||||
"data": {
|
||||
"title": "logs_title"
|
||||
}
|
||||
{
|
||||
"type": "card",
|
||||
"containerColumns": {
|
||||
"pc": 12,
|
||||
"tablet": 12,
|
||||
"mobile": 12
|
||||
},
|
||||
"widgets": [
|
||||
{
|
||||
"type": "Title",
|
||||
"data": {
|
||||
"title": "logs_title"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Fields",
|
||||
"data": {
|
||||
"setting": {
|
||||
"id": "logs-select-file",
|
||||
"label": "logs_select_file",
|
||||
"inpType": "select",
|
||||
"name": "logs-select-file",
|
||||
"onlyDown": true,
|
||||
"value": "",
|
||||
"values": ["file1", "file2"],
|
||||
"columns": {
|
||||
"pc": 4,
|
||||
"tablet": 6,
|
||||
"mobile": 12
|
||||
},
|
||||
{
|
||||
"type": "Fields",
|
||||
"data": {
|
||||
"setting": {
|
||||
"id": "logs-select-file",
|
||||
"label": "logs_select_file",
|
||||
"inpType": "select",
|
||||
"name": "logs-select-file",
|
||||
"onlyDown": true,
|
||||
"value": "",
|
||||
"values": [
|
||||
"file1",
|
||||
"file2"
|
||||
],
|
||||
"columns": {
|
||||
"pc": 4,
|
||||
"tablet": 6,
|
||||
"mobile": 12
|
||||
},
|
||||
"maxBtnChars": 20,
|
||||
"attrs": {
|
||||
"data-log": "true"
|
||||
},
|
||||
"popovers": [
|
||||
{
|
||||
"iconName": "info",
|
||||
"text": "logs_select_file_info"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
"maxBtnChars": 20,
|
||||
"attrs": {
|
||||
"data-log": "true"
|
||||
},
|
||||
{
|
||||
"type": "Fields",
|
||||
"data": {
|
||||
"setting": {
|
||||
"containerClass": "mt-4",
|
||||
"id": "logs-file-content",
|
||||
"label": "logs_file_content",
|
||||
"inpType": "editor",
|
||||
"name": "logs-file-content",
|
||||
"value": "gefesfesfsefes",
|
||||
"columns": {
|
||||
"pc": 12,
|
||||
"tablet": 12,
|
||||
"mobile": 12
|
||||
}
|
||||
}
|
||||
}
|
||||
"popovers": [
|
||||
{
|
||||
"iconName": "info",
|
||||
"text": "logs_select_file_info"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Fields",
|
||||
"data": {
|
||||
"setting": {
|
||||
"containerClass": "mt-4",
|
||||
"id": "logs-file-content",
|
||||
"label": "logs_file_content",
|
||||
"inpType": "editor",
|
||||
"name": "logs-file-content",
|
||||
"value": "gefesfesfsefes",
|
||||
"columns": {
|
||||
"pc": 12,
|
||||
"tablet": 12,
|
||||
"mobile": 12
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
W3sidHlwZSI6ICJjYXJkIiwgImNvbnRhaW5lckNvbHVtbnMiOiB7InBjIjogMTIsICJ0YWJsZXQiOiAxMiwgIm1vYmlsZSI6IDEyfSwgIndpZGdldHMiOiBbeyJ0eXBlIjogIlRpdGxlIiwgImRhdGEiOiB7InRpdGxlIjogImxvZ3NfdGl0bGUifX0sIHsidHlwZSI6ICJGaWVsZHMiLCAiZGF0YSI6IHsic2V0dGluZyI6IHsiaWQiOiAibG9ncy1zZWxlY3QtZmlsZSIsICJsYWJlbCI6ICJsb2dzX3NlbGVjdF9maWxlIiwgImlucFR5cGUiOiAic2VsZWN0IiwgIm5hbWUiOiAibG9ncy1zZWxlY3QtZmlsZSIsICJvbmx5RG93biI6IHRydWUsICJ2YWx1ZSI6ICIiLCAidmFsdWVzIjogWyJmaWxlMSIsICJmaWxlMiJdLCAiY29sdW1ucyI6IHsicGMiOiA0LCAidGFibGV0IjogNiwgIm1vYmlsZSI6IDEyfSwgIm1heEJ0bkNoYXJzIjogMjAsICJhdHRycyI6IHsiZGF0YS1sb2ciOiAidHJ1ZSJ9LCAicG9wb3ZlcnMiOiBbeyJpY29uTmFtZSI6ICJpbmZvIiwgInRleHQiOiAibG9nc19zZWxlY3RfZmlsZV9pbmZvIn1dfX19LCB7InR5cGUiOiAiRmllbGRzIiwgImRhdGEiOiB7InNldHRpbmciOiB7ImNvbnRhaW5lckNsYXNzIjogIm10LTQiLCAiaWQiOiAibG9ncy1maWxlLWNvbnRlbnQiLCAibGFiZWwiOiAibG9nc19maWxlX2NvbnRlbnQiLCAiaW5wVHlwZSI6ICJlZGl0b3IiLCAibmFtZSI6ICJsb2dzLWZpbGUtY29udGVudCIsICJ2YWx1ZSI6ICJnZWZlc2Zlc2ZzZWZlcyIsICJjb2x1bW5zIjogeyJwYyI6IDEyLCAidGFibGV0IjogMTIsICJtb2JpbGUiOiAxMn19fX1dfV0=
|
||||
W3sidHlwZSI6ICJjYXJkIiwgImNvbnRhaW5lckNvbHVtbnMiOiB7InBjIjogMTIsICJ0YWJsZXQiOiAxMiwgIm1vYmlsZSI6IDEyfSwgIndpZGdldHMiOiBbeyJ0eXBlIjogIlRpdGxlIiwgImRhdGEiOiB7InRpdGxlIjogImxvZ3NfdGl0bGUifX0sIHsidHlwZSI6ICJGaWVsZHMiLCAiZGF0YSI6IHsic2V0dGluZyI6IHsiaWQiOiAibG9ncy1zZWxlY3QtZmlsZSIsICJsYWJlbCI6ICJsb2dzX3NlbGVjdF9maWxlIiwgImlucFR5cGUiOiAic2VsZWN0IiwgIm5hbWUiOiAibG9ncy1zZWxlY3QtZmlsZSIsICJvbmx5RG93biI6IHRydWUsICJ2YWx1ZSI6ICIiLCAidmFsdWVzIjogWyJmaWxlMSIsICJmaWxlMiJdLCAiY29sdW1ucyI6IHsicGMiOiA0LCAidGFibGV0IjogNiwgIm1vYmlsZSI6IDEyfSwgIm1heEJ0bkNoYXJzIjogMjAsICJhdHRycyI6IHsiZGF0YS1sb2ciOiAidHJ1ZSJ9LCAicG9wb3ZlcnMiOiBbeyJpY29uTmFtZSI6ICJpbmZvIiwgInRleHQiOiAibG9nc19zZWxlY3RfZmlsZV9pbmZvIn1dfX19LCB7InR5cGUiOiAiRmllbGRzIiwgImRhdGEiOiB7InNldHRpbmciOiB7ImNvbnRhaW5lckNsYXNzIjogIm10LTQiLCAiaWQiOiAibG9ncy1maWxlLWNvbnRlbnQiLCAibGFiZWwiOiAibG9nc19maWxlX2NvbnRlbnQiLCAiaW5wVHlwZSI6ICJlZGl0b3IiLCAibmFtZSI6ICJsb2dzLWZpbGUtY29udGVudCIsICJ2YWx1ZSI6ICJnZWZlc2Zlc2ZzZWZlcyIsICJjb2x1bW5zIjogeyJwYyI6IDEyLCAidGFibGV0IjogMTIsICJtb2JpbGUiOiAxMn19fX1dfV0=
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,400 +1,400 @@
|
|||
[
|
||||
{
|
||||
"type": "card",
|
||||
"containerColumns": {
|
||||
"pc": 12,
|
||||
"tablet": 12,
|
||||
"mobile": 12
|
||||
},
|
||||
"widgets": [
|
||||
{
|
||||
"type": "Title",
|
||||
"data": {
|
||||
"title": "app1.example.com",
|
||||
"type": "container",
|
||||
"lowercase": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Subtitle",
|
||||
"data": {
|
||||
"subtitle": "services_manage_subtitle",
|
||||
"type": "container"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Templates",
|
||||
"data": {
|
||||
"templates": {
|
||||
"raw": {
|
||||
"default": {
|
||||
"SERVER_NAME": "app1.example.com",
|
||||
"SERVER_TYPE": "http",
|
||||
"LISTEN_STREAM": "yes",
|
||||
"LISTEN_STREAM_PORT": "1337",
|
||||
"LISTEN_STREAM_PORT_SSL": "4242",
|
||||
"USE_UDP": "no",
|
||||
"IS_DRAFT": "no",
|
||||
"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_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": "",
|
||||
"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",
|
||||
"USE_CORS": "no",
|
||||
"CORS_ALLOW_ORIGIN": "self",
|
||||
"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": "same-origin",
|
||||
"CROSS_ORIGIN_EMBEDDER_POLICY": "require-corp",
|
||||
"CROSS_ORIGIN_RESOURCE_POLICY": "same-site",
|
||||
"CORS_MAX_AGE": "86400",
|
||||
"CORS_DENY_REQUEST": "yes",
|
||||
"USE_CLIENT_CACHE": "yes",
|
||||
"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": "",
|
||||
"USE_DNSBL": "yes",
|
||||
"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": "",
|
||||
"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": "",
|
||||
"CUSTOM_HEADER_2": "dzdz",
|
||||
"REMOVE_HEADERS": "Server Expect-CT X-Powered-By X-AspNet-Version X-AspNetMvc-Version Public-Key-Pins",
|
||||
"KEEP_UPSTREAM_HEADERS": "Content-Security-Policy Permissions-Policy X-Frame-Options",
|
||||
"STRICT_TRANSPORT_SECURITY": "max-age=31536000; includeSubDomains; preload",
|
||||
"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=(), attribution-reporting=(), autoplay=(), battery=(), bluetooth=(), browsing-topics=(), camera=(), compute-pressure=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), gamepad=(), geolocation=(), gyroscope=(), hid=(), identity-credentials-get=(), idle-detection=(), local-fonts=(), magnetometer=(), microphone=(), midi=(), otp-credentials=(), payment=(), picture-in-picture=(), publickey-credentials-create=(), publickey-credentials-get=(), screen-wake-lock=(), serial=(), speaker-selection=(), storage-access=(), usb=(), web-share=(), window-management=(), xr-spatial-tracking=()",
|
||||
"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",
|
||||
"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",
|
||||
"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",
|
||||
"USE_MODSECURITY": "yes",
|
||||
"USE_MODSECURITY_CRS": "yes",
|
||||
"MODSECURITY_CRS_VERSION": "4",
|
||||
"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": "",
|
||||
"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",
|
||||
"REDIRECT_TO": "",
|
||||
"REDIRECT_TO_REQUEST_URI": "no",
|
||||
"REDIRECT_TO_STATUS_CODE": "301",
|
||||
"USE_REVERSE_PROXY": "yes",
|
||||
"REVERSE_PROXY_INTERCEPT_ERRORS": "yes",
|
||||
"REVERSE_PROXY_CUSTOM_HOST": "",
|
||||
"REVERSE_PROXY_HOST": "http://app1:8080",
|
||||
"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_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/",
|
||||
"USE_UI": "no",
|
||||
"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": ""
|
||||
},
|
||||
"low": {
|
||||
"SERVER_NAME": "app1.example.com",
|
||||
"SERVER_TYPE": "http",
|
||||
"LISTEN_STREAM": "yes",
|
||||
"LISTEN_STREAM_PORT": "1337",
|
||||
"LISTEN_STREAM_PORT_SSL": "4242",
|
||||
"USE_UDP": "no",
|
||||
"IS_DRAFT": "no",
|
||||
"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_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": "",
|
||||
"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",
|
||||
"USE_CORS": "no",
|
||||
"CORS_ALLOW_ORIGIN": "self",
|
||||
"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": "same-origin",
|
||||
"CROSS_ORIGIN_EMBEDDER_POLICY": "require-corp",
|
||||
"CROSS_ORIGIN_RESOURCE_POLICY": "same-site",
|
||||
"CORS_MAX_AGE": "86400",
|
||||
"CORS_DENY_REQUEST": "yes",
|
||||
"USE_CLIENT_CACHE": "yes",
|
||||
"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": "",
|
||||
"USE_DNSBL": "yes",
|
||||
"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": "",
|
||||
"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": "",
|
||||
"CUSTOM_HEADER_2": "dzdz",
|
||||
"REMOVE_HEADERS": "Server Expect-CT X-Powered-By X-AspNet-Version X-AspNetMvc-Version Public-Key-Pins",
|
||||
"KEEP_UPSTREAM_HEADERS": "Content-Security-Policy Permissions-Policy X-Frame-Options",
|
||||
"STRICT_TRANSPORT_SECURITY": "max-age=31536000; includeSubDomains; preload",
|
||||
"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=(), attribution-reporting=(), autoplay=(), battery=(), bluetooth=(), browsing-topics=(), camera=(), compute-pressure=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), gamepad=(), geolocation=(), gyroscope=(), hid=(), identity-credentials-get=(), idle-detection=(), local-fonts=(), magnetometer=(), microphone=(), midi=(), otp-credentials=(), payment=(), picture-in-picture=(), publickey-credentials-create=(), publickey-credentials-get=(), screen-wake-lock=(), serial=(), speaker-selection=(), storage-access=(), usb=(), web-share=(), window-management=(), xr-spatial-tracking=()",
|
||||
"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",
|
||||
"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",
|
||||
"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",
|
||||
"USE_MODSECURITY": "yes",
|
||||
"USE_MODSECURITY_CRS": "yes",
|
||||
"MODSECURITY_CRS_VERSION": "4",
|
||||
"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": "",
|
||||
"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",
|
||||
"REDIRECT_TO": "",
|
||||
"REDIRECT_TO_REQUEST_URI": "no",
|
||||
"REDIRECT_TO_STATUS_CODE": "301",
|
||||
"USE_REVERSE_PROXY": "yes",
|
||||
"REVERSE_PROXY_INTERCEPT_ERRORS": "yes",
|
||||
"REVERSE_PROXY_CUSTOM_HOST": "",
|
||||
"REVERSE_PROXY_HOST": "http://app1:8080",
|
||||
"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_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/",
|
||||
"USE_UI": "no",
|
||||
"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": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"operation": "edit",
|
||||
"oldServerName": "app1.example.com"
|
||||
}
|
||||
{
|
||||
"type": "card",
|
||||
"containerColumns": {
|
||||
"pc": 12,
|
||||
"tablet": 12,
|
||||
"mobile": 12
|
||||
},
|
||||
"widgets": [
|
||||
{
|
||||
"type": "Title",
|
||||
"data": {
|
||||
"title": "app1.example.com",
|
||||
"type": "container",
|
||||
"lowercase": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Subtitle",
|
||||
"data": {
|
||||
"subtitle": "services_manage_subtitle",
|
||||
"type": "container"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Templates",
|
||||
"data": {
|
||||
"templates": {
|
||||
"raw": {
|
||||
"default": {
|
||||
"SERVER_NAME": "app1.example.com",
|
||||
"SERVER_TYPE": "http",
|
||||
"LISTEN_STREAM": "yes",
|
||||
"LISTEN_STREAM_PORT": "1337",
|
||||
"LISTEN_STREAM_PORT_SSL": "4242",
|
||||
"USE_UDP": "no",
|
||||
"IS_DRAFT": "no",
|
||||
"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_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": "",
|
||||
"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",
|
||||
"USE_CORS": "no",
|
||||
"CORS_ALLOW_ORIGIN": "self",
|
||||
"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": "same-origin",
|
||||
"CROSS_ORIGIN_EMBEDDER_POLICY": "require-corp",
|
||||
"CROSS_ORIGIN_RESOURCE_POLICY": "same-site",
|
||||
"CORS_MAX_AGE": "86400",
|
||||
"CORS_DENY_REQUEST": "yes",
|
||||
"USE_CLIENT_CACHE": "yes",
|
||||
"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": "",
|
||||
"USE_DNSBL": "yes",
|
||||
"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": "",
|
||||
"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": "",
|
||||
"CUSTOM_HEADER_2": "dzdz",
|
||||
"REMOVE_HEADERS": "Server Expect-CT X-Powered-By X-AspNet-Version X-AspNetMvc-Version Public-Key-Pins",
|
||||
"KEEP_UPSTREAM_HEADERS": "Content-Security-Policy Permissions-Policy X-Frame-Options",
|
||||
"STRICT_TRANSPORT_SECURITY": "max-age=31536000; includeSubDomains; preload",
|
||||
"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=(), attribution-reporting=(), autoplay=(), battery=(), bluetooth=(), browsing-topics=(), camera=(), compute-pressure=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), gamepad=(), geolocation=(), gyroscope=(), hid=(), identity-credentials-get=(), idle-detection=(), local-fonts=(), magnetometer=(), microphone=(), midi=(), otp-credentials=(), payment=(), picture-in-picture=(), publickey-credentials-create=(), publickey-credentials-get=(), screen-wake-lock=(), serial=(), speaker-selection=(), storage-access=(), usb=(), web-share=(), window-management=(), xr-spatial-tracking=()",
|
||||
"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",
|
||||
"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",
|
||||
"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",
|
||||
"USE_MODSECURITY": "yes",
|
||||
"USE_MODSECURITY_CRS": "yes",
|
||||
"MODSECURITY_CRS_VERSION": "4",
|
||||
"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": "",
|
||||
"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",
|
||||
"REDIRECT_TO": "",
|
||||
"REDIRECT_TO_REQUEST_URI": "no",
|
||||
"REDIRECT_TO_STATUS_CODE": "301",
|
||||
"USE_REVERSE_PROXY": "yes",
|
||||
"REVERSE_PROXY_INTERCEPT_ERRORS": "yes",
|
||||
"REVERSE_PROXY_CUSTOM_HOST": "",
|
||||
"REVERSE_PROXY_HOST": "http://app1:8080",
|
||||
"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_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/",
|
||||
"USE_UI": "no",
|
||||
"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": ""
|
||||
},
|
||||
"low": {
|
||||
"SERVER_NAME": "app1.example.com",
|
||||
"SERVER_TYPE": "http",
|
||||
"LISTEN_STREAM": "yes",
|
||||
"LISTEN_STREAM_PORT": "1337",
|
||||
"LISTEN_STREAM_PORT_SSL": "4242",
|
||||
"USE_UDP": "no",
|
||||
"IS_DRAFT": "no",
|
||||
"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_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": "",
|
||||
"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",
|
||||
"USE_CORS": "no",
|
||||
"CORS_ALLOW_ORIGIN": "self",
|
||||
"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": "same-origin",
|
||||
"CROSS_ORIGIN_EMBEDDER_POLICY": "require-corp",
|
||||
"CROSS_ORIGIN_RESOURCE_POLICY": "same-site",
|
||||
"CORS_MAX_AGE": "86400",
|
||||
"CORS_DENY_REQUEST": "yes",
|
||||
"USE_CLIENT_CACHE": "yes",
|
||||
"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": "",
|
||||
"USE_DNSBL": "yes",
|
||||
"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": "",
|
||||
"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": "",
|
||||
"CUSTOM_HEADER_2": "dzdz",
|
||||
"REMOVE_HEADERS": "Server Expect-CT X-Powered-By X-AspNet-Version X-AspNetMvc-Version Public-Key-Pins",
|
||||
"KEEP_UPSTREAM_HEADERS": "Content-Security-Policy Permissions-Policy X-Frame-Options",
|
||||
"STRICT_TRANSPORT_SECURITY": "max-age=31536000; includeSubDomains; preload",
|
||||
"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=(), attribution-reporting=(), autoplay=(), battery=(), bluetooth=(), browsing-topics=(), camera=(), compute-pressure=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), gamepad=(), geolocation=(), gyroscope=(), hid=(), identity-credentials-get=(), idle-detection=(), local-fonts=(), magnetometer=(), microphone=(), midi=(), otp-credentials=(), payment=(), picture-in-picture=(), publickey-credentials-create=(), publickey-credentials-get=(), screen-wake-lock=(), serial=(), speaker-selection=(), storage-access=(), usb=(), web-share=(), window-management=(), xr-spatial-tracking=()",
|
||||
"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",
|
||||
"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",
|
||||
"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",
|
||||
"USE_MODSECURITY": "yes",
|
||||
"USE_MODSECURITY_CRS": "yes",
|
||||
"MODSECURITY_CRS_VERSION": "4",
|
||||
"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": "",
|
||||
"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",
|
||||
"REDIRECT_TO": "",
|
||||
"REDIRECT_TO_REQUEST_URI": "no",
|
||||
"REDIRECT_TO_STATUS_CODE": "301",
|
||||
"USE_REVERSE_PROXY": "yes",
|
||||
"REVERSE_PROXY_INTERCEPT_ERRORS": "yes",
|
||||
"REVERSE_PROXY_CUSTOM_HOST": "",
|
||||
"REVERSE_PROXY_HOST": "http://app1:8080",
|
||||
"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_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/",
|
||||
"USE_UI": "no",
|
||||
"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": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"operation": "edit",
|
||||
"oldServerName": "app1.example.com"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1 +1 @@
|
|||
W3sidHlwZSI6ICJjYXJkIiwgImNvbnRhaW5lckNvbHVtbnMiOiB7InBjIjogMTIsICJ0YWJsZXQiOiAxMiwgIm1vYmlsZSI6IDEyfSwgIndpZGdldHMiOiBbeyJ0eXBlIjogIlRpdGxlIiwgImRhdGEiOiB7InRpdGxlIjogImdsb2JhbF9jb25maWdfdGl0bGUiLCAidHlwZSI6ICJjb250YWluZXIifX0sIHsidHlwZSI6ICJTdWJ0aXRsZSIsICJkYXRhIjogeyJzdWJ0aXRsZSI6ICJnbG9iYWxfY29uZmlnX3N1YnRpdGxlIiwgInR5cGUiOiAiY29udGFpbmVyIn19LCB7InR5cGUiOiAiVGVtcGxhdGVzIiwgImRhdGEiOiB7InRlbXBsYXRlcyI6IHsiciI6IHt9LCAiYSI6IHt9LCAidyI6IHt9fX19XX1d
|
||||
W3sidHlwZSI6ICJjYXJkIiwgImNvbnRhaW5lckNvbHVtbnMiOiB7InBjIjogMTIsICJ0YWJsZXQiOiAxMiwgIm1vYmlsZSI6IDEyfSwgIndpZGdldHMiOiBbeyJ0eXBlIjogIlRpdGxlIiwgImRhdGEiOiB7InRpdGxlIjogImdsb2JhbF9jb25maWdfdGl0bGUiLCAidHlwZSI6ICJjb250YWluZXIifX0sIHsidHlwZSI6ICJTdWJ0aXRsZSIsICJkYXRhIjogeyJzdWJ0aXRsZSI6ICJnbG9iYWxfY29uZmlnX3N1YnRpdGxlIiwgInR5cGUiOiAiY29udGFpbmVyIn19LCB7InR5cGUiOiAiVGVtcGxhdGVzIiwgImRhdGEiOiB7InRlbXBsYXRlcyI6IHsiciI6IHt9LCAiYSI6IHt9LCAidyI6IHt9fX19XX1d
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
|
@ -47,7 +47,7 @@ export default defineConfig({
|
|||
instances: resolve(__dirname, "./dashboard/pages/instances/index.html"),
|
||||
global_config: resolve(
|
||||
__dirname,
|
||||
"./dashboard/pages/global-config/index.html"
|
||||
"./dashboard/pages/global-config/index.html",
|
||||
),
|
||||
jobs: resolve(__dirname, "./dashboard/pages/jobs/index.html"),
|
||||
services: resolve(__dirname, "./dashboard/pages/services/index.html"),
|
||||
|
|
|
|||
|
|
@ -385,7 +385,7 @@ def create_widget(title: str, desc: str, params: List[dict]):
|
|||
add_keys_not_default += f"""("{param_name}", {param_name}, {param_default}),"""
|
||||
|
||||
if add_keys_not_default:
|
||||
add_keys_not_default = f"""
|
||||
add_keys_not_default = f"""
|
||||
# List of params that will be add only if not default value
|
||||
list_params = [{add_keys_not_default.rstrip(',')}]
|
||||
for param in list_params:
|
||||
|
|
@ -395,7 +395,7 @@ def create_widget(title: str, desc: str, params: List[dict]):
|
|||
widget_function = f"""
|
||||
def {f_title}_widget(
|
||||
{params_str}
|
||||
):
|
||||
):
|
||||
{desc}
|
||||
{data}
|
||||
{add_keys_not_default}
|
||||
|
|
|
|||
Loading…
Reference in a new issue