bunkerweb 1.4.0
This commit is contained in:
@@ -1,77 +1,130 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="row justify-content-center">
|
||||
|
||||
{% if operation != "" %}
|
||||
<div class="col col-12">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col col-12 col-lg-4">
|
||||
<div class="alert alert-primary alert-dismissible fade show text-break" role="alert">
|
||||
{{ operation }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="col col-12 mb-3">
|
||||
<button class="btn btn-success" data-bs-toggle="modal" data-bs-target="#modal-new"><i class="fas fa-plus"></i> New</button>
|
||||
</div>
|
||||
|
||||
{% if services|length == 0 %}
|
||||
<div class="col col-12 alert alert-primary text-center">
|
||||
No service to show...
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% for service in services %}
|
||||
|
||||
{% set id_server_name = service["SERVER_NAME"].replace(".", "-") %}
|
||||
|
||||
<div class="col col-12 col-lg-6">
|
||||
<div class="card border-primary mb-3" style="max-width: 80rem;">
|
||||
<div class="card-header border-primary bg-primary text-white">
|
||||
{{ service["SERVER_NAME"] }}
|
||||
<button class="btn btn-sm ms-2 float-end btn-light" data-bs-toggle="modal" data-bs-target="#modal-delete-id-{{ id_server_name }}"><i class="fas fa-trash-alt"></i></button>
|
||||
<button class="btn btn-sm mx-2 float-end btn-light" data-bs-toggle="modal" data-bs-target="#modal-edit-id-{{ id_server_name }}"><i class="fas fa-edit"></i></button>
|
||||
<a class="btn btn-sm mx-2 float-end btn-light" href="http://{{ service["SERVER_NAME"] }}" target="_blank"><i class="fas fa-eye"></i></a>
|
||||
</div>
|
||||
<div class="card-body text-dark">
|
||||
<h5 class="card-title">Summary</h5>
|
||||
<span class="card-text">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col col-6">Reverse proxy</div>
|
||||
<div class="col col-6 text-center"><i class="fas fa-{{ env_to_summary_class(service["USE_REVERSE_PROXY"], "yes") }}"></i></div>
|
||||
<div class="col col-6">Serve files</div>
|
||||
<div class="col col-6 text-center"><i class="fas fa-{{ env_to_summary_class(service["SERVE_FILES"], "yes") }}"></i></div>
|
||||
<div class="col col-6">Remote PHP</div>
|
||||
<div class="col col-6 text-center"><i class="fas fa-{{ env_to_summary_class(service["REMOTE_PHP"], ".+") }}"></i></div>
|
||||
<div class="col col-6">HTTPS</div>
|
||||
<div class="col col-6 text-center"><i class="fas fa-{{ env_to_summary_class([service["AUTO_LETS_ENCRYPT"], service["USE_CUSTOM_HTTPS"], service["GENERATE_SELF_SIGNED_SSL"]], ["yes", "yes", "yes"]) }}"></i></div>
|
||||
<div class="col col-6">ModSecurity</div>
|
||||
<div class="col col-6 text-center"><i class="fas fa-{{ env_to_summary_class(service["USE_MODSECURITY"], "yes") }}"></i></div>
|
||||
<div class="col col-6">Bad behavior</div>
|
||||
<div class="col col-6 text-center"><i class="fas fa-{{ env_to_summary_class(service["USE_BAD_BEHAVIOR"], "yes") }}"></i></div>
|
||||
<div class="col col-6">Limit req</div>
|
||||
<div class="col col-6 text-center"><i class="fas fa-{{ env_to_summary_class(service["USE_LIMIT_REQ"], "yes") }}"></i></div>
|
||||
<div class="col col-6">DNSBL</div>
|
||||
<div class="col col-6 text-center"><i class="fas fa-{{ env_to_summary_class(service["USE_DNSBL"], "yes") }}"></i></div>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "services-edit.html" %}
|
||||
{% include "services-delete.html" %}
|
||||
|
||||
{% endfor %}
|
||||
|
||||
{% include "services-new.html" %}
|
||||
{% extends "base.html" %} {% block content %}
|
||||
<div class="container mt-3 mb-3">
|
||||
<div class="col col-12 mb-3 align-items-center text-center">
|
||||
<button
|
||||
class="btn btn-outline-success"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#modal-new"
|
||||
>
|
||||
New <i class="fa-solid fa-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
{% if services|length == 0 %}
|
||||
<div class="row justify-content-center">
|
||||
<div class="col col-12 alert alert-primary text-center">
|
||||
No service to show...
|
||||
</div>
|
||||
</div>
|
||||
<div class="my-5 py-5"></div>
|
||||
{% else %} {% for services_batched in services|batch(3) %}
|
||||
<div class="row">
|
||||
{% for service in services_batched %} {% set id_server_name =
|
||||
service["SERVER_NAME"].replace(".", "-") %}
|
||||
<div class="col-lg-6 mb-2 px-2">
|
||||
<div class="card mb-2">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="flex-grow-1">
|
||||
<div class="ms-2 c-details">
|
||||
<h6 class="mb-0">{{ service["SERVER_NAME"] }}</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-sm-flex align-items-center">
|
||||
<div class="badge dropdown px-1">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-outline-secondary"
|
||||
id="dropdownInfoButton"
|
||||
data-bs-toggle="dropdown"
|
||||
aria-expanded="false"
|
||||
>
|
||||
<i class="fa-solid fa-circle-info"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu" aria-labelledby="dropdownInfoButton">
|
||||
<li>
|
||||
Reverse proxy
|
||||
<i
|
||||
class="fas fa-{{ env_to_summary_class(service['USE_REVERSE_PROXY'], 'yes') }} float-end"
|
||||
></i>
|
||||
</li>
|
||||
<li>
|
||||
Serve files
|
||||
<i
|
||||
class="fas fa-{{ env_to_summary_class(service['SERVE_FILES'], 'yes') }} float-end"
|
||||
></i>
|
||||
</li>
|
||||
<li>
|
||||
Remote PHP
|
||||
<i
|
||||
class="fas fa-{{ env_to_summary_class(service['REMOTE_PHP'], '.+') }} float-end"
|
||||
></i>
|
||||
</li>
|
||||
<li>
|
||||
HTTPS
|
||||
<i
|
||||
class="fas fa-{{ env_to_summary_class([service['AUTO_LETS_ENCRYPT'], service['USE_CUSTOM_HTTPS'], service['GENERATE_SELF_SIGNED_SSL']], ['yes', 'yes', 'yes']) }} float-end"
|
||||
></i>
|
||||
</li>
|
||||
<li>
|
||||
ModSecurity
|
||||
<i
|
||||
class="fas fa-{{ env_to_summary_class(service['USE_MODSECURITY'], 'yes') }} float-end"
|
||||
></i>
|
||||
</li>
|
||||
<li>
|
||||
Bad Behavior
|
||||
<i
|
||||
class="fas fa-{{ env_to_summary_class(service['USE_BAD_BEHAVIOR'], 'yes') }} float-end"
|
||||
></i>
|
||||
</li>
|
||||
<li>
|
||||
Limit req
|
||||
<i
|
||||
class="fas fa-{{ env_to_summary_class(service['USE_LIMIT_REQ'], 'yes') }} float-end"
|
||||
></i>
|
||||
</li>
|
||||
<li>
|
||||
DNSBL
|
||||
<i
|
||||
class="fas fa-{{ env_to_summary_class(service['USE_DNSBL'], 'yes') }} float-end"
|
||||
></i>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="badge px-1">
|
||||
<a href="http://{{ service['SERVER_NAME'] }}" target="_blank">
|
||||
<button type="button" class="btn btn-outline-primary">
|
||||
<i class="fa-solid fa-arrow-up-right-from-square"></i>
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
<div class="badge px-1">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-outline-secondary"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#modal-edit-id-{{ id_server_name }}"
|
||||
>
|
||||
<i class="fa-solid fa-sliders fa-rotate-90"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="badge px-1">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-outline-danger"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#modal-delete-id-{{ id_server_name }}"
|
||||
>
|
||||
<i class="fa-solid fa-trash-can"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "services-edit.html" %} {% include "services-delete.html" %} {%
|
||||
endfor %}
|
||||
</div>
|
||||
{% endfor %} {% endif %} {% include "services-new.html" %}
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user