start: private new-tab dashboard at /start (tasks, notifications, backups/timers, server + containers, service status, trackers, editable links, / search)
All checks were successful
Deploy production / deploy (push) Successful in 2m39s
All checks were successful
Deploy production / deploy (push) Successful in 2m39s
- home schema: home.links (seeded, owner-editable) and home.snapshots (written by a host collector) - deploy/home-collector: stdlib Python + systemd user timer (60s) that snapshots /proc stats, docker containers, systemd timers, service HTTP checks and ntfy topics via a limited role - extras/newtab-extension: MV3 new-tab override, zipped to static/newtab-extension.zip - owner-only pages skip Google Analytics; /trackers/health#body anchor for weigh-ins
This commit is contained in:
19
extras/newtab-extension/README.md
Normal file
19
extras/newtab-extension/README.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# New-tab extension
|
||||
|
||||
A minimal Chrome / Edge / Brave (Manifest V3) extension that makes every new tab open
|
||||
[stanrunge.dev/start](https://stanrunge.dev/start), the private dashboard. No permissions,
|
||||
no tracking: the new-tab page just redirects.
|
||||
|
||||
## Install (load unpacked)
|
||||
|
||||
1. Download and unzip <https://stanrunge.dev/newtab-extension.zip> (or use this folder from the repo).
|
||||
2. Open `chrome://extensions` and switch on **Developer mode** (top right).
|
||||
3. Click **Load unpacked** and pick the unzipped `newtab-extension` folder.
|
||||
4. Open a new tab. Chrome asks once whether to keep the changed new-tab page: choose **Keep it**.
|
||||
|
||||
Log in on stanrunge.dev once in that browser; after that the dashboard opens straight away.
|
||||
To point it elsewhere, edit the URL in `newtab.html` and `newtab.js`, then press the reload
|
||||
icon on the extension card. Firefox: set the homepage/new tab with an add-on such as
|
||||
"New Tab Override" instead.
|
||||
|
||||
Rebuild the zip after changes: `bash extras/newtab-extension/build.sh`.
|
||||
13
extras/newtab-extension/build.sh
Executable file
13
extras/newtab-extension/build.sh
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
# Zip the extension into static/newtab-extension.zip (served at /newtab-extension.zip).
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
python3 - <<'PY'
|
||||
import os, zipfile
|
||||
out = '../static/newtab-extension.zip'
|
||||
with zipfile.ZipFile(out, 'w', zipfile.ZIP_DEFLATED) as z:
|
||||
for name in sorted(os.listdir('newtab-extension')):
|
||||
if name != 'build.sh':
|
||||
z.write(os.path.join('newtab-extension', name))
|
||||
print('wrote static/newtab-extension.zip')
|
||||
PY
|
||||
BIN
extras/newtab-extension/icon128.png
Normal file
BIN
extras/newtab-extension/icon128.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 527 B |
8
extras/newtab-extension/manifest.json
Normal file
8
extras/newtab-extension/manifest.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"manifest_version": 3,
|
||||
"name": "Stan's start page",
|
||||
"version": "1.0.0",
|
||||
"description": "Opens stanrunge.dev/start in every new tab.",
|
||||
"chrome_url_overrides": { "newtab": "newtab.html" },
|
||||
"icons": { "128": "icon128.png" }
|
||||
}
|
||||
17
extras/newtab-extension/newtab.html
Normal file
17
extras/newtab-extension/newtab.html
Normal file
@@ -0,0 +1,17 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>New tab</title>
|
||||
<!-- Redirect before anything paints; newtab.js does the same as a fallback. -->
|
||||
<meta http-equiv="refresh" content="0; url=https://stanrunge.dev/start" />
|
||||
<style>
|
||||
html {
|
||||
background: #000;
|
||||
color-scheme: dark;
|
||||
}
|
||||
</style>
|
||||
<script src="newtab.js"></script>
|
||||
</head>
|
||||
<body></body>
|
||||
</html>
|
||||
3
extras/newtab-extension/newtab.js
Normal file
3
extras/newtab-extension/newtab.js
Normal file
@@ -0,0 +1,3 @@
|
||||
// MV3 pages can't run inline scripts, so the redirect lives here. Change the URL to point the
|
||||
// new tab somewhere else (then reload the extension on chrome://extensions).
|
||||
location.replace('https://stanrunge.dev/start');
|
||||
Reference in New Issue
Block a user