mirror of
https://github.com/pommee/goaway.git
synced 2026-05-20 16:29:54 -05:00
148 lines
6.7 KiB
HTML
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>
|