mirror of
https://github.com/pommee/goaway.git
synced 2026-02-25 11:48:58 -06:00
265 lines
10 KiB
HTML
265 lines
10 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<title>goaway</title>
|
|
<link rel="icon" type="image/x-icon" href="/static/favicon.png" />
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css" />
|
|
<link href="https://fonts.googleapis.com/css?family=JetBrains+Mono" rel="stylesheet" />
|
|
<link rel="stylesheet" href="/static/css/style.css" />
|
|
<link rel="stylesheet" href="/static/css/settings.css" />
|
|
<style></style>
|
|
</head>
|
|
|
|
<body>
|
|
<div id="sidenav" class="sidenav">
|
|
<div class="sidenav-content">
|
|
<div class="top-section">
|
|
<img id="logo" src="/static/logo.png" />
|
|
<div>
|
|
<p class="top-section-header">goaway</p>
|
|
<p class="top-section-text">Be gone!</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="system-metrics">
|
|
<div class="metric" title="Total system CPU usage">
|
|
<i class="fa-solid fa-microchip"></i>
|
|
<span id="cpu-usage"></span>
|
|
</div>
|
|
<div class="metric" title="CPU temperature">
|
|
<i class="fa-solid fa-temperature-half"></i>
|
|
<span id="cpu-temp"></span>
|
|
</div>
|
|
<div class="metric" title="Total memory usage">
|
|
<i class="fa-solid fa-memory"></i>
|
|
<span id="mem-usage"></span>
|
|
</div>
|
|
<div class="metric" title="Database Size">
|
|
<i class="fa-solid fa-database"></i>
|
|
<span id="db-usage"></span>
|
|
</div>
|
|
</div>
|
|
|
|
<nav class="nav-links">
|
|
<a href="./index.html">
|
|
<i class="icon fa-solid fa-house-user"></i>
|
|
<span>Dashboard</span>
|
|
</a>
|
|
<a href="./logs.html">
|
|
<i class="icon fa-solid fa-list"></i>
|
|
<span>Logs</span>
|
|
</a>
|
|
<a href="./domains.html">
|
|
<i class="icon fa-solid fa-server"></i>
|
|
<span>Domains</span>
|
|
</a>
|
|
<a href="./lists.html">
|
|
<i class="icon fa-solid fa-seedling"></i>
|
|
<span>Lists</span>
|
|
</a>
|
|
<a href="./upstream.html">
|
|
<i class="icon fa-solid fa-up-right-and-down-left-from-center"></i>
|
|
<span>Upstream</span>
|
|
</a>
|
|
<a href="./clients.html">
|
|
<i class="icon fa-solid fa-users"></i>
|
|
<span>Clients</span>
|
|
</a>
|
|
<a class="selected" href="#">
|
|
<i class="icon fa-solid fa-gears"></i>
|
|
<span>Settings</span>
|
|
</a>
|
|
</nav>
|
|
|
|
<div class="bottom-links">
|
|
<a href="#" id="logout">
|
|
<i class="icon fa-solid fa-user-xmark"></i>
|
|
<span>Logout</span>
|
|
</a>
|
|
<a href="https://github.com/pommee/goaway" target="_blank" id="github-link">
|
|
<i class="icon fa-brands fa-github"></i>
|
|
<span>GitHub</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Main content area -->
|
|
<div id="main">
|
|
<h2>Admin panel</h2>
|
|
<div class="settings-list">
|
|
<div class="setting-item">
|
|
<div class="label-container">
|
|
<label for="setting-1">Enable Dark Mode [WIP]</label>
|
|
<label class="toggle">
|
|
<input type="checkbox" id="darkMode" />
|
|
<span class="slider"></span>
|
|
</label>
|
|
</div>
|
|
<p class="setting-explanation">Enables or disables dark mode
|
|
for the application.</p>
|
|
</div>
|
|
|
|
<div class="setting-item">
|
|
<button id="change-password-btn">Change Password</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="password-modal" class="modal">
|
|
<div class="modal-content">
|
|
<h2>Change Password</h2>
|
|
<input type="password" id="currentPassword" placeholder="Current Password" />
|
|
<input type="password" id="newPassword" placeholder="New Password" />
|
|
<input type="password" id="confirmPassword" placeholder="Confirm New Password" />
|
|
<div id="password-error"></div>
|
|
<div class="modal-buttons">
|
|
<button id="save-password-btn">Save</button>
|
|
<button id="cancel-password-btn">Cancel</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<h2>Logging | Statistics</h2>
|
|
<div class="settings-list">
|
|
<div class="setting-item">
|
|
<div class="label-container">
|
|
<label for="setting-5">Disable Logging</label>
|
|
<label class="toggle">
|
|
<input type="checkbox" id="disableLogging" />
|
|
<span class="slider"></span>
|
|
</label>
|
|
</div>
|
|
<p class="setting-explanation">Toggle logs in the container.
|
|
Default is false.</p>
|
|
</div>
|
|
|
|
<div class="setting-item">
|
|
<div class="label-container">
|
|
<label for="logLevel" class="setting-label">Log
|
|
Level</label>
|
|
<select id="logLevel">
|
|
<option value="debug">Debug</option>
|
|
<option value="info">Info</option>
|
|
<option value="warn">Warn</option>
|
|
<option value="error">Error</option>
|
|
</select>
|
|
</div>
|
|
<p class="setting-explanation">
|
|
Different log levels produce different amounts of logs.
|
|
Default is <strong>Info</strong>.
|
|
</p>
|
|
<p class="setting-note">
|
|
<i class="fa-solid fa-circle-info"></i> Setting this to
|
|
<strong>Debug</strong> can produce large
|
|
amounts of logs.
|
|
</p>
|
|
</div>
|
|
|
|
<div class="setting-item">
|
|
<div class="label-container">
|
|
<label for="logLevel" class="setting-label">Statistics
|
|
Retention</label>
|
|
<select id="statisticsRetention">
|
|
<option value="1">1</option>
|
|
<option value="7">7</option>
|
|
<option value="30">30</option>
|
|
<option value="90">90</option>
|
|
</select>
|
|
</div>
|
|
<p class="setting-explanation">
|
|
Period of time (in days) to keep statistics, i.e logs,
|
|
recorded
|
|
requests, clients and more. Default is <strong>7
|
|
days</strong>.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h2>DNS Server</h2>
|
|
<div class="settings-list">
|
|
<div class="setting-item">
|
|
<div class="label-container">
|
|
<label for="setting-ttl">Cache TTL (in seconds)
|
|
</label>
|
|
<input type="number" id="cacheTTL" value="60" min="0" max="86400" />
|
|
</div>
|
|
<p class="setting-explanation">
|
|
Once a domain is resolved, it will be cached. Default is
|
|
60 seconds if a TTL is not given when resolving.
|
|
</p>
|
|
</div>
|
|
|
|
<div class="setting-item">
|
|
<div class="label-container">
|
|
<label for="setting-max-cache-size">Max Cache
|
|
Size [WIP]</label>
|
|
<input type="number" id="maxCacheSize" value="1000" min="100" max="10000" />
|
|
</div>
|
|
<p class="setting-explanation">
|
|
Amount of domains to keep in the cache. Will remove the
|
|
oldest domain once max is reached.
|
|
</p>
|
|
</div>
|
|
|
|
<div class="setting-item">
|
|
<div class="label-container">
|
|
<label for="setting-upstream-dns">Upstream DNS
|
|
Server [WIP]</label>
|
|
<input type="text" id="upstreamDNS" value="8.8.8.8" />
|
|
</div>
|
|
<p class="setting-explanation">
|
|
Upstream DNS server to resolve domains. Default is
|
|
8.8.8.8:53 (Google).
|
|
</p>
|
|
</div>
|
|
|
|
<div class="setting-item">
|
|
<div class="label-container">
|
|
<label for="setting-timeout">DNS Request Timeout (in
|
|
seconds) [WIP]</label>
|
|
<input type="number" id="domainResolveTimeout" value="60" min="1" max="3600" />
|
|
</div>
|
|
<p class="setting-explanation">
|
|
Amount of time the server shall spend on trying to
|
|
resolve a domain. Default is 60 seconds.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h2>Account Settings</h2>
|
|
<div class="settings-list">
|
|
<div class="setting-item">
|
|
<div class="label-container">
|
|
<label for="password">New Password</label>
|
|
<input type="password" id="password" />
|
|
</div>
|
|
<p class="setting-explanation">Enter your new password.</p>
|
|
</div>
|
|
<div class="setting-item">
|
|
<div class="label-container">
|
|
<label for="confirmPassword">Confirm Password</label>
|
|
<input type="password" id="confirmPassword" />
|
|
</div>
|
|
<p class="setting-explanation">Re-enter your new password to confirm.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Save Reminder Popup -->
|
|
<div id="save-popup" class="popup">
|
|
<p>Save latest changes?</p>
|
|
<div class="popup-buttons">
|
|
<button id="save-btn">Save</button>
|
|
<button id="dismiss-btn">Dismiss</button>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="/static/js/util.js"></script>
|
|
<script src="/static/js/serverStatus.js"></script>
|
|
<script src="/static/js/settings.js"></script>
|
|
</body>
|
|
|
|
</html> |