gitignore build builder + update widgets generator

This commit is contained in:
Jordan Blasenhauer 2024-08-12 13:56:42 +02:00
parent 70139ca421
commit 34e7633d12
33 changed files with 2259 additions and 43107 deletions

1
.gitignore vendored
View file

@ -13,3 +13,4 @@ src/ui/client/static
src/ui/client/templates
src/ui/static
src/ui/templates
src/ui/builder

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -1,669 +0,0 @@
[
{
"type": "void",
"widgets": [
{
"type": "Button",
"data": {
"text": "bans_not_found"
}
}
]
},
{
"type": "card",
"containerColumns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"widgets": [
{
"type": "Title",
"data": {
"title": "bans_title"
}
},
{
"type": "Table",
"data": {
"title": "bans_table_title",
"minWidth": "xl",
"header": [
"bans_table_select",
"bans_table_ip",
"bans_table_reason",
"bans_table_ban_start",
"bans_table_ban_end",
"bans_table_remain",
"bans_table_term"
],
"positions": [1, 1, 1, 3, 3, 2, 1],
"items": [
[
{
"select": false,
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": false,
"value": "no",
"inpType": "checkbox",
"id": "select-ban-1",
"name": "select-ban-1",
"label": "select-ban-1",
"hideLabel": true
}
}
},
{
"ip": "127.0.0.1",
"type": "Text",
"data": {
"text": "127.0.0.1"
}
},
{
"reason": "ui",
"type": "Text",
"data": {
"text": "ui"
}
},
{
"ban_start": "1719393920",
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": true,
"value": 1719393920,
"inpType": "datepicker",
"id": "datepicker-ban-ban-start-1",
"name": "datepicker-ban-ban-start-1",
"label": "datepicker-ban-ban-start-1",
"hideLabel": true
}
}
},
{
"ban_end": "1719393920",
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": true,
"value": 1719393920,
"inpType": "datepicker",
"id": "datepicker-ban-ban-end-1",
"name": "datepicker-ban-ban-end-1",
"label": "datepicker-ban-ban-end-1",
"hideLabel": true
}
}
},
{
"remain": "23 hours and 49 minutes",
"type": "Text",
"data": {
"text": "23 hours and 49 minutes"
}
},
{
"term": "hour(s)",
"type": "Text",
"data": {
"text": "hour(s)"
}
}
],
[
{
"select": false,
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": false,
"value": "no",
"inpType": "checkbox",
"id": "select-ban-2",
"name": "select-ban-2",
"label": "select-ban-2",
"hideLabel": true
}
}
},
{
"ip": "127.0.0.1",
"type": "Text",
"data": {
"text": "127.0.0.1"
}
},
{
"reason": "ui",
"type": "Text",
"data": {
"text": "ui"
}
},
{
"ban_start": "1719393920",
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": true,
"value": 1719393920,
"inpType": "datepicker",
"id": "datepicker-ban-ban-start-2",
"name": "datepicker-ban-ban-start-2",
"label": "datepicker-ban-ban-start-2",
"hideLabel": true
}
}
},
{
"ban_end": "1719393920",
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": true,
"value": 1719393920,
"inpType": "datepicker",
"id": "datepicker-ban-ban-end-2",
"name": "datepicker-ban-ban-end-2",
"label": "datepicker-ban-ban-end-2",
"hideLabel": true
}
}
},
{
"remain": "23 hours and 49 minutes",
"type": "Text",
"data": {
"text": "23 hours and 49 minutes"
}
},
{
"term": "day(s)",
"type": "Text",
"data": {
"text": "day(s)"
}
}
],
[
{
"select": false,
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": false,
"value": "no",
"inpType": "checkbox",
"id": "select-ban-3",
"name": "select-ban-3",
"label": "select-ban-3",
"hideLabel": true
}
}
},
{
"ip": "127.0.0.1",
"type": "Text",
"data": {
"text": "127.0.0.1"
}
},
{
"reason": "cor",
"type": "Text",
"data": {
"text": "cor"
}
},
{
"ban_start": "1719393920",
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": true,
"value": 1719393920,
"inpType": "datepicker",
"id": "datepicker-ban-ban-start-3",
"name": "datepicker-ban-ban-start-3",
"label": "datepicker-ban-ban-start-3",
"hideLabel": true
}
}
},
{
"ban_end": "1719393920",
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": true,
"value": 1719393920,
"inpType": "datepicker",
"id": "datepicker-ban-ban-end-3",
"name": "datepicker-ban-ban-end-3",
"label": "datepicker-ban-ban-end-3",
"hideLabel": true
}
}
},
{
"remain": "23 hours and 49 minutes",
"type": "Text",
"data": {
"text": "23 hours and 49 minutes"
}
},
{
"term": "hour(s)",
"type": "Text",
"data": {
"text": "hour(s)"
}
}
],
[
{
"select": false,
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": false,
"value": "no",
"inpType": "checkbox",
"id": "select-ban-4",
"name": "select-ban-4",
"label": "select-ban-4",
"hideLabel": true
}
}
},
{
"ip": "127.0.0.1",
"type": "Text",
"data": {
"text": "127.0.0.1"
}
},
{
"reason": "ui",
"type": "Text",
"data": {
"text": "ui"
}
},
{
"ban_start": "1719393920",
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": true,
"value": 1719393920,
"inpType": "datepicker",
"id": "datepicker-ban-ban-start-4",
"name": "datepicker-ban-ban-start-4",
"label": "datepicker-ban-ban-start-4",
"hideLabel": true
}
}
},
{
"ban_end": "1719393920",
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": true,
"value": 1719393920,
"inpType": "datepicker",
"id": "datepicker-ban-ban-end-4",
"name": "datepicker-ban-ban-end-4",
"label": "datepicker-ban-ban-end-4",
"hideLabel": true
}
}
},
{
"remain": "23 hours and 49 minutes",
"type": "Text",
"data": {
"text": "23 hours and 49 minutes"
}
},
{
"term": "hour(s)",
"type": "Text",
"data": {
"text": "hour(s)"
}
}
],
[
{
"select": false,
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": false,
"value": "no",
"inpType": "checkbox",
"id": "select-ban-5",
"name": "select-ban-5",
"label": "select-ban-5",
"hideLabel": true
}
}
},
{
"ip": "127.0.0.1",
"type": "Text",
"data": {
"text": "127.0.0.1"
}
},
{
"reason": "ui",
"type": "Text",
"data": {
"text": "ui"
}
},
{
"ban_start": "1719393920",
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": true,
"value": 1719393920,
"inpType": "datepicker",
"id": "datepicker-ban-ban-start-5",
"name": "datepicker-ban-ban-start-5",
"label": "datepicker-ban-ban-start-5",
"hideLabel": true
}
}
},
{
"ban_end": "1719393920",
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": true,
"value": 1719393920,
"inpType": "datepicker",
"id": "datepicker-ban-ban-end-5",
"name": "datepicker-ban-ban-end-5",
"label": "datepicker-ban-ban-end-5",
"hideLabel": true
}
}
},
{
"remain": "23 hours and 49 minutes",
"type": "Text",
"data": {
"text": "23 hours and 49 minutes"
}
},
{
"term": "hour(s)",
"type": "Text",
"data": {
"text": "hour(s)"
}
}
],
[
{
"select": false,
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": false,
"value": "no",
"inpType": "checkbox",
"id": "select-ban-6",
"name": "select-ban-6",
"label": "select-ban-6",
"hideLabel": true
}
}
},
{
"ip": "127.0.0.1",
"type": "Text",
"data": {
"text": "127.0.0.1"
}
},
{
"reason": "ui",
"type": "Text",
"data": {
"text": "ui"
}
},
{
"ban_start": "1719393920",
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": true,
"value": 1719393920,
"inpType": "datepicker",
"id": "datepicker-ban-ban-start-6",
"name": "datepicker-ban-ban-start-6",
"label": "datepicker-ban-ban-start-6",
"hideLabel": true
}
}
},
{
"ban_end": "1719393920",
"type": "Fields",
"data": {
"setting": {
"columns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"disabled": true,
"value": 1719393920,
"inpType": "datepicker",
"id": "datepicker-ban-ban-end-6",
"name": "datepicker-ban-ban-end-6",
"label": "datepicker-ban-ban-end-6",
"hideLabel": true
}
}
},
{
"remain": "23 hours and 49 minutes",
"type": "Text",
"data": {
"text": "23 hours and 49 minutes"
}
},
{
"term": "hour(s)",
"type": "Text",
"data": {
"text": "hour(s)"
}
}
]
],
"filters": [
{
"filter": "table",
"filterName": "keyword",
"type": "keyword",
"value": "",
"keys": ["ip", "ban_start", "ban_end"],
"field": {
"id": "bans-keyword",
"value": "",
"type": "text",
"name": "bans-keyword",
"label": "bans_search",
"placeholder": "inp_keyword",
"isClipboard": false,
"popovers": [
{
"text": "bans_search_desc",
"iconName": "info"
}
],
"columns": {
"pc": 3,
"tablet": 4,
"mobile": 12
}
}
},
{
"filter": "table",
"filterName": "reason",
"type": "select",
"value": "all",
"keys": ["reason"],
"field": {
"id": "bans-reason",
"value": "all",
"values": ["all", "ui", "cor"],
"name": "bans-reason",
"onlyDown": true,
"label": "bans_reason",
"popovers": [
{
"text": "bans_reason_desc",
"iconName": "info"
}
],
"columns": {
"pc": 3,
"tablet": 4,
"mobile": 12
}
}
},
{
"filter": "table",
"filterName": "term",
"type": "select",
"value": "all",
"keys": ["term"],
"field": {
"id": "bans-terms",
"value": "all",
"values": ["all", "hour(s)", "day(s)"],
"name": "bans-terms",
"onlyDown": true,
"label": "bans_terms",
"popovers": [
{
"text": "bans_terms_desc",
"iconName": "info"
}
],
"columns": {
"pc": 3,
"tablet": 4,
"mobile": 12
}
}
}
]
}
}
]
}
]

View file

@ -32,7 +32,6 @@ remains = ["all", "hour(s)", "day(s)"]
builder = bans_builder(bans, reasons, remains)
with open("bans2.json", "w") as f:
f.write(json.dumps(builder))

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

View file

@ -1,107 +0,0 @@
[
{
"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://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"
}
}
]
},
{
"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"
}
}
]
},
{
"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"
}
}
]
},
{
"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"
}
}
]
}
]

View file

@ -1 +0,0 @@
W3sidHlwZSI6ICJjYXJkIiwgImxpbmsiOiAiaHR0cHM6Ly9wYW5lbC5idW5rZXJ3ZWIuaW8vP3V0bV9jYW1wYWlnbj1zZWxmJnV0bV9zb3VyY2U9dWkjcHJvIiwgImNvbnRhaW5lckNvbHVtbnMiOiB7InBjIjogNCwgInRhYmxldCI6IDYsICJtb2JpbGUiOiAxMn0sICJ3aWRnZXRzIjogW3sidHlwZSI6ICJTdGF0IiwgImRhdGEiOiB7InRpdGxlIjogImhvbWVfdmVyc2lvbiIsICJzdWJ0aXRsZSI6ICJob21lX3VwZ3JhZGVfdG9fcHJvIiwgInN1YnRpdGxlQ29sb3IiOiAid2FybmluZyIsICJzdGF0IjogImhvbWVfZnJlZSIsICJpY29uTmFtZSI6ICJrZXkifX1dfSwgeyJ0eXBlIjogImNhcmQiLCAibGluayI6ICJodHRwczovL2dpdGh1Yi5jb20vYnVua2VyaXR5L2J1bmtlcndlYiIsICJjb250YWluZXJDb2x1bW5zIjogeyJwYyI6IDQsICJ0YWJsZXQiOiA2LCAibW9iaWxlIjogMTJ9LCAid2lkZ2V0cyI6IFt7InR5cGUiOiAiU3RhdCIsICJkYXRhIjogeyJ0aXRsZSI6ICJob21lX3ZlcnNpb25fbnVtYmVyIiwgInN1YnRpdGxlIjogImhvbWVfdXBkYXRlX2F2YWlsYWJsZSIsICJzdWJ0aXRsZUNvbG9yIjogIndhcm5pbmciLCAic3RhdCI6ICIxLjUuOCIsICJpY29uTmFtZSI6ICJ3aXJlIn19XX0sIHsidHlwZSI6ICJjYXJkIiwgImxpbmsiOiAiL2luc3RhbmNlcyIsICJjb250YWluZXJDb2x1bW5zIjogeyJwYyI6IDQsICJ0YWJsZXQiOiA2LCAibW9iaWxlIjogMTJ9LCAid2lkZ2V0cyI6IFt7InR5cGUiOiAiU3RhdCIsICJkYXRhIjogeyJ0aXRsZSI6ICJob21lX2luc3RhbmNlcyIsICJzdWJ0aXRsZSI6ICJob21lX3RvdGFsX251bWJlciIsICJzdWJ0aXRsZUNvbG9yIjogImluZm8iLCAic3RhdCI6IDEsICJpY29uTmFtZSI6ICJib3gifX1dfSwgeyJ0eXBlIjogImNhcmQiLCAibGluayI6ICIvc2VydmljZXMiLCAiY29udGFpbmVyQ29sdW1ucyI6IHsicGMiOiA0LCAidGFibGV0IjogNiwgIm1vYmlsZSI6IDEyfSwgIndpZGdldHMiOiBbeyJ0eXBlIjogIlN0YXQiLCAiZGF0YSI6IHsidGl0bGUiOiAiaG9tZV9zZXJ2aWNlcyIsICJzdWJ0aXRsZSI6ICJob21lX2FsbF9tZXRob2RzX2luY2x1ZGVkIiwgInN1YnRpdGxlQ29sb3IiOiAiaW5mbyIsICJzdGF0IjogMiwgImljb25OYW1lIjogImRpc2sifX1dfSwgeyJ0eXBlIjogImNhcmQiLCAibGluayI6ICIvcGx1Z2lucyIsICJjb250YWluZXJDb2x1bW5zIjogeyJwYyI6IDQsICJ0YWJsZXQiOiA2LCAibW9iaWxlIjogMTJ9LCAid2lkZ2V0cyI6IFt7InR5cGUiOiAiU3RhdCIsICJkYXRhIjogeyJ0aXRsZSI6ICJob21lX3BsdWdpbnMiLCAic3VidGl0bGUiOiAiaG9tZV9ub19lcnJvciIsICJzdWJ0aXRsZUNvbG9yIjogInN1Y2Nlc3MiLCAic3RhdCI6ICI0MiIsICJpY29uTmFtZSI6ICJwdXp6bGUifX1dfV0=

View file

@ -1 +0,0 @@
"W3sidHlwZSI6ICJjYXJkIiwgImNvbnRhaW5lckNvbHVtbnMiOiB7InBjIjogNiwgInRhYmxldCI6IDYsICJtb2JpbGUiOiAxMn0sICJ3aWRnZXRzIjogW3sidHlwZSI6ICJJbnN0YW5jZSIsICJkYXRhIjogeyJwYWlycyI6IFt7ImtleSI6ICJpbnN0YW5jZXNfaG9zdG5hbWUiLCAidmFsdWUiOiAiYnVua2Vyd2ViIn0sIHsia2V5IjogImluc3RhbmNlc190eXBlIiwgInZhbHVlIjogIm1hbnVhbCJ9LCB7ImtleSI6ICJpbnN0YW5jZXNfc3RhdHVzIiwgInZhbHVlIjogImluc3RhbmNlc19hY3RpdmUifV0sICJzdGF0dXMiOiAic3VjY2VzcyIsICJ0aXRsZSI6ICJidW5rZXJ3ZWIiLCAiYnV0dG9ucyI6IFt7ImF0dHJzIjogeyJkYXRhLXN1Ym1pdC1mb3JtIjogIntcIklOU1RBTkNFX0lEXCIgOiBcImJ1bmtlcndlYlwiLCBcIm9wZXJhdGlvblwiIDogXCJyZWxvYWRcIiB9In0sICJ0ZXh0IjogImFjdGlvbl9yZWxvYWQiLCAiY29sb3IiOiAid2FybmluZyJ9LCB7ImF0dHJzIjogeyJkYXRhLXN1Ym1pdC1mb3JtIjogIntcIklOU1RBTkNFX0lEXCIgOiBcImJ1bmtlcndlYlwiLCBcIm9wZXJhdGlvblwiIDogXCJzdG9wXCIgfSJ9LCAidGV4dCI6ICJhY3Rpb25fc3RvcCIsICJjb2xvciI6ICJlcnJvciJ9XX19XX0sIHsidHlwZSI6ICJjYXJkIiwgImNvbnRhaW5lckNvbHVtbnMiOiB7InBjIjogNiwgInRhYmxldCI6IDYsICJtb2JpbGUiOiAxMn0sICJ3aWRnZXRzIjogW3sidHlwZSI6ICJJbnN0YW5jZSIsICJkYXRhIjogeyJwYWlycyI6IFt7ImtleSI6ICJpbnN0YW5jZXNfaG9zdG5hbWUiLCAidmFsdWUiOiAiYnVua2Vyd2ViIn0sIHsia2V5IjogImluc3RhbmNlc190eXBlIiwgInZhbHVlIjogIm1hbnVhbCJ9LCB7ImtleSI6ICJpbnN0YW5jZXNfc3RhdHVzIiwgInZhbHVlIjogImluc3RhbmNlc19hY3RpdmUifV0sICJzdGF0dXMiOiAic3VjY2VzcyIsICJ0aXRsZSI6ICJidW5rZXJ3ZWIiLCAiYnV0dG9ucyI6IFt7ImF0dHJzIjogeyJkYXRhLXN1Ym1pdC1mb3JtIjogIntcIklOU1RBTkNFX0lEXCIgOiBcImJ1bmtlcndlYlwiLCBcIm9wZXJhdGlvblwiIDogXCJyZWxvYWRcIiB9In0sICJ0ZXh0IjogImFjdGlvbl9yZWxvYWQiLCAiY29sb3IiOiAid2FybmluZyJ9LCB7ImF0dHJzIjogeyJkYXRhLXN1Ym1pdC1mb3JtIjogIntcIklOU1RBTkNFX0lEXCIgOiBcImJ1bmtlcndlYlwiLCBcIm9wZXJhdGlvblwiIDogXCJzdG9wXCIgfSJ9LCAidGV4dCI6ICJhY3Rpb25fc3RvcCIsICJjb2xvciI6ICJlcnJvciJ9XX19XX1d"

View file

@ -1 +0,0 @@
Ilczc2lkSGx3WlNJNklDSmpZWEprSWl3Z0ltTnZiblJoYVc1bGNrTnZiSFZ0Ym5NaU9pQjdJbkJqSWpvZ05pd2dJblJoWW14bGRDSTZJRFlzSUNKdGIySnBiR1VpT2lBeE1uMHNJQ0ozYVdSblpYUnpJam9nVzNzaWRIbHdaU0k2SUNKSmJuTjBZVzVqWlNJc0lDSmtZWFJoSWpvZ2V5SndZV2x5Y3lJNklGdDdJbXRsZVNJNklDSnBibk4wWVc1alpYTmZhRzl6ZEc1aGJXVWlMQ0FpZG1Gc2RXVWlPaUFpWW5WdWEyVnlkMlZpSW4wc0lIc2lhMlY1SWpvZ0ltbHVjM1JoYm1ObGMxOTBlWEJsSWl3Z0luWmhiSFZsSWpvZ0ltMWhiblZoYkNKOUxDQjdJbXRsZVNJNklDSnBibk4wWVc1alpYTmZjM1JoZEhWeklpd2dJblpoYkhWbElqb2dJbWx1YzNSaGJtTmxjMTloWTNScGRtVWlmVjBzSUNKemRHRjBkWE1pT2lBaWMzVmpZMlZ6Y3lJc0lDSjBhWFJzWlNJNklDSmlkVzVyWlhKM1pXSWlMQ0FpWW5WMGRHOXVjeUk2SUZ0N0ltRjBkSEp6SWpvZ2V5SmtZWFJoTFhOMVltMXBkQzFtYjNKdElqb2dJbnRjSWtsT1UxUkJUa05GWDBsRVhDSWdPaUJjSW1KMWJtdGxjbmRsWWx3aUxDQmNJbTl3WlhKaGRHbHZibHdpSURvZ1hDSnlaV3h2WVdSY0lpQjlJbjBzSUNKMFpYaDBJam9nSW1GamRHbHZibDl5Wld4dllXUWlMQ0FpWTI5c2IzSWlPaUFpZDJGeWJtbHVaeUo5TENCN0ltRjBkSEp6SWpvZ2V5SmtZWFJoTFhOMVltMXBkQzFtYjNKdElqb2dJbnRjSWtsT1UxUkJUa05GWDBsRVhDSWdPaUJjSW1KMWJtdGxjbmRsWWx3aUxDQmNJbTl3WlhKaGRHbHZibHdpSURvZ1hDSnpkRzl3WENJZ2ZTSjlMQ0FpZEdWNGRDSTZJQ0poWTNScGIyNWZjM1J2Y0NJc0lDSmpiMnh2Y2lJNklDSmxjbkp2Y2lKOVhYMTlYWDBzSUhzaWRIbHdaU0k2SUNKallYSmtJaXdnSW1OdmJuUmhhVzVsY2tOdmJIVnRibk1pT2lCN0luQmpJam9nTml3Z0luUmhZbXhsZENJNklEWXNJQ0p0YjJKcGJHVWlPaUF4TW4wc0lDSjNhV1JuWlhSeklqb2dXM3NpZEhsd1pTSTZJQ0pKYm5OMFlXNWpaU0lzSUNKa1lYUmhJam9nZXlKd1lXbHljeUk2SUZ0N0ltdGxlU0k2SUNKcGJuTjBZVzVqWlhOZmFHOXpkRzVoYldVaUxDQWlkbUZzZFdVaU9pQWlZblZ1YTJWeWQyVmlJbjBzSUhzaWEyVjVJam9nSW1sdWMzUmhibU5sYzE5MGVYQmxJaXdnSW5aaGJIVmxJam9nSW0xaGJuVmhiQ0o5TENCN0ltdGxlU0k2SUNKcGJuTjBZVzVqWlhOZmMzUmhkSFZ6SWl3Z0luWmhiSFZsSWpvZ0ltbHVjM1JoYm1ObGMxOWhZM1JwZG1VaWZWMHNJQ0p6ZEdGMGRYTWlPaUFpYzNWalkyVnpjeUlzSUNKMGFYUnNaU0k2SUNKaWRXNXJaWEozWldJaUxDQWlZblYwZEc5dWN5STZJRnQ3SW1GMGRISnpJam9nZXlKa1lYUmhMWE4xWW0xcGRDMW1iM0p0SWpvZ0ludGNJa2xPVTFSQlRrTkZYMGxFWENJZ09pQmNJbUoxYm10bGNuZGxZbHdpTENCY0ltOXdaWEpoZEdsdmJsd2lJRG9nWENKeVpXeHZZV1JjSWlCOUluMHNJQ0owWlhoMElqb2dJbUZqZEdsdmJsOXlaV3h2WVdRaUxDQWlZMjlzYjNJaU9pQWlkMkZ5Ym1sdVp5SjlMQ0I3SW1GMGRISnpJam9nZXlKa1lYUmhMWE4xWW0xcGRDMW1iM0p0SWpvZ0ludGNJa2xPVTFSQlRrTkZYMGxFWENJZ09pQmNJbUoxYm10bGNuZGxZbHdpTENCY0ltOXdaWEpoZEdsdmJsd2lJRG9nWENKemRHOXdYQ0lnZlNKOUxDQWlkR1Y0ZENJNklDSmhZM1JwYjI1ZmMzUnZjQ0lzSUNKamIyeHZjaUk2SUNKbGNuSnZjaUo5WFgxOVhYMWQi

View file

@ -1,82 +0,0 @@
[
{
"type": "card",
"widgets": [
{
"type": "Tabulator",
"data": {
"id": "table-instances",
"columns": [
{ "title": "Name", "field": "name", "formatter": "text" },
{ "title": "Hostname", "field": "hostname", "formatter": "text" },
{ "title": "Type", "field": "type", "formatter": "text" },
{ "title": "Method", "field": "method", "formatter": "text" },
{
"title": "Creation date",
"field": "creation_date",
"formatter": "text"
},
{ "title": "Last seen", "field": "last_seen", "formatter": "text" },
{
"title": "Actions",
"field": "actions",
"formatter": "buttonGroup"
}
],
"items": [
{
"name": { "text": "Name" },
"hostname": { "text": "Hostname" },
"type": { "text": "Type" },
"method": { "text": "Method" },
"creation_date": { "text": "Creation date" },
"last_seen": { "text": "Last seen" }
}
],
"filters": [
{
"type": "like",
"fields": ["name", "hostname"],
"setting": {
"id": "input-search-host-name",
"name": "input-search-host-name",
"label": "Search (host)name",
"value": "",
"inpType": "input",
"columns": { "pc": 3, "tablet": 4, " mobile": 12 }
}
},
{
"type": "=",
"fields": ["type"],
"setting": {
"id": "select-type",
"name": "select-type",
"label": "Select type",
"value": "all",
"values": ["all", "type1", "type2"],
"inpType": "select",
"onlyDown": true,
"columns": { "pc": 3, "tablet": 4, " mobile": 12 }
}
},
{
"type": "=",
"fields": ["method"],
"setting": {
"id": "select-method",
"name": "select-method",
"label": "Select method",
"value": "all",
"values": ["all", "method1", "method2"],
"inpType": "select",
"onlyDown": true,
"columns": { "pc": 3, "tablet": 4, " mobile": 12 }
}
}
]
}
}
]
}
]

View file

@ -1 +0,0 @@
W3sidHlwZSI6ICJjYXJkIiwgIndpZGdldHMiOiBbeyJ0eXBlIjogIlRhYnVsYXRvciIsICJkYXRhIjogeyJpZCI6ICJ0YWJsZS1pbnN0YW5jZXMiLCAiY29sdW1ucyI6IFt7InRpdGxlIjogIk5hbWUiLCAiZmllbGQiOiAibmFtZSIsICJmb3JtYXR0ZXIiOiAidGV4dCJ9LCB7InRpdGxlIjogIkhvc3RuYW1lIiwgImZpZWxkIjogImhvc3RuYW1lIiwgImZvcm1hdHRlciI6ICJ0ZXh0In0sIHsidGl0bGUiOiAiVHlwZSIsICJmaWVsZCI6ICJ0eXBlIiwgImZvcm1hdHRlciI6ICJ0ZXh0In0sIHsidGl0bGUiOiAiTWV0aG9kIiwgImZpZWxkIjogIm1ldGhvZCIsICJmb3JtYXR0ZXIiOiAidGV4dCJ9LCB7InRpdGxlIjogIkNyZWF0aW9uIGRhdGUiLCAiZmllbGQiOiAiY3JlYXRpb25fZGF0ZSIsICJmb3JtYXR0ZXIiOiAidGV4dCJ9LCB7InRpdGxlIjogIkxhc3Qgc2VlbiIsICJmaWVsZCI6ICJsYXN0X3NlZW4iLCAiZm9ybWF0dGVyIjogInRleHQifSwgeyJ0aXRsZSI6ICJBY3Rpb25zIiwgImZpZWxkIjogImFjdGlvbnMiLCAiZm9ybWF0dGVyIjogImJ1dHRvbkdyb3VwIn1dLCAiaXRlbXMiOiBbeyJuYW1lIjogeyJ0ZXh0IjogIk5hbWUifSwgImhvc3RuYW1lIjogeyJ0ZXh0IjogIkhvc3RuYW1lIn0sICJ0eXBlIjogeyJ0ZXh0IjogIlR5cGUifSwgIm1ldGhvZCI6IHsidGV4dCI6ICJNZXRob2QifSwgImNyZWF0aW9uX2RhdGUiOiB7InRleHQiOiAiQ3JlYXRpb24gZGF0ZSJ9LCAibGFzdF9zZWVuIjogeyJ0ZXh0IjogIkxhc3Qgc2VlbiJ9fV0sICJmaWx0ZXJzIjogW3sidHlwZSI6ICJsaWtlIiwgImZpZWxkcyI6IFsibmFtZSIsICJob3N0bmFtZSJdLCAic2V0dGluZyI6IHsiaWQiOiAiaW5wdXQtc2VhcmNoLWhvc3QtbmFtZSIsICJuYW1lIjogImlucHV0LXNlYXJjaC1ob3N0LW5hbWUiLCAibGFiZWwiOiAiU2VhcmNoIChob3N0KW5hbWUiLCAidmFsdWUiOiAiIiwgImlucFR5cGUiOiAiaW5wdXQiLCAiY29sdW1ucyI6IHsicGMiOiAzLCAidGFibGV0IjogNCwgIiBtb2JpbGUiOiAxMn19fSwgeyJ0eXBlIjogIj0iLCAiZmllbGRzIjogWyJ0eXBlIl0sICJzZXR0aW5nIjogeyJpZCI6ICJzZWxlY3QtdHlwZSIsICJuYW1lIjogInNlbGVjdC10eXBlIiwgImxhYmVsIjogIlNlbGVjdCB0eXBlIiwgInZhbHVlIjogImFsbCIsICJ2YWx1ZXMiOiBbImFsbCIsICJ0eXBlMSIsICJ0eXBlMiJdLCAiaW5wVHlwZSI6ICJzZWxlY3QiLCAib25seURvd24iOiB0cnVlLCAiY29sdW1ucyI6IHsicGMiOiAzLCAidGFibGV0IjogNCwgIiBtb2JpbGUiOiAxMn19fSwgeyJ0eXBlIjogIj0iLCAiZmllbGRzIjogWyJtZXRob2QiXSwgInNldHRpbmciOiB7ImlkIjogInNlbGVjdC1tZXRob2QiLCAibmFtZSI6ICJzZWxlY3QtbWV0aG9kIiwgImxhYmVsIjogIlNlbGVjdCBtZXRob2QiLCAidmFsdWUiOiAiYWxsIiwgInZhbHVlcyI6IFsiYWxsIiwgIm1ldGhvZDEiLCAibWV0aG9kMiJdLCAiaW5wVHlwZSI6ICJzZWxlY3QiLCAib25seURvd24iOiB0cnVlLCAiY29sdW1ucyI6IHsicGMiOiAzLCAidGFibGV0IjogNCwgIiBtb2JpbGUiOiAxMn19fV19fV19XQ==

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -1,65 +0,0 @@
[
{
"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
},
"maxBtnChars": 20,
"attrs": {
"data-log": "true"
},
"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
}
}
}
}
]
}
]

View file

@ -1 +0,0 @@
W3sidHlwZSI6ICJjYXJkIiwgImNvbnRhaW5lckNvbHVtbnMiOiB7InBjIjogMTIsICJ0YWJsZXQiOiAxMiwgIm1vYmlsZSI6IDEyfSwgIndpZGdldHMiOiBbeyJ0eXBlIjogIlRpdGxlIiwgImRhdGEiOiB7InRpdGxlIjogImxvZ3NfdGl0bGUifX0sIHsidHlwZSI6ICJGaWVsZHMiLCAiZGF0YSI6IHsic2V0dGluZyI6IHsiaWQiOiAibG9ncy1zZWxlY3QtZmlsZSIsICJsYWJlbCI6ICJsb2dzX3NlbGVjdF9maWxlIiwgImlucFR5cGUiOiAic2VsZWN0IiwgIm5hbWUiOiAibG9ncy1zZWxlY3QtZmlsZSIsICJvbmx5RG93biI6IHRydWUsICJ2YWx1ZSI6ICIiLCAidmFsdWVzIjogWyJmaWxlMSIsICJmaWxlMiJdLCAiY29sdW1ucyI6IHsicGMiOiA0LCAidGFibGV0IjogNiwgIm1vYmlsZSI6IDEyfSwgIm1heEJ0bkNoYXJzIjogMjAsICJhdHRycyI6IHsiZGF0YS1sb2ciOiAidHJ1ZSJ9LCAicG9wb3ZlcnMiOiBbeyJpY29uTmFtZSI6ICJpbmZvIiwgInRleHQiOiAibG9nc19zZWxlY3RfZmlsZV9pbmZvIn1dfX19LCB7InR5cGUiOiAiRmllbGRzIiwgImRhdGEiOiB7InNldHRpbmciOiB7ImNvbnRhaW5lckNsYXNzIjogIm10LTQiLCAiaWQiOiAibG9ncy1maWxlLWNvbnRlbnQiLCAibGFiZWwiOiAibG9nc19maWxlX2NvbnRlbnQiLCAiaW5wVHlwZSI6ICJlZGl0b3IiLCAibmFtZSI6ICJsb2dzLWZpbGUtY29udGVudCIsICJ2YWx1ZSI6ICJnZWZlc2Zlc2ZzZWZlcyIsICJjb2x1bW5zIjogeyJwYyI6IDEyLCAidGFibGV0IjogMTIsICJtb2JpbGUiOiAxMn19fX1dfV0=

View file

@ -6,8 +6,6 @@ def home_builder(data: dict) -> str:
It returns the needed format from data to render the home page in JSON format for the Vue.js builder
"""
version_card = stat_widget(
link="https://panel.bunkerweb.io/?utm_campaign=self&utm_source=ui#pro",
containerColums={"pc": 4, "tablet": 6, "mobile": 12},
title="home_version",
subtitle=(
"home_all_features_available"
@ -22,7 +20,7 @@ def home_builder(data: dict) -> str:
)
)
),
subtitle_color="success" if data.get("is_pro_version") else "warning",
subtitleColor="success" if data.get("is_pro_version") else "warning",
stat=(
"home_pro"
if data.get("is_pro_version")
@ -32,51 +30,43 @@ def home_builder(data: dict) -> str:
else "home_expired" if data.get("pro_status") == "expired" else "home_suspended" if data.get("pro_status") == "suspended" else "home_free"
)
),
icon_name="crown" if data.get("is_pro_version") else "key",
iconName="crown" if data.get("is_pro_version") else "key",
)
version_num_card = stat_widget(
link="https://github.com/bunkerity/bunkerweb",
containerColums={"pc": 4, "tablet": 6, "mobile": 12},
title="home_version_number",
subtitle=(
"home_couldnt_find_remote"
if not data.get("remote_version")
else "home_latest_version" if data.get("remote_version") and data.get("check_version") else "home_update_available"
),
subtitle_color=("error" if not data.get("remote_version") else "success" if data.get("remote_version") and data.get("check_version") else "warning"),
subtitleColor=("error" if not data.get("remote_version") else "success" if data.get("remote_version") and data.get("check_version") else "warning"),
stat=data.get("version"),
icon_name="wire",
iconName="wire",
)
instances_card = stat_widget(
link="instances",
containerColums={"pc": 4, "tablet": 6, "mobile": 12},
title="home_instances",
subtitle="home_total_number",
subtitle_color="info",
subtitleColor="info",
stat=data.get("instances_number"),
icon_name="box",
iconName="box",
)
services_card = stat_widget(
link="services",
containerColums={"pc": 4, "tablet": 6, "mobile": 12},
title="home_services",
subtitle="home_all_methods_included",
subtitle_color="info",
subtitleColor="info",
stat=data.get("services_number"),
icon_name="disk",
iconName="disk",
)
plugins_card = stat_widget(
link="plugins",
containerColums={"pc": 4, "tablet": 6, "mobile": 12},
title="home_plugins",
subtitle="home_errors_found" if data.get("plugins_errors") > 0 else "home_no_error",
subtitle_color="error" if data.get("plugins_errors") > 0 else "success",
subtitleColor="error" if data.get("plugins_errors") > 0 else "success",
stat=data.get("plugins_number"),
icon_name="puzzle",
iconName="puzzle",
)
builder = [version_card, version_num_card, instances_card, services_card, plugins_card]

View file

@ -27,7 +27,6 @@ def instances_builder(instances: List[Instance]) -> str:
]
instance = instance_widget(
containerColumns={"pc": 6, "tablet": 6, "mobile": 12},
pairs=[
{"key": "instances_name", "value": instance.name},
{"key": "instances_hostname", "value": instance.hostname},

File diff suppressed because it is too large Load diff

View file

@ -1,695 +0,0 @@
[
{
"type": "modal",
"id": "modal-delete-plugin",
"widgets": [
{
"type": "Title",
"data": {
"title": "plugins_modal_delete_title",
"type": "modal"
}
},
{
"type": "Text",
"data": {
"text": "plugins_modal_delete_confirm"
}
},
{
"type": "Text",
"data": {
"text": "",
"bold": true,
"attrs": {
"data-modal-plugin-name": "true"
}
}
},
{
"type": "ButtonGroup",
"data": {
"buttons": [
{
"id": "delete-plugin-btn",
"text": "action_close",
"disabled": false,
"color": "close",
"size": "normal",
"attrs": {
"data-hide-el": "modal-delete-plugin"
}
},
{
"id": "delete-plugin-btn",
"text": "action_delete",
"disabled": false,
"color": "delete",
"size": "normal",
"attrs": {
"data-delete-plugin-submit": ""
}
}
],
"groupClass": "btn-group-modal"
}
}
]
},
{
"type": "card",
"widgets": [
{
"type": "Title",
"data": {
"title": "dashboard_plugins",
"type": "card"
}
},
{
"type": "ListDetails",
"data": {
"filters": [
{
"filter": "default",
"filterName": "keyword",
"type": "keyword",
"value": "",
"keys": ["text"],
"field": {
"id": "filter-plugin-name",
"value": "",
"type": "text",
"name": "filter-plugin-name",
"label": "plugins_search",
"placeholder": "inp_keyword",
"isClipboard": false,
"popovers": [
{
"text": "plugins_search_desc",
"iconName": "info"
}
],
"columns": {
"pc": 3,
"tablet": 4,
"mobile": 12
}
}
},
{
"filter": "default",
"filterName": "type",
"type": "select",
"value": "all",
"keys": ["type"],
"field": {
"id": "filter-plugin-type",
"value": "all",
"values": ["all", "pro", "core", "external"],
"name": "filter-plugin-type",
"onlyDown": true,
"label": "plugins_type",
"maxBtnChars": 24,
"popovers": [
{
"text": "plugins_type_desc",
"iconName": "info"
}
],
"columns": {
"pc": 3,
"tablet": 4,
"mobile": 12
}
}
}
],
"details": [
{
"text": "General",
"type": "pro",
"attrs": {
"data-plugin-id": "general",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "pro",
"data-plugin-name": "General"
},
"disabled": true,
"popovers": [
{
"text": "plugins_pro_plugin_desc",
"iconName": "crown"
}
]
},
{
"text": "Antibot",
"type": "core",
"attrs": {
"data-plugin-id": "antibot",
"data-plugin-delete": "false",
"data-plugin-redirect": "true",
"data-plugin-type": "core",
"data-plugin-name": "Antibot"
},
"disabled": false,
"popovers": [
{
"text": "plugins_redirect_page_desc",
"iconName": "redirect"
}
]
},
{
"text": "Auth basic",
"type": "core",
"attrs": {
"data-plugin-id": "authbasic",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "Auth basic"
},
"disabled": false,
"popovers": []
},
{
"text": "Backup",
"type": "pro",
"attrs": {
"data-plugin-id": "backup",
"data-plugin-delete": "false",
"data-plugin-redirect": "true",
"data-plugin-type": "pro",
"data-plugin-name": "Backup"
},
"disabled": true,
"popovers": [
{
"text": "plugins_redirect_page_desc",
"iconName": "redirect"
},
{
"text": "plugins_pro_plugin_desc",
"iconName": "crown"
}
]
},
{
"text": "Bad behavior",
"type": "external",
"attrs": {
"data-plugin-id": "badbehavior",
"data-plugin-delete": "true",
"data-plugin-redirect": "true",
"data-plugin-type": "external",
"data-plugin-name": "Bad behavior"
},
"disabled": false,
"popovers": [
{
"text": "plugins_redirect_page_desc",
"iconName": "redirect"
},
{
"text": "plugins_delete_desc",
"iconName": "trash"
}
]
},
{
"text": "Blacklist",
"type": "core",
"attrs": {
"data-plugin-id": "blacklist",
"data-plugin-delete": "false",
"data-plugin-redirect": "true",
"data-plugin-type": "core",
"data-plugin-name": "Blacklist"
},
"disabled": false,
"popovers": [
{
"text": "plugins_redirect_page_desc",
"iconName": "redirect"
}
]
},
{
"text": "Brotli",
"type": "core",
"attrs": {
"data-plugin-id": "brotli",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "Brotli"
},
"disabled": false,
"popovers": []
},
{
"text": "BunkerNet",
"type": "core",
"attrs": {
"data-plugin-id": "bunkernet",
"data-plugin-delete": "false",
"data-plugin-redirect": "true",
"data-plugin-type": "core",
"data-plugin-name": "BunkerNet"
},
"disabled": false,
"popovers": [
{
"text": "plugins_redirect_page_desc",
"iconName": "redirect"
}
]
},
{
"text": "CORS",
"type": "core",
"attrs": {
"data-plugin-id": "cors",
"data-plugin-delete": "false",
"data-plugin-redirect": "true",
"data-plugin-type": "core",
"data-plugin-name": "CORS"
},
"disabled": false,
"popovers": [
{
"text": "plugins_redirect_page_desc",
"iconName": "redirect"
}
]
},
{
"text": "Client cache",
"type": "core",
"attrs": {
"data-plugin-id": "clientcache",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "Client cache"
},
"disabled": false,
"popovers": []
},
{
"text": "Country",
"type": "core",
"attrs": {
"data-plugin-id": "country",
"data-plugin-delete": "false",
"data-plugin-redirect": "true",
"data-plugin-type": "core",
"data-plugin-name": "Country"
},
"disabled": false,
"popovers": [
{
"text": "plugins_redirect_page_desc",
"iconName": "redirect"
}
]
},
{
"text": "Custom HTTPS certificate",
"type": "core",
"attrs": {
"data-plugin-id": "customcert",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "Custom HTTPS certificate"
},
"disabled": false,
"popovers": []
},
{
"text": "DB",
"type": "core",
"attrs": {
"data-plugin-id": "db",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "DB"
},
"disabled": false,
"popovers": []
},
{
"text": "DNSBL",
"type": "core",
"attrs": {
"data-plugin-id": "dnsbl",
"data-plugin-delete": "false",
"data-plugin-redirect": "true",
"data-plugin-type": "core",
"data-plugin-name": "DNSBL"
},
"disabled": false,
"popovers": [
{
"text": "plugins_redirect_page_desc",
"iconName": "redirect"
}
]
},
{
"text": "Errors",
"type": "core",
"attrs": {
"data-plugin-id": "errors",
"data-plugin-delete": "false",
"data-plugin-redirect": "true",
"data-plugin-type": "core",
"data-plugin-name": "Errors"
},
"disabled": false,
"popovers": [
{
"text": "plugins_redirect_page_desc",
"iconName": "redirect"
}
]
},
{
"text": "Greylist",
"type": "core",
"attrs": {
"data-plugin-id": "greylist",
"data-plugin-delete": "false",
"data-plugin-redirect": "true",
"data-plugin-type": "core",
"data-plugin-name": "Greylist"
},
"disabled": false,
"popovers": [
{
"text": "plugins_redirect_page_desc",
"iconName": "redirect"
}
]
},
{
"text": "Gzip",
"type": "core",
"attrs": {
"data-plugin-id": "gzip",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "Gzip"
},
"disabled": false,
"popovers": []
},
{
"text": "HTML injection",
"type": "core",
"attrs": {
"data-plugin-id": "inject",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "HTML injection"
},
"disabled": false,
"popovers": []
},
{
"text": "Headers",
"type": "core",
"attrs": {
"data-plugin-id": "headers",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "Headers"
},
"disabled": false,
"popovers": []
},
{
"text": "Jobs",
"type": "core",
"attrs": {
"data-plugin-id": "jobs",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "Jobs"
},
"disabled": false,
"popovers": []
},
{
"text": "Let's Encrypt",
"type": "core",
"attrs": {
"data-plugin-id": "letsencrypt",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "Let's Encrypt"
},
"disabled": false,
"popovers": []
},
{
"text": "Limit",
"type": "core",
"attrs": {
"data-plugin-id": "limit",
"data-plugin-delete": "false",
"data-plugin-redirect": "true",
"data-plugin-type": "core",
"data-plugin-name": "Limit"
},
"disabled": false,
"popovers": [
{
"text": "plugins_redirect_page_desc",
"iconName": "redirect"
}
]
},
{
"text": "Metrics",
"type": "core",
"attrs": {
"data-plugin-id": "metrics",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "Metrics"
},
"disabled": false,
"popovers": []
},
{
"text": "Miscellaneous",
"type": "core",
"attrs": {
"data-plugin-id": "misc",
"data-plugin-delete": "false",
"data-plugin-redirect": "true",
"data-plugin-type": "core",
"data-plugin-name": "Miscellaneous"
},
"disabled": false,
"popovers": [
{
"text": "plugins_redirect_page_desc",
"iconName": "redirect"
}
]
},
{
"text": "ModSecurity",
"type": "core",
"attrs": {
"data-plugin-id": "modsecurity",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "ModSecurity"
},
"disabled": false,
"popovers": []
},
{
"text": "PHP",
"type": "core",
"attrs": {
"data-plugin-id": "php",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "PHP"
},
"disabled": false,
"popovers": []
},
{
"text": "Pro",
"type": "core",
"attrs": {
"data-plugin-id": "pro",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "Pro"
},
"disabled": false,
"popovers": []
},
{
"text": "Real IP",
"type": "core",
"attrs": {
"data-plugin-id": "realip",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "Real IP"
},
"disabled": false,
"popovers": []
},
{
"text": "Redirect",
"type": "core",
"attrs": {
"data-plugin-id": "redirect",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "Redirect"
},
"disabled": false,
"popovers": []
},
{
"text": "Redis",
"type": "core",
"attrs": {
"data-plugin-id": "redis",
"data-plugin-delete": "false",
"data-plugin-redirect": "true",
"data-plugin-type": "core",
"data-plugin-name": "Redis"
},
"disabled": false,
"popovers": [
{
"text": "plugins_redirect_page_desc",
"iconName": "redirect"
}
]
},
{
"text": "Reverse proxy",
"type": "core",
"attrs": {
"data-plugin-id": "reverseproxy",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "Reverse proxy"
},
"disabled": false,
"popovers": []
},
{
"text": "Reverse scan",
"type": "core",
"attrs": {
"data-plugin-id": "reversescan",
"data-plugin-delete": "false",
"data-plugin-redirect": "true",
"data-plugin-type": "core",
"data-plugin-name": "Reverse scan"
},
"disabled": false,
"popovers": [
{
"text": "plugins_redirect_page_desc",
"iconName": "redirect"
}
]
},
{
"text": "Self-signed certificate",
"type": "core",
"attrs": {
"data-plugin-id": "selfsigned",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "Self-signed certificate"
},
"disabled": false,
"popovers": []
},
{
"text": "Sessions",
"type": "core",
"attrs": {
"data-plugin-id": "sessions",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "Sessions"
},
"disabled": false,
"popovers": []
},
{
"text": "UI",
"type": "core",
"attrs": {
"data-plugin-id": "ui",
"data-plugin-delete": "false",
"data-plugin-redirect": "false",
"data-plugin-type": "core",
"data-plugin-name": "UI"
},
"disabled": false,
"popovers": []
},
{
"text": "Whitelist",
"type": "core",
"attrs": {
"data-plugin-id": "whitelist",
"data-plugin-delete": "false",
"data-plugin-redirect": "true",
"data-plugin-type": "core",
"data-plugin-name": "Whitelist"
},
"disabled": false,
"popovers": [
{
"text": "plugins_redirect_page_desc",
"iconName": "redirect"
}
]
}
],
"columns": {
"pc": 4,
"tablet": 6,
"mobile": 12
}
}
}
]
}
]

View file

@ -1,400 +0,0 @@
[
{
"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

View file

@ -1 +0,0 @@
W3sidHlwZSI6ICJjYXJkIiwgImNvbnRhaW5lckNvbHVtbnMiOiB7InBjIjogMTIsICJ0YWJsZXQiOiAxMiwgIm1vYmlsZSI6IDEyfSwgIndpZGdldHMiOiBbeyJ0eXBlIjogIlRpdGxlIiwgImRhdGEiOiB7InRpdGxlIjogImdsb2JhbF9jb25maWdfdGl0bGUiLCAidHlwZSI6ICJjb250YWluZXIifX0sIHsidHlwZSI6ICJTdWJ0aXRsZSIsICJkYXRhIjogeyJzdWJ0aXRsZSI6ICJnbG9iYWxfY29uZmlnX3N1YnRpdGxlIiwgInR5cGUiOiAiY29udGFpbmVyIn19LCB7InR5cGUiOiAiVGVtcGxhdGVzIiwgImRhdGEiOiB7InRlbXBsYXRlcyI6IHsiciI6IHt9LCAiYSI6IHt9LCAidyI6IHt9fX19XX1d

View file

@ -1,571 +0,0 @@
[
{
"type": "card",
"containerColumns": {
"pc": 4,
"tablet": 6,
"mobile": 12
},
"widgets": [
{
"type": "Title",
"data": {
"title": "dashboard_details"
}
},
{
"type": "ListPairs",
"data": {
"pairs": [
{
"key": "reports_total",
"value": "200"
},
{
"key": "reports_top_status",
"value": "400"
},
{
"key": "reports_top_reason",
"value": "antibot"
}
]
}
}
]
},
{
"type": "card",
"containerColumns": {
"pc": 12,
"tablet": 12,
"mobile": 12
},
"widgets": [
{
"type": "Title",
"data": {
"title": "reports_title"
}
},
{
"type": "Table",
"data": {
"title": "reports_table_title",
"minWidth": "xl",
"header": [
"reports_table_date",
"reports_table_ip",
"reports_table_country",
"reports_table_method",
"reports_table_url",
"reports_table_status_code",
"reports_table_cache_user_agent",
"reports_table_reason",
"reports_table_data"
],
"positions": [1, 1, 1, 1, 2, 1, 2, 1, 2],
"items": [
[
{
"date": "25/06/2024 07:40:23",
"type": "Text",
"data": {
"text": "25/06/2024 07:40:23"
}
},
{
"ip": "172.21.0.1",
"type": "Text",
"data": {
"text": "172.21.0.1"
}
},
{
"country": "local",
"type": "Text",
"data": {
"text": "local"
}
},
{
"method": "GET",
"type": "Text",
"data": {
"text": "GET"
}
},
{
"url": "/admin/login?id=etc/passwd",
"type": "Text",
"data": {
"text": "/admin/login?id=etc/passwd"
}
},
{
"code": "403",
"type": "Text",
"data": {
"text": "403"
}
},
{
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
"type": "Text",
"data": {
"text": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
}
},
{
"reason": "modsecurity",
"type": "Text",
"data": {
"text": "modsecurity"
}
},
{
"raw_data": "{\"fesfesfsefesfesfesfesfesfesfesfesfesfsefes\": \"fesfs\"}",
"type": "Text",
"data": {
"text": "{\"fesfesfsefesfesfesfesfesfesfesfesfesfsefes\": \"fesfs\"}"
}
}
],
[
{
"date": "25/06/2024 07:40:23",
"type": "Text",
"data": {
"text": "25/06/2024 07:40:23"
}
},
{
"ip": "111111",
"type": "Text",
"data": {
"text": "111111"
}
},
{
"country": "fr",
"type": "Text",
"data": {
"text": "fr"
}
},
{
"method": "POST",
"type": "Text",
"data": {
"text": "POST"
}
},
{
"url": "/admin/login?id=e",
"type": "Text",
"data": {
"text": "/admin/login?id=e"
}
},
{
"code": "403",
"type": "Text",
"data": {
"text": "403"
}
},
{
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
"type": "Text",
"data": {
"text": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
}
},
{
"reason": " antibot",
"type": "Text",
"data": {
"text": " antibot"
}
},
{
"raw_data": "{}",
"type": "Text",
"data": {
"text": "{}"
}
}
],
[
{
"date": "25/06/2024 07:40:23",
"type": "Text",
"data": {
"text": "25/06/2024 07:40:23"
}
},
{
"ip": "111111",
"type": "Text",
"data": {
"text": "111111"
}
},
{
"country": "fr",
"type": "Text",
"data": {
"text": "fr"
}
},
{
"method": "POST",
"type": "Text",
"data": {
"text": "POST"
}
},
{
"url": "/admin/login?id=e",
"type": "Text",
"data": {
"text": "/admin/login?id=e"
}
},
{
"code": "403",
"type": "Text",
"data": {
"text": "403"
}
},
{
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
"type": "Text",
"data": {
"text": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
}
},
{
"reason": " antibot",
"type": "Text",
"data": {
"text": " antibot"
}
},
{
"raw_data": "{}",
"type": "Text",
"data": {
"text": "{}"
}
}
],
[
{
"date": "25/06/2024 07:40:23",
"type": "Text",
"data": {
"text": "25/06/2024 07:40:23"
}
},
{
"ip": "111111",
"type": "Text",
"data": {
"text": "111111"
}
},
{
"country": "fr",
"type": "Text",
"data": {
"text": "fr"
}
},
{
"method": "POST",
"type": "Text",
"data": {
"text": "POST"
}
},
{
"url": "/admin/login?id=e",
"type": "Text",
"data": {
"text": "/admin/login?id=e"
}
},
{
"code": "403",
"type": "Text",
"data": {
"text": "403"
}
},
{
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
"type": "Text",
"data": {
"text": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
}
},
{
"reason": " antibot",
"type": "Text",
"data": {
"text": " antibot"
}
},
{
"raw_data": "{}",
"type": "Text",
"data": {
"text": "{}"
}
}
],
[
{
"date": "25/06/2024 07:40:23",
"type": "Text",
"data": {
"text": "25/06/2024 07:40:23"
}
},
{
"ip": "111111",
"type": "Text",
"data": {
"text": "111111"
}
},
{
"country": "fr",
"type": "Text",
"data": {
"text": "fr"
}
},
{
"method": "POST",
"type": "Text",
"data": {
"text": "POST"
}
},
{
"url": "/admin/login?id=e",
"type": "Text",
"data": {
"text": "/admin/login?id=e"
}
},
{
"code": "403",
"type": "Text",
"data": {
"text": "403"
}
},
{
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
"type": "Text",
"data": {
"text": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
}
},
{
"reason": " antibot",
"type": "Text",
"data": {
"text": " antibot"
}
},
{
"raw_data": "{}",
"type": "Text",
"data": {
"text": "{}"
}
}
],
[
{
"date": "25/06/2024 07:40:23",
"type": "Text",
"data": {
"text": "25/06/2024 07:40:23"
}
},
{
"ip": "111111",
"type": "Text",
"data": {
"text": "111111"
}
},
{
"country": "fr",
"type": "Text",
"data": {
"text": "fr"
}
},
{
"method": "POST",
"type": "Text",
"data": {
"text": "POST"
}
},
{
"url": "/admin/login?id=e",
"type": "Text",
"data": {
"text": "/admin/login?id=e"
}
},
{
"code": "403",
"type": "Text",
"data": {
"text": "403"
}
},
{
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
"type": "Text",
"data": {
"text": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
}
},
{
"reason": " antibot",
"type": "Text",
"data": {
"text": " antibot"
}
},
{
"raw_data": "{}",
"type": "Text",
"data": {
"text": "{}"
}
}
]
],
"filters": [
{
"filter": "table",
"filterName": "keyword",
"type": "keyword",
"value": "",
"keys": ["url", "ip", "date", "user_agent", "raw_data"],
"field": {
"id": "reports-keyword",
"value": "",
"type": "text",
"name": "reports-keyword",
"label": "reports_search",
"placeholder": "inp_keyword",
"isClipboard": false,
"popovers": [
{
"text": "reports_search_desc",
"iconName": "info"
}
],
"columns": {
"pc": 3,
"tablet": 4,
"mobile": 12
}
}
},
{
"filter": "table",
"filterName": "country",
"type": "select",
"value": "all",
"keys": ["country"],
"field": {
"id": "reports-country",
"value": "all",
"values": ["all", "local", "fr"],
"name": "reports-country",
"onlyDown": true,
"label": "reports_country",
"popovers": [
{
"text": "reports_country_desc",
"iconName": "info"
}
],
"columns": {
"pc": 3,
"tablet": 4,
"mobile": 12
}
}
},
{
"filter": "table",
"filterName": "method",
"type": "select",
"value": "all",
"keys": ["method"],
"field": {
"id": "reports-method",
"value": "all",
"values": ["all", "GET", "POST"],
"name": "reports-method",
"onlyDown": true,
"label": "reports_method",
"popovers": [
{
"text": "reports_method_desc",
"iconName": "info"
}
],
"columns": {
"pc": 3,
"tablet": 4,
"mobile": 12
}
}
},
{
"filter": "table",
"filterName": "reason",
"type": "select",
"value": "all",
"keys": ["reason"],
"field": {
"id": "reports-reason",
"value": "all",
"values": ["all", "modsecurity", " antibot"],
"name": "reports-reason",
"onlyDown": true,
"label": "reports_reason",
"popovers": [
{
"text": "reports_reason_desc",
"iconName": "info"
}
],
"columns": {
"pc": 3,
"tablet": 4,
"mobile": 12
}
}
}
]
}
}
]
}
]

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

View file

@ -20,7 +20,7 @@ import Icons from "@components/Widget/Icons.vue";
* subtitleColor: "info",
* }
* @param {string} title - The title of the stat. Can be a translation key or by default raw text.
* @param {string|number} value - The value of the stat
* @param {string|number} stat - The value
* @param {string} [subtitle=""] - The subtitle of the stat. Can be a translation key or by default raw text.
* @param {string} [iconName=""] - A top-right icon to display between icon available in Icons/Stat. Case falsy value, no icon displayed. The icon name is the name of the file without the extension on lowercase.
* @param {string} [subtitleColor="info"] - The color of the subtitle between error, success, warning, info

View file

@ -1,4 +1,4 @@
<!doctype html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
@ -19,7 +19,7 @@
></div>
<div
class="hidden"
data-server-builder="W3sidHlwZSI6ICJjYXJkIiwgImxpbmsiOiAiaHR0cHM6Ly9wYW5lbC5idW5rZXJ3ZWIuaW8vP3V0bV9jYW1wYWlnbj1zZWxmJnV0bV9zb3VyY2U9dWkjcHJvIiwgImNvbnRhaW5lckNvbHVtbnMiOiB7InBjIjogNCwgInRhYmxldCI6IDYsICJtb2JpbGUiOiAxMn0sICJ3aWRnZXRzIjogW3sidHlwZSI6ICJTdGF0IiwgImRhdGEiOiB7InRpdGxlIjogImhvbWVfdmVyc2lvbiIsICJzdWJ0aXRsZSI6ICJob21lX3VwZ3JhZGVfdG9fcHJvIiwgInN1YnRpdGxlQ29sb3IiOiAid2FybmluZyIsICJzdGF0IjogImhvbWVfZnJlZSIsICJpY29uTmFtZSI6ICJrZXkifX1dfSwgeyJ0eXBlIjogImNhcmQiLCAibGluayI6ICJodHRwczovL2dpdGh1Yi5jb20vYnVua2VyaXR5L2J1bmtlcndlYiIsICJjb250YWluZXJDb2x1bW5zIjogeyJwYyI6IDQsICJ0YWJsZXQiOiA2LCAibW9iaWxlIjogMTJ9LCAid2lkZ2V0cyI6IFt7InR5cGUiOiAiU3RhdCIsICJkYXRhIjogeyJ0aXRsZSI6ICJob21lX3ZlcnNpb25fbnVtYmVyIiwgInN1YnRpdGxlIjogImhvbWVfdXBkYXRlX2F2YWlsYWJsZSIsICJzdWJ0aXRsZUNvbG9yIjogIndhcm5pbmciLCAic3RhdCI6ICIxLjUuOCIsICJpY29uTmFtZSI6ICJ3aXJlIn19XX0sIHsidHlwZSI6ICJjYXJkIiwgImxpbmsiOiAiL2luc3RhbmNlcyIsICJjb250YWluZXJDb2x1bW5zIjogeyJwYyI6IDQsICJ0YWJsZXQiOiA2LCAibW9iaWxlIjogMTJ9LCAid2lkZ2V0cyI6IFt7InR5cGUiOiAiU3RhdCIsICJkYXRhIjogeyJ0aXRsZSI6ICJob21lX2luc3RhbmNlcyIsICJzdWJ0aXRsZSI6ICJob21lX3RvdGFsX251bWJlciIsICJzdWJ0aXRsZUNvbG9yIjogImluZm8iLCAic3RhdCI6IDEsICJpY29uTmFtZSI6ICJib3gifX1dfSwgeyJ0eXBlIjogImNhcmQiLCAibGluayI6ICIvc2VydmljZXMiLCAiY29udGFpbmVyQ29sdW1ucyI6IHsicGMiOiA0LCAidGFibGV0IjogNiwgIm1vYmlsZSI6IDEyfSwgIndpZGdldHMiOiBbeyJ0eXBlIjogIlN0YXQiLCAiZGF0YSI6IHsidGl0bGUiOiAiaG9tZV9zZXJ2aWNlcyIsICJzdWJ0aXRsZSI6ICJob21lX2FsbF9tZXRob2RzX2luY2x1ZGVkIiwgInN1YnRpdGxlQ29sb3IiOiAiaW5mbyIsICJzdGF0IjogMiwgImljb25OYW1lIjogImRpc2sifX1dfSwgeyJ0eXBlIjogImNhcmQiLCAibGluayI6ICIvcGx1Z2lucyIsICJjb250YWluZXJDb2x1bW5zIjogeyJwYyI6IDQsICJ0YWJsZXQiOiA2LCAibW9iaWxlIjogMTJ9LCAid2lkZ2V0cyI6IFt7InR5cGUiOiAiU3RhdCIsICJkYXRhIjogeyJ0aXRsZSI6ICJob21lX3BsdWdpbnMiLCAic3VidGl0bGUiOiAiaG9tZV9ub19lcnJvciIsICJzdWJ0aXRsZUNvbG9yIjogInN1Y2Nlc3MiLCAic3RhdCI6ICI0MiIsICJpY29uTmFtZSI6ICJwdXp6bGUifX1dfV0"
data-server-builder="W3sidHlwZSI6ICJTdGF0IiwgImRhdGEiOiB7InRpdGxlIjogImhvbWVfdmVyc2lvbiIsICJzdGF0IjogImhvbWVfZnJlZSIsICJzdWJ0aXRsZSI6ICJob21lX3VwZ3JhZGVfdG9fcHJvIiwgImljb25OYW1lIjogImtleSIsICJzdWJ0aXRsZUNvbG9yIjogIndhcm5pbmcifX0sIHsidHlwZSI6ICJTdGF0IiwgImRhdGEiOiB7InRpdGxlIjogImhvbWVfdmVyc2lvbl9udW1iZXIiLCAic3RhdCI6ICIxLjYuMC1iZXRhIiwgInN1YnRpdGxlIjogImhvbWVfdXBkYXRlX2F2YWlsYWJsZSIsICJpY29uTmFtZSI6ICJ3aXJlIiwgInN1YnRpdGxlQ29sb3IiOiAid2FybmluZyJ9fSwgeyJ0eXBlIjogIlN0YXQiLCAiZGF0YSI6IHsidGl0bGUiOiAiaG9tZV9pbnN0YW5jZXMiLCAic3RhdCI6IDEsICJzdWJ0aXRsZSI6ICJob21lX3RvdGFsX251bWJlciIsICJpY29uTmFtZSI6ICJib3gifX0sIHsidHlwZSI6ICJTdGF0IiwgImRhdGEiOiB7InRpdGxlIjogImhvbWVfc2VydmljZXMiLCAic3RhdCI6IDIsICJzdWJ0aXRsZSI6ICJob21lX2FsbF9tZXRob2RzX2luY2x1ZGVkIiwgImljb25OYW1lIjogImRpc2sifX0sIHsidHlwZSI6ICJTdGF0IiwgImRhdGEiOiB7InRpdGxlIjogImhvbWVfcGx1Z2lucyIsICJzdGF0IjogMzgsICJzdWJ0aXRsZSI6ICJob21lX25vX2Vycm9yIiwgImljb25OYW1lIjogInB1enpsZSIsICJzdWJ0aXRsZUNvbG9yIjogInN1Y2Nlc3MifX1d"
></div>
<div id="app"></div>
<script type="module" src="home.js"></script>

View file

@ -1,13 +1,14 @@
from os import cpu_count
from os.path import abspath
from pathlib import Path
from subprocess import PIPE, Popen
from threading import Semaphore, Thread
from traceback import format_exc
from typing import List
from shutil import rmtree
from re import search, sub
from typing import Union
from time import sleep
from utils import run_command
# We want to get path of the folder where our components are
@ -67,35 +68,55 @@ def vue2js():
dest.write_text(script)
#
# def js2md():
# """Run a command to render markdown from JS files"""
# semaphore = Semaphore(cpu_count())
# def convert_json_to_md(file: Path):
# semaphore.acquire()
# # Run the command
# output = run_command(["documentation", "build", file.as_posix(), "-f", "md"], with_output=True)
# if output == 1:
# print("Error while running command", flush=True)
# exit(1)
# # Create a new file with the same name but with .md extension
# file.with_suffix(".md").write_text(output)
# semaphore.release()
# threads = []
# # Create a markdown file for each JS file
# for file in Path(outputFolderMd).rglob("*"):
# threads.append(Thread(target=convert_json_to_md, args=(file,)))
# for thread in threads:
# thread.start()
# for thread in threads:
# thread.join()
# # Remove js files after
# # rmtree(outputFolderMd, ignore_errors=True)
def js2md():
"""Run a command to render markdown from JS files"""
semaphore = Semaphore(cpu_count())
def convert_json_to_md(file: Path):
semaphore.acquire()
# Run the command
output = run_command(["documentation", "build", file.as_posix(), "-f", "md"], with_output=True)
if output == 1:
print("Error while running command", flush=True)
exit(1)
# Create a new file with the same name but with .md extension
file.with_suffix(".md").write_text(output)
semaphore.release()
threads = []
# Get all files from the output folder
files = list(Path(outputFolderMd).rglob("*"))
process_list = []
# Create a markdown file for each JS file
for file in Path(outputFolderMd).rglob("*"):
threads.append(Thread(target=convert_json_to_md, args=(file,)))
for file in files:
# Run a process `documentation build <filename> -f md > <filename>.md
command = f"documentation build {file} -f md > {file.with_suffix('.md')}"
# Run the command
# I want to run this command async
process = Popen(command, stdout=PIPE, stderr=PIPE, shell=True, text=True)
process_list.append(process)
for thread in threads:
thread.start()
for thread in threads:
thread.join()
# Remove js files after
# rmtree(outputFolderMd, ignore_errors=True)
# Wait that all processes are done
for process in process_list:
process.wait()
def formatMd():
@ -432,4 +453,4 @@ js2md()
formatMd()
md2py()
merge_widgets()
# reset()
reset()