Add self-hosted RCS backend, extension, and ops tooling

Ship the Go/SQLite API and Web UI, Chrome/Brave capture addon,
Docker Compose, Pangolin reverse-proxy support, and a user-crontab
watchdog so the binary stays running without systemd.
This commit is contained in:
2026-08-06 22:02:45 +02:00
parent 3f05c97e1f
commit 5a0e2e630b
30 changed files with 4334 additions and 2 deletions
+45
View File
@@ -0,0 +1,45 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>RCS Options</title>
<style>
body { font-family: "Segoe UI", sans-serif; margin: 12px; max-width: 420px; }
label { display: block; margin: 0.6rem 0; }
input { width: 100%; padding: 0.4rem; box-sizing: border-box; }
button { margin-top: 0.6rem; }
.row { display: flex; gap: 0.4rem; }
.row input { flex: 1; }
.row button { margin-top: 0; width: auto; }
ul { list-style: none; padding: 0; }
li { display: flex; justify-content: space-between; gap: 0.5rem; margin: 0.35rem 0; }
.muted { color: #666; font-size: 0.85rem; }
.error { color: #b00020; }
</style>
</head>
<body>
<h1>RCS settings</h1>
<label>
Backend URL
<input id="backendUrl" type="url" placeholder="http://127.0.0.1:8080">
</label>
<label>
API key (optional)
<input id="apiKey" type="password">
</label>
<button id="save" type="button">Save connection</button>
<p id="msg"></p>
<h2>Blocked authors</h2>
<p class="muted">Synced with the backend. Comments from these users are not saved.</p>
<div class="row">
<input id="blockUserInput" type="text" placeholder="AutoModerator">
<button id="blockAdd" type="button">Add</button>
</div>
<p id="blocklistStatus" class="muted"></p>
<ul id="blocklist"></ul>
<script src="../lib/api.js"></script>
<script src="options.js"></script>
</body>
</html>