Files
goaway/website/settings.html
T
2025-01-03 03:57:17 +01:00

148 lines
6.7 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>
<!-- Top bar with centered text -->
<div id="top-bar">
<p id="cpu-usage"></p>
<p id="cpu-temp"></p>
<p id="mem-usage"></p>
</div>
<div id="sidenav" class="sidenav">
<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>
<hr class="rounded" />
<a href="./index.html"><i class="icon fa-solid fa-house-user"></i>Dashboard</a>
<a href="./logs.html"><i class="icon fa-solid fa-list"></i>Logs</a>
<a href="./domains.html"><i class="icon fa-solid fa-server"></i>Domains</a>
<a href="./upstream.html"><i class="icon fa-solid fa-up-right-and-down-left-from-center"></i>Upstream</a>
<a href="./clients.html"><i class="icon fa-solid fa-users"></i>Clients</a>
<a class="selected" href="#"><i class="icon fa-solid fa-gears"></i>Settings</a>
<a href="#" id="logout"> <i class="icon fa-solid fa-user-xmark"></i> Logout </a>
<a href="https://github.com/pommee/goaway" target="_blank" id="github-link">
<i class="icon fa-brands fa-github"></i> GitHub
</a>
</div>
<!-- Main content area -->
<div id="main">
<h2>Admin panel - WIP</h2>
<div class="settings-list">
<div class="setting-item">
<div class="label-container">
<label for="setting-1">Enable Dark Mode</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>
<h2>Server - WIP</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 modern">
<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="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.
</p>
</div>
<div class="setting-item">
<div class="label-container">
<label for="setting-max-cache-size">Max Cache Size</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</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)</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>
</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>