register shrink 2026-10-10: 13 rows closed with live evidence (138 -> 125); R-903 phone menu without JS; R-910 pictures; R-912 site gate 21
gates / gates (push) Successful in 6m4s

Closed: R-906 R-907 R-909 R-910 R-911 R-815 R-756 R-570 R-896 R-912 R-903 R-338 R-916.
Updated: R-899 (press set up, dated check 2026-10-11), R-243 (the mail is due 2026-10-11 ~16:06Z, dated check),
R-782 (homepage live; glance question to the operator), R-904 (the TLS sentence is in 01 s7).
Website: site.css v=9 (scripting:none menu), eight dashboard pictures retaken. Evidence: audits/register-shrink-2026-10-10/.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-10-10 15:27:59 +02:00
parent dee4e0aa0c
commit ec5605d42c
56 changed files with 2400 additions and 47 deletions
@@ -0,0 +1,6 @@
Backup -> Apps "Databases" table, read 2026-10-10 ~13:26Z through GET /backups/apps (the page the UI renders), controller 0.307.0,
right after the delivery restart (so the run is SYNTHESISED from the files on disk — the case the fix changed):
9201 rows 6 dupes {} apps 6 (demo-hp household guest)
tester-1 rows 2 dupes {} apps 2
Before (control, same box, controller 0.305.0 after its 07:59Z restart): r910/backups-hu-0.305.0-duplicates.png —
adventurelog x4, bookstack x4 (the pre-restore undo copies on hdd_1/backups/secondary/<app>/recovery-unit/db-dumps/).
@@ -0,0 +1,12 @@
== demo-hp
Oct 10 15:22:49 demo-hp felhom-priv-apply[1964944]: felhom-priv-apply: WROTE controller-image 9201 gitea.dooplex.hu/admin/felhom-controller:0.307.0
Oct 10 15:22:56 demo-hp felhom-agent[1262]: time=2026-10-10T15:22:56.722+02:00 level=INFO msg="controller-swap: new controller healthy" vmid=9201 target=gitea.dooplex.hu/admin/felhom-controller:0.307.0
2026/10/10 13:22:52 main.go:341: [INFO] felhom-controller 0.307.0 starting (customer: demo-hp, domain: enkisfelhom.hu)
== felhom-pve
Oct 10 15:22:47 demo-felhom felhom-priv-apply[573740]: felhom-priv-apply: WROTE controller-image 9201 gitea.dooplex.hu/admin/felhom-controller:0.307.0
Oct 10 15:22:57 demo-felhom felhom-agent[1205]: time=2026-10-10T15:22:57.155+02:00 level=INFO msg="controller-swap: new controller healthy" vmid=9201 target=gitea.dooplex.hu/admin/felhom-controller:0.307.0
2026/10/10 13:22:49 [INFO] felhom-controller 0.307.0 starting (customer: demo-felhom, domain: demo-felhom.eu)
== root@192.168.0.154
Oct 10 15:22:50 felhom felhom-priv-apply[845246]: felhom-priv-apply: WROTE controller-image 9201 gitea.dooplex.hu/admin/felhom-controller:0.307.0
Oct 10 15:22:57 felhom felhom-agent[1161]: time=2026-10-10T15:22:57.403+02:00 level=INFO msg="controller-swap: new controller healthy" vmid=9201 target=gitea.dooplex.hu/admin/felhom-controller:0.307.0
2026/10/10 13:22:52 [INFO] felhom-controller 0.307.0 starting (customer: tester-1, domain: enkicsifelhom.hu)
@@ -0,0 +1,7 @@
== floors 2026-10-10T13:22:39Z: 0.307.0 with min_agent 0.131.0; global floor not touched; Tester 2 not touched
demo-hp: HTTP/1.1 303 See Other Location: /customers/demo-hp?flash=floor_set
demo-felhom: HTTP/1.1 303 See Other Location: /customers/demo-felhom?flash=floor_set
tester-1: HTTP/1.1 303 See Other Location: /customers/tester-1?flash=floor_set
2026/10/10 15:22:39 [INFO] Customer demo-hp controller-version floor override set to "0.307.0" (declared MinAgent "0.131.0")
2026/10/10 15:22:39 [INFO] Customer demo-felhom controller-version floor override set to "0.307.0" (declared MinAgent "0.131.0")
2026/10/10 15:22:39 [INFO] Customer tester-1 controller-version floor override set to "0.307.0" (declared MinAgent "0.131.0")
@@ -0,0 +1,14 @@
00
01
UPID:felhom-hetzner:000003FD:0000054D:00000002:6A6792AB:garbage_collection:felhom\x2doffsite:root@pam: 6A6792D3 OK
UPID:felhom-hetzner:000048A2:001E9035:00000019:6A683397:garbage_collection:felhom\x2doffsite:root@pam: 6A6833C1 OK
UPID:felhom-hetzner:00014E5D:00468C0B:0000006B:6A6EC7C8:garbage_collection:felhom\x2doffsite:root@pam: 6A6EC7F5 OK
UPID:felhom-hetzner:00000495:000006CA:0000008C:6A780248:garbage_collection:felhom\x2doffsite:root@pam: 6A780274 OK
UPID:felhom-hetzner:00000495:000006CA:000000E5:6A813CC8:garbage_collection:felhom\x2doffsite:root@pam: 6A813CF4 OK
UPID:felhom-hetzner:00086AE7:07B20B30:00000045:6A8A7748:garbage_collection:felhom\x2doffsite:root@pam: 6A8A7777 OK
UPID:felhom-hetzner:00086AE7:07B20B30:000000AB:6A93B1C8:garbage_collection:felhom\x2doffsite:root@pam: 6A93B1F5 OK
UPID:felhom-hetzner:00086AE7:07B20B30:00000105:6A9CEC48:garbage_collection:felhom\x2doffsite:root@pam: 6A9CEC77 OK
UPID:felhom-hetzner:00086AE7:07B20B30:0000015F:6AA626C8:garbage_collection:felhom\x2doffsite:root@pam: 6AA626F2 OK
UPID:felhom-hetzner:00086AE7:07B20B30:000001C3:6AAF6148:garbage_collection:felhom\x2doffsite:root@pam: 6AAF6175 OK
UPID:felhom-hetzner:00086AE7:07B20B30:0000022C:6AB89BC8:garbage_collection:felhom\x2doffsite:root@pam: 6AB89BF1 OK
UPID:felhom-hetzner:00086AE7:07B20B30:000002A6:6AC1D648:garbage_collection:felhom\x2doffsite:root@pam: 6AC1D674 OK
@@ -0,0 +1,2 @@
status before ('200', {'data': {'backup': {'target_id': 'local', 'vmid': 9201, 'archive': 'local:backup/vzdump-lxc-9201-2026_10_10-04_51_24.tar.zst', 'mode': 'snapshot', 'crash_consistent': True, 'size_bytes': 1570236783, 'success': True, 'started_at': '2026-10-10T02:51:23Z', 'duration_seconds': 86.812856699}, 'error': '', 'job_id': 'backup-9201-1791600683739394721', 'phase': 'done'}, 'ok': True})
trigger ('200', {'data': {'started': True}, 'ok': True})
@@ -0,0 +1,23 @@
// R-903 check: a phone (376 px), JavaScript OFF — can the menu links and the globe be reached?
const puppeteer = require('puppeteer'); const http = require('http'); const fs = require('fs'); const path = require('path');
const root = process.argv[2], port = 8099;
const types = {'.html':'text/html; charset=utf-8','.css':'text/css','.svg':'image/svg+xml','.png':'image/png'};
const srv = http.createServer((q, r) => { let p = decodeURIComponent(q.url.split('?')[0]); if (p.endsWith('/')) p += 'index.html';
const f = path.join(root, p); fs.readFile(f, (e, d) => { if (e) { r.writeHead(404); return r.end(); } r.writeHead(200, {'Content-Type': types[path.extname(f)] || 'application/octet-stream'}); r.end(d); }); });
srv.listen(port, async () => {
const b = await puppeteer.launch({args: ['--no-sandbox']});
for (const pg of ['/', '/en/']) {
const p = await b.newPage(); await p.setJavaScriptEnabled(false);
await p.setViewport({width: 376, height: 812, deviceScaleFactor: 2, isMobile: true, hasTouch: true});
await p.goto(`http://127.0.0.1:${port}${pg}`, {waitUntil: 'load'});
const res = await p.evaluate(() => Array.from(document.querySelectorAll('.nav-links > li > a, .nav-links .lang-globe-btn')).map(a => {
const r = a.getBoundingClientRect(); const cs = getComputedStyle(a);
const ok = r.width > 0 && r.left >= 0 && r.right <= window.innerWidth && r.top >= 0 && r.bottom <= window.innerHeight && cs.visibility !== 'hidden';
return [a.textContent.trim() || 'globe', Math.round(r.left), Math.round(r.right), Math.round(r.top), ok]; }));
const reach = res.filter(x => x[4]).length;
console.log(pg, `reachable ${reach}/${res.length}`, JSON.stringify(res));
await p.screenshot({path: `/out/${pg === '/' ? 'hu' : 'en'}-376-nojs.png`});
await p.close();
}
await b.close(); srv.close();
});
@@ -0,0 +1,10 @@
== old
/ reachable 0/7 [["Szolgáltatások",409,624,80,false],["Alkalmazások",409,624,140,false],["Technológiák",409,624,200,false],["Mentések",409,624,260,false],["GYIK",409,624,320,false],["Kapcsolat",409,624,379,false],["globe",409,431,439,false]]
/en/ reachable 0/7 [["Services",409,624,80,false],["Apps",409,624,140,false],["Technology",409,624,200,false],["Backups",409,624,260,false],["FAQ",409,624,320,false],["Contact",409,624,379,false],["globe",409,431,439,false]]
== new
/ reachable 7/7 [["Szolgáltatások",24,128,76,true],["Alkalmazások",148,247,76,true],["Technológiák",24,117,118,true],["Mentések",137,207,118,true],["GYIK",227,265,118,true],["Kapcsolat",24,94,159,true],["globe",114,136,159,true]]
/en/ reachable 7/7 [["Services",24,85,76,true],["Apps",105,142,76,true],["Technology",162,243,76,true],["Backups",263,324,76,true],["FAQ",24,56,118,true],["Contact",76,131,118,true],["globe",151,173,118,true]]
== new, JavaScript ON (unchanged: the closed off-canvas menu, as before)
== new-JS-on/ reachable 0/7 [["Szolgltatsok",409,624,80,false],["Alkalmazsok",409,624,140,false],["Technolk",409,624,200
(the screenshots were lost: the archive was mixed with the script's own output and the guest folder was removed before a second copy; the numbers above are the measurement)
Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

@@ -0,0 +1,3 @@
R-907 phone /launcher {"version":"0.305.0","layoutWidth":390,"screen":390,"button":[16,192],"buttonText":"Share the launcher"}
R-909 /stacks @1440 {"cards":61,"nameUnderATag":0,"logoOffsets":[0],"addressOnTwoLines":0,"layoutWidth":1440,"screen":1440}
R-909 /stacks @390 {"cards":61,"nameUnderATag":0,"logoOffsets":[0],"addressOnTwoLines":0,"layoutWidth":390,"screen":390}
@@ -0,0 +1,31 @@
// R-907 / R-909 read-back on demo-hp's household guest 9201 (controller 0.305.0), read only, Hungarian, no clicks.
const puppeteer = require('puppeteer'); const fs = require('fs');
const HOST = 'felhom.enkisfelhom.hu', BASE = 'https://' + HOST;
const sess = fs.readFileSync('/in/session.txt', 'utf8').trim(); const [k, v] = sess.split('=');
(async () => {
const b = await puppeteer.launch({args: ['--no-sandbox', '--ignore-certificate-errors', `--host-resolver-rules=MAP * ${process.env.TRAEFIK}`]});
const p = await b.newPage();
await p.setCookie({name: k, value: v, domain: HOST, path: '/', secure: true, httpOnly: true});
await p.setViewport({width: 390, height: 844, deviceScaleFactor: 2, isMobile: true, hasTouch: true});
await p.goto(BASE + '/launcher', {waitUntil: 'networkidle2'});
const r907 = await p.evaluate(() => { const btn = document.querySelector('.share-open-btn'); const r = btn && btn.getBoundingClientRect();
return {version: (document.body.innerText.match(/0\.30\d\.\d/) || [''])[0], layoutWidth: document.documentElement.scrollWidth, screen: window.innerWidth,
button: r ? [Math.round(r.left), Math.round(r.right)] : null, buttonText: btn ? btn.innerText.trim() : null}; });
console.log('R-907 phone /launcher', JSON.stringify(r907));
await p.screenshot({path: '/out/r907-launcher-390.png'});
for (const w of [1440, 390]) {
await p.setViewport({width: w, height: 900, deviceScaleFactor: 1, isMobile: w < 500});
await p.goto(BASE + '/stacks', {waitUntil: 'networkidle2'});
const r909 = await p.evaluate(() => { const cards = Array.from(document.querySelectorAll('.stack-detail-card'));
let covered = 0, offsets = new Set(), addrTwoLines = 0, n = 0;
for (const c of cards) { const h = c.querySelector('h3'); if (!h) continue; n++; const hr = h.getBoundingClientRect();
for (const t of c.querySelectorAll('.stack-tags > *')) { const tr = t.getBoundingClientRect();
if (tr.width && !(tr.right <= hr.left || tr.left >= hr.right || tr.bottom <= hr.top || tr.top >= hr.bottom)) { covered++; break; } }
const logo = c.querySelector('.stack-logo-lg'); if (logo) offsets.add(Math.round(logo.getBoundingClientRect().top - hr.top));
const a = c.querySelector('.subdomain-link'); if (a) { const ar = a.getBoundingClientRect(); if (ar.height > 2 * parseFloat(getComputedStyle(a).lineHeight || 20)) addrTwoLines++; } }
return {cards: n, nameUnderATag: covered, logoOffsets: Array.from(offsets), addressOnTwoLines: addrTwoLines, layoutWidth: document.documentElement.scrollWidth, screen: window.innerWidth}; });
console.log('R-909 /stacks @' + w, JSON.stringify(r909));
await p.screenshot({path: `/out/r909-stacks-${w}.png`});
}
await b.close();
})().catch(e => { console.error(e); process.exit(1); });
Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

@@ -0,0 +1,73 @@
Launcher
Dashboard
Apps
Storage
Drives
Network storage
Backup
Overview
Remote backup
Apps
Restore
Sharing
Network sharing
System monitor
Debug
SETTINGS
System
Notifications
Security and access
0.305.0
Sign out ↗
← Apps
Paperless-ngx
Running
Up to date
Open ↗
Log
Export
Settings
Automatic update at 2026-09-28 04:22 — done.
A digital filing cabinet - scanning, OCR and automatic sorting
~500M RAM productivity Needs a hard drive Runs on Pi
Where do I put my files?
You reach these folders in the File manager. You may need to sign in to the File manager first.
Documents to read in ↗
50.5 GB free
Copy the files to be processed in here. The app reads them and then deletes them from here — this folder is temporary and is not backed up.
What is it for?
Turn paper documents into files and keep them in order
Automatic OCR text recognition on scanned documents
Smart automatic sorting and tagging
Full text search across every document
Documents that arrive by e-mail are processed automatically
First steps
Open papir.enkisfelhom.hu in your browser
Sign in: user "admin". The password is on the Settings page, under Automatically generated values
Upload a document in the app, OR drop it into the import/paperless folder in the File manager (FileBrowser) - it is read in and processed with OCR from there. The File manager sign-in is on the File manager app page
You can upload many documents at once: they are processed one by one, and a larger batch takes a few minutes
Create tags and correspondents so new documents sort themselves
Before you start
An external hard drive is recommended to keep the documents on
At least 1 GB of free RAM (for the OCR work)
Documentation
Official documentation ↗
Felhom.eu
Felhom.eu
Language
<csrf>
/apps/paperless-ngx
<csrf>
/apps/paperless-ngx
This app is running the newest version available.
Paperless-ngx
@@ -0,0 +1,73 @@
Indítópult
Vezérlőpult
Alkalmazások
Tárhely
Meghajtók
Hálózati tárhely
Biztonsági mentés
Áttekintés
Távoli mentés
Alkalmazások
Visszaállítás
Megosztás
Hálózati megosztás
Rendszermonitor
Hibakeresés
BEÁLLÍTÁSOK
Rendszer
Értesítések
Biztonság és hozzáférés
0.305.0
Kijelentkezés ↗
← Alkalmazások
Paperless-ngx
Fut
Naprakész
Megnyitás ↗
Napló
Exportálás
Beállítások
Automatikus frissítés 2026-09-28 04:22-kor — sikeres.
Digitális irattár - szkennelés, OCR és automatikus rendszerezés
~500M RAM productivity HDD szükséges Pi kompatibilis
Hova tegyem a fájlokat?
Ezeket a mappákat a Fájlkezelőben éred el. Előfordulhat, hogy először be kell jelentkezned a Fájlkezelőbe.
Beolvasandó dokumentumok ↗
50.5 GB szabad
Ide másold a feldolgozandó fájlokat. Az alkalmazás beolvassa, majd törli innen — ez a mappa átmeneti, és nem készül róla biztonsági mentés.
Mire használható?
Papír dokumentumok digitalizálása és rendszerezése
Automatikus OCR szövegfelismerés szkennelt dokumentumokon
Intelligens automatikus kategorizálás és címkézés
Teljes szöveges keresés az összes dokumentumban
Email-ből érkező dokumentumok automatikus feldolgozása
Első lépések
Nyisd meg a papir.enkisfelhom.hu címet a böngészőben
Lépj be: felhasználó "admin", a jelszó a Beállítások oldalon található (Automatikusan generált értékek)
Tölts fel egy dokumentumot a webfelületen, VAGY dobd a Fájlkezelőben (FileBrowser) az import/paperless mappába — onnan automatikusan beolvassa és OCR-rel feldolgozza. A Fájlkezelő belépése a Fájlkezelő alkalmazás oldalán található
Sok dokumentumot egyszerre is feltölthetsz: egyenként dolgozza fel őket, egy nagyobb köteg néhány percig tart
Hozz létre címkéket és levelezőket az automatikus rendszerezéshez
Előfeltételek
Külső HDD ajánlott a dokumentumok tárolásához
Legalább 1 GB szabad RAM (OCR feldolgozáshoz)
Dokumentáció
Hivatalos dokumentáció ↗
Felhom.eu
Felhom.eu
Nyelv
<csrf>
/apps/paperless-ngx
<csrf>
/apps/paperless-ngx
Ez az alkalmazás a legfrissebb elérhető változatot futtatja.
Paperless-ngx
@@ -0,0 +1,769 @@
Launcher
Dashboard
Apps
Storage
Drives
Network storage
Backup
Overview
Remote backup
Apps
Restore
Sharing
Network sharing
System monitor
Debug
SETTINGS
System
Notifications
Security and access
0.305.0
Sign out ↗
Apps
enkisfelhom.hu
Import
↻ Refresh templates
All (61)
Running (12)
Stopped (1)
Installable (48)
ActualBudget
Not installed
Personal finances and budgeting
~50M
Runs on Pi
Install
Details
AdventureLog
travel.enkisfelhom.hu
↗
Running
Up to date
Travel journal and trip planner
~100M
Runs on Pi
adventurelog
Up 10 hours (healthy)
adventurelog-frontend
Up 10 hours (healthy)
adventurelog-postgres
Up 10 hours (healthy)
Update
Restart
Stop
Logs
Details
Audiobookshelf
Not installed
An audiobook and podcast server
~100M
Runs on Pi
Needs a hard drive
Install
Details
BentoPDF
pdf.enkisfelhom.hu
↗
Running
Up to date
A privacy-first PDF toolbox
~100M
Runs on Pi
bentopdf
Up 10 hours (healthy)
Update
Restart
Stop
Logs
Details
BookStack
wiki.enkisfelhom.hu
↗
Running
Up to date
A simple, book-shaped wiki and documentation platform
~150M
Runs on Pi
bookstack
Up 10 hours (healthy)
bookstack-db
Up 10 hours (healthy)
Update
Restart
Stop
Logs
Details
Cal.com
Not installed
Open source appointment booking (a Calendly alternative)
~200M
Install
Details
Calibre-Web Automated
books.enkisfelhom.hu
↗
Running
Up to date
An automated e-book library - conversion, metadata and a web reader
~200M
Needs a hard drive
NVME 1TB
calibre-web
Up 10 hours (healthy)
Update
Restart
Stop
Logs
Details
Claper
Not installed
Interactive presentations that bring the room in
~100M
Runs on Pi
Install
Details
Cloudflare Tunnel
Running
Secure internet connection — the server is reachable from outside without opening ports.
cloudflared
Up 10 hours (healthy)
Protected system component
Restart
Details
Code-Server
Not installed
VS Code in your browser - write code from anywhere
~200M
Install
Details
Crafty Controller
Not installed
A Minecraft server manager with a web interface
~256M
Install
Details
Dawarich
Not installed
Your own location history on a map - instead of Google Timeline
~500M
Install
Details
Docmost
docs.enkisfelhom.hu
↗
Running
Up to date
A modern wiki and documentation platform (Notion-like)
~200M
docmost
Up 10 hours (healthy)
docmost-postgres
Up 10 hours (healthy)
docmost-redis
Up 10 hours (healthy)
Update
Restart
Stop
Logs
Details
Emby
Not installed
A personal media server with live TV and recording
~512M
Needs a hard drive
Install
Details
FileBrowser
files.enkisfelhom.hu
↗
Running
File manager — browse the storage files from your browser.
filebrowser
Up 10 hours (healthy)
Protected system component
Restart
Details
Ghost
Not installed
A professional blog and newsletter platform
~150M
Install
Details
Gitea
Not installed
A light Git server of your own, with a web interface
~100M
Runs on Pi
Install
Details
Glance
Not installed
A minimalist information dashboard
~20M
Runs on Pi
Install
Details
Gokapi
Not installed
Temporary file sharing with links that expire
~30M
Runs on Pi
Install
Details
Grafana
Not installed
A professional monitoring and visualisation platform
~100M
Runs on Pi
Install
Details
Gramps Web
Not installed
Family tree and genealogy software
~384M
Runs on Pi
Install
Details
Grimmory
Not installed
An e-book library with an in-browser reader, OPDS, Kobo and KOReader sync
~600M
Runs on Pi
Needs a hard drive
Install
Details
Grocy
Not installed
Running the household: what is in the house, what runs out, the shopping list and the chores
~60M
Runs on Pi
Install
Details
Home Assistant
Not installed
An open source smart home hub
~256M
Runs on Pi
Install
Details
Homebox
Not installed
A home inventory for your things
~50M
Runs on Pi
Install
Details
Homepage
Not installed
A start page you build yourself, with service widgets
~50M
Runs on Pi
Install
Details
Immich
Not installed
Photos and videos in one place (a Google Photos alternative)
~2048M
Needs a hard drive
Install
Details
Jellyfin
Not installed
A free and open source media server
~512M
Needs a hard drive
Install
Details
Jellyseerr
Not installed
Media requests, wired into Jellyfin/Plex
~100M
Runs on Pi
Install
Details
Karakeep
Not installed
Bookmarks, articles, notes and images in one place, searchable
~700M
Install
Details
Kimai
time.enkisfelhom.hu
↗
Running
Up to date
Time tracking and project management
~100M
Runs on Pi
kimai
Up 10 hours (healthy)
kimai-db
Up 10 hours (healthy)
Update
Restart
Stop
Logs
Details
Komga
Not installed
A comic and manga server with OPDS support
~200M
Runs on Pi
Needs a hard drive
Install
Details
LubeLogger
Not installed
The family car's services, repairs and fuel-ups in one place
~80M
Runs on Pi
Install
Details
MeTube
Not installed
Download videos and audio to your drive, for your family
~128M
Runs on Pi
Needs a hard drive
Install
Details
Mealie
Not installed
A recipe manager and meal planner
~200M
Runs on Pi
Install
Details
Navidrome
Not installed
A light music server with Subsonic API support
~50M
Runs on Pi
Needs a hard drive
Install
Details
Nextcloud
Not installed
Your own cloud storage - a Google Drive/Dropbox alternative
~256M
Needs a hard drive
Install
Details
OnlyOffice
Not installed
A full office suite in your browser
~512M
Install
Details
OpenGist
gist.enkisfelhom.hu
↗
Running
Up to date
Share code snippets (a GitHub Gist alternative)
~30M
Runs on Pi
opengist
Up 10 hours (healthy)
Update
Restart
Stop
Logs
Details
Outline
Not installed
A modern team knowledge base with Markdown
~200M
Install
Details
Paperless-ngx
papir.enkisfelhom.hu
↗
Running
Up to date
Digitise your documents and keep them in order
~500M
Runs on Pi
Needs a hard drive
NVME 1TB
paperless-webserver
Up 10 hours (healthy)
paperless-redis
Up 10 hours (healthy)
paperless-postgres
Up 10 hours (healthy)
Update
Restart
Stop
Logs
Details
Papra
Not installed
A minimalist document store and organiser
~256M
Runs on Pi
Install
Details
Plex
Not installed
A popular media server with a polished interface
~512M
Needs a hard drive
Install
Details
PrivateBin
paste.enkisfelhom.hu
↗
Running
Up to date
Encrypted note and text sharing
~30M
Runs on Pi
privatebin
Up 10 hours (healthy)
Update
Restart
Stop
Logs
Details
Radarr
Not installed
Films download and file themselves
~150M
Runs on Pi
Needs a hard drive
Install
Details
Radicale
Not installed
Calendar and contacts on your own server (CalDAV / CardDAV)
~40M
Runs on Pi
Install
Details
Rallly
Not installed
Vote on a date (a Doodle alternative)
~384M
Runs on Pi
Install
Details
Recipe Importer
Not installed
Import Hungarian recipe sites into Mealie and Tandoor
~30M
Runs on Pi
Install
Details
RomM
jatek.enkisfelhom.hu
↗
Stopped
Up to date
Retro game collection manager
~300M
Needs a hard drive
NVME 1TB
We stopped the app because it kept crashing (or ran out of memory). Press Start to try again.
Start
Logs
Details
Sonarr
Not installed
Series download and file themselves
~150M
Runs on Pi
Needs a hard drive
Install
Details
SparkyFitness
Not installed
A food and exercise tracker
~400M
Install
Details
Tandoor Recipes
Not installed
A recipe manager and meal planner
~512M
Runs on Pi
Install
Details
Termix
Not installed
SSH and server management in a browser
~30M
Runs on Pi
Install
Details
Traefik
Running
Traffic router (reverse proxy) — sends each request to the right app.
traefik
Up 10 hours
Protected system component
Restart
Details
Uptime Kuma
Not installed
Watch your services and websites
~50M
Runs on Pi
Install
Details
Vaultwarden
Not installed
A password manager (Bitwarden-compatible)
~50M
Runs on Pi
Install
Details
Vikunja
Not installed
Task lists and boards (a Todoist/Trello alternative)
~50M
Runs on Pi
Install
Details
Wanderer
Not installed
A hike planner that follows your tracks
~350M
Runs on Pi
Install
Details
Wishlist
Not installed
Wish lists shared across the household
~120M
Runs on Pi
Install
Details
Zipline
Not installed
A ShareX/Flameshot server - screenshots and file sharing
~100M
Install
Details
n8n
Not installed
Workflow automation with a visual editor
~512M
Install
Details
Felhom.eu
Felhom.eu
Language
<csrf>
/stacks
<csrf>
/stacks
Restore an app from an exported package
Refresh the templates from the central catalog
travel.enkisfelhom.hu
This app is running the newest version available.
pdf.enkisfelhom.hu
This app is running the newest version available.
wiki.enkisfelhom.hu
This app is running the newest version available.
books.enkisfelhom.hu
This app is running the newest version available.
Data storage: NVME 1TB
docs.enkisfelhom.hu
This app is running the newest version available.
files.enkisfelhom.hu
time.enkisfelhom.hu
This app is running the newest version available.
gist.enkisfelhom.hu
This app is running the newest version available.
papir.enkisfelhom.hu
This app is running the newest version available.
Data storage: NVME 1TB
paste.enkisfelhom.hu
This app is running the newest version available.
jatek.enkisfelhom.hu
This app is running the newest version available.
Data storage: NVME 1TB
@@ -0,0 +1,769 @@
Indítópult
Vezérlőpult
Alkalmazások
Tárhely
Meghajtók
Hálózati tárhely
Biztonsági mentés
Áttekintés
Távoli mentés
Alkalmazások
Visszaállítás
Megosztás
Hálózati megosztás
Rendszermonitor
Hibakeresés
BEÁLLÍTÁSOK
Rendszer
Értesítések
Biztonság és hozzáférés
0.305.0
Kijelentkezés ↗
Alkalmazások
enkisfelhom.hu
Importálás
↻ Sablonok frissítése
Mind (61)
Futó (12)
Leállítva (1)
Telepíthető (48)
ActualBudget
Nincs telepítve
Személyes pénzügyek és költségvetés kezelése
~50M
Pi kompatibilis
Telepítés
Részletek
AdventureLog
travel.enkisfelhom.hu
↗
Fut
Naprakész
Utazási napló és kalandtervező
~100M
Pi kompatibilis
adventurelog
Up 10 hours (healthy)
adventurelog-frontend
Up 10 hours (healthy)
adventurelog-postgres
Up 10 hours (healthy)
Frissítés
Újraindítás
Leállítás
Naplók
Részletek
Audiobookshelf
Nincs telepítve
Hangoskönyv és podcast kezelő szerver
~100M
Pi kompatibilis
HDD szükséges
Telepítés
Részletek
BentoPDF
pdf.enkisfelhom.hu
↗
Fut
Naprakész
Adatvédelmi fókuszú PDF eszköztár
~100M
Pi kompatibilis
bentopdf
Up 10 hours (healthy)
Frissítés
Újraindítás
Leállítás
Naplók
Részletek
BookStack
wiki.enkisfelhom.hu
↗
Fut
Naprakész
Egyszerű, könyv-szerű wiki és dokumentáció platform
~150M
Pi kompatibilis
bookstack
Up 10 hours (healthy)
bookstack-db
Up 10 hours (healthy)
Frissítés
Újraindítás
Leállítás
Naplók
Részletek
Cal.com
Nincs telepítve
Nyílt forráskódú időpontfoglaló (Calendly alternatíva)
~200M
Telepítés
Részletek
Calibre-Web Automated
books.enkisfelhom.hu
↗
Fut
Naprakész
Automatizált e-könyv könyvtár - konvertálás, metaadat kezelés és webes olvasó
~200M
HDD szükséges
NVME 1TB
calibre-web
Up 10 hours (healthy)
Frissítés
Újraindítás
Leállítás
Naplók
Részletek
Claper
Nincs telepítve
Interaktív prezentáció és közönség bevonás
~100M
Pi kompatibilis
Telepítés
Részletek
Cloudflare Tunnel
Fut
Biztonságos internetkapcsolat — a szerver portnyitás nélkül érhető el kívülről.
cloudflared
Up 10 hours (healthy)
Védett rendszerkomponens
Újraindítás
Részletek
Code-Server
Nincs telepítve
VS Code a böngészőben - kódolás bárhonnan
~200M
Telepítés
Részletek
Crafty Controller
Nincs telepítve
Minecraft szerver kezelő webes felülettel
~256M
Telepítés
Részletek
Dawarich
Nincs telepítve
Saját helyelőzmények térképen - a Google Idővonal helyett
~500M
Telepítés
Részletek
Docmost
docs.enkisfelhom.hu
↗
Fut
Naprakész
Modern wiki és dokumentáció platform (Notion-szerű)
~200M
docmost
Up 10 hours (healthy)
docmost-postgres
Up 10 hours (healthy)
docmost-redis
Up 10 hours (healthy)
Frissítés
Újraindítás
Leállítás
Naplók
Részletek
Emby
Nincs telepítve
Személyes média szerver élő TV és DVR támogatással
~512M
HDD szükséges
Telepítés
Részletek
FileBrowser
files.enkisfelhom.hu
↗
Fut
Fájlkezelő — a tárhely fájljainak böngészése a böngészőből.
filebrowser
Up 10 hours (healthy)
Védett rendszerkomponens
Újraindítás
Részletek
Ghost
Nincs telepítve
Professzionális blog és hírlevél platform
~150M
Telepítés
Részletek
Gitea
Nincs telepítve
Könnyű, saját Git szerver webes felülettel
~100M
Pi kompatibilis
Telepítés
Részletek
Glance
Nincs telepítve
Minimalista információs dashboard
~20M
Pi kompatibilis
Telepítés
Részletek
Gokapi
Nincs telepítve
Ideiglenes fájlmegosztás lejáró linkekkel
~30M
Pi kompatibilis
Telepítés
Részletek
Grafana
Nincs telepítve
Professzionális monitoring és vizualizációs platform
~100M
Pi kompatibilis
Telepítés
Részletek
Gramps Web
Nincs telepítve
Családfa készítő és genealógiai szoftver
~384M
Pi kompatibilis
Telepítés
Részletek
Grimmory
Nincs telepítve
E-könyvtár böngészőben olvasóval, OPDS-sel, Kobo és KOReader szinkronnal
~600M
Pi kompatibilis
HDD szükséges
Telepítés
Részletek
Grocy
Nincs telepítve
Háztartásvezetés: mi van otthon, mi fogy el, bevásárlólista és házimunkák
~60M
Pi kompatibilis
Telepítés
Részletek
Home Assistant
Nincs telepítve
Nyílt forráskódú okos otthon központ
~256M
Pi kompatibilis
Telepítés
Részletek
Homebox
Nincs telepítve
Otthoni leltár és eszköznyilvántartás
~50M
Pi kompatibilis
Telepítés
Részletek
Homepage
Nincs telepítve
Személyre szabható kezdőlap szolgáltatás widgetekkel
~50M
Pi kompatibilis
Telepítés
Részletek
Immich
Nincs telepítve
Fotók és videók kezelése (Google Photos alternatíva)
~2048M
HDD szükséges
Telepítés
Részletek
Jellyfin
Nincs telepítve
Ingyenes és nyílt forráskódú média szerver
~512M
HDD szükséges
Telepítés
Részletek
Jellyseerr
Nincs telepítve
Média igénylés kezelő Jellyfin/Plex integrációval
~100M
Pi kompatibilis
Telepítés
Részletek
Karakeep
Nincs telepítve
Könyvjelzők, cikkek, jegyzetek és képek egy helyen, kereshetően
~700M
Telepítés
Részletek
Kimai
time.enkisfelhom.hu
↗
Fut
Naprakész
Időkövetés és projektmenedzsment
~100M
Pi kompatibilis
kimai
Up 10 hours (healthy)
kimai-db
Up 10 hours (healthy)
Frissítés
Újraindítás
Leállítás
Naplók
Részletek
Komga
Nincs telepítve
Képregény és manga szerver OPDS támogatással
~200M
Pi kompatibilis
HDD szükséges
Telepítés
Részletek
LubeLogger
Nincs telepítve
A családi autó szerviz-, javítás- és tankolásnyilvántartása
~80M
Pi kompatibilis
Telepítés
Részletek
MeTube
Nincs telepítve
Videók és hanganyagok letöltése a meghajtódra, a család számára
~128M
Pi kompatibilis
HDD szükséges
Telepítés
Részletek
Mealie
Nincs telepítve
Receptkezelő és étkezéstervező
~200M
Pi kompatibilis
Telepítés
Részletek
Navidrome
Nincs telepítve
Könnyű zene szerver Subsonic API támogatással
~50M
Pi kompatibilis
HDD szükséges
Telepítés
Részletek
Nextcloud
Nincs telepítve
Saját felhő tárhely - Google Drive/Dropbox alternatíva
~256M
HDD szükséges
Telepítés
Részletek
OnlyOffice
Nincs telepítve
Teljes értékű irodai csomag a böngészőben
~512M
Telepítés
Részletek
OpenGist
gist.enkisfelhom.hu
↗
Fut
Naprakész
Kód snippetek megosztása (GitHub Gist alternatíva)
~30M
Pi kompatibilis
opengist
Up 10 hours (healthy)
Frissítés
Újraindítás
Leállítás
Naplók
Részletek
Outline
Nincs telepítve
Modern csapat tudásbázis Markdown támogatással
~200M
Telepítés
Részletek
Paperless-ngx
papir.enkisfelhom.hu
↗
Fut
Naprakész
Dokumentumok digitalizálása és rendszerezése
~500M
Pi kompatibilis
HDD szükséges
NVME 1TB
paperless-webserver
Up 10 hours (healthy)
paperless-redis
Up 10 hours (healthy)
paperless-postgres
Up 10 hours (healthy)
Frissítés
Újraindítás
Leállítás
Naplók
Részletek
Papra
Nincs telepítve
Minimalista dokumentumtár és rendszerező
~256M
Pi kompatibilis
Telepítés
Részletek
Plex
Nincs telepítve
Népszerű média szerver csiszolt felülettel
~512M
HDD szükséges
Telepítés
Részletek
PrivateBin
paste.enkisfelhom.hu
↗
Fut
Naprakész
Titkosított jegyzet és szöveg megosztás
~30M
Pi kompatibilis
privatebin
Up 10 hours (healthy)
Frissítés
Újraindítás
Leállítás
Naplók
Részletek
Radarr
Nincs telepítve
Automatikus film letöltő és rendszerező
~150M
Pi kompatibilis
HDD szükséges
Telepítés
Részletek
Radicale
Nincs telepítve
Naptár és névjegyek a saját szervereden (CalDAV / CardDAV)
~40M
Pi kompatibilis
Telepítés
Részletek
Rallly
Nincs telepítve
Időpont szavazás (Doodle alternatíva)
~384M
Pi kompatibilis
Telepítés
Részletek
Recipe Importer
Nincs telepítve
Magyar receptoldalak importálása Mealie-be és Tandoor-ba
~30M
Pi kompatibilis
Telepítés
Részletek
RomM
jatek.enkisfelhom.hu
↗
Leállítva
Naprakész
Retró játékgyűjtemény kezelő
~300M
HDD szükséges
NVME 1TB
Az alkalmazást leállítottuk, mert újra és újra összeomlott (vagy elfogyott a memóriája). Az Indítás gombbal újra megpróbálhatod.
Indítás
Naplók
Részletek
Sonarr
Nincs telepítve
Automatikus sorozat letöltő és rendszerező
~150M
Pi kompatibilis
HDD szükséges
Telepítés
Részletek
SparkyFitness
Nincs telepítve
Táplálkozás- és edzéskövető
~400M
Telepítés
Részletek
Tandoor Recipes
Nincs telepítve
Receptkezelő és étkezés tervező
~512M
Pi kompatibilis
Telepítés
Részletek
Termix
Nincs telepítve
Webes SSH és szerver menedzser
~30M
Pi kompatibilis
Telepítés
Részletek
Traefik
Fut
Forgalomirányító (reverse proxy) — a kéréseket a megfelelő alkalmazáshoz irányítja.
traefik
Up 10 hours
Védett rendszerkomponens
Újraindítás
Részletek
Uptime Kuma
Nincs telepítve
Szolgáltatás és weboldal monitoring
~50M
Pi kompatibilis
Telepítés
Részletek
Vaultwarden
Nincs telepítve
Jelszókezelő (Bitwarden-kompatibilis)
~50M
Pi kompatibilis
Telepítés
Részletek
Vikunja
Nincs telepítve
Feladatkezelő listák és táblák (Todoist/Trello alternatíva)
~50M
Pi kompatibilis
Telepítés
Részletek
Wanderer
Nincs telepítve
Túra tervező és nyomkövetéssel
~350M
Pi kompatibilis
Telepítés
Részletek
Wishlist
Nincs telepítve
Családi kívánságlista megosztás
~120M
Pi kompatibilis
Telepítés
Részletek
Zipline
Nincs telepítve
ShareX/Flameshot szerver - screenshot és fájlmegosztás
~100M
Telepítés
Részletek
n8n
Nincs telepítve
Workflow automatizálás vizuális szerkesztővel
~512M
Telepítés
Részletek
Felhom.eu
Felhom.eu
Nyelv
<csrf>
/stacks
<csrf>
/stacks
Alkalmazás visszaállítása exportált csomagból
Sablonok frissítése a központi katalógusból
travel.enkisfelhom.hu
Ez az alkalmazás a legfrissebb elérhető változatot futtatja.
pdf.enkisfelhom.hu
Ez az alkalmazás a legfrissebb elérhető változatot futtatja.
wiki.enkisfelhom.hu
Ez az alkalmazás a legfrissebb elérhető változatot futtatja.
books.enkisfelhom.hu
Ez az alkalmazás a legfrissebb elérhető változatot futtatja.
Adattároló: NVME 1TB
docs.enkisfelhom.hu
Ez az alkalmazás a legfrissebb elérhető változatot futtatja.
files.enkisfelhom.hu
time.enkisfelhom.hu
Ez az alkalmazás a legfrissebb elérhető változatot futtatja.
gist.enkisfelhom.hu
Ez az alkalmazás a legfrissebb elérhető változatot futtatja.
papir.enkisfelhom.hu
Ez az alkalmazás a legfrissebb elérhető változatot futtatja.
Adattároló: NVME 1TB
paste.enkisfelhom.hu
Ez az alkalmazás a legfrissebb elérhető változatot futtatja.
jatek.enkisfelhom.hu
Ez az alkalmazás a legfrissebb elérhető változatot futtatja.
Adattároló: NVME 1TB
@@ -0,0 +1,159 @@
Launcher
Dashboard
Apps
Storage
Drives
Network storage
Backup
Overview
Remote backup
Apps
Restore
Sharing
Network sharing
System monitor
Debug
SETTINGS
System
Notifications
Security and access
0.307.0
Sign out ↗
Backup — Apps
enkisfelhom.hu
Some apps have no off-site copy. Turn it on for all of them? (1) Yes, all of them Not now
App backups (database + configuration)
A detailed backup of each app — database dumps, settings and app files. Independent of the full backup above, it can be restored per app.
Schedule
Database backup
02:30
Next: tomorrow 02:30
Last database backup:
2026-10-10 04:15 (11 hours ago)
Back up now
Databases
APP TYPE SIZE LAST VALIDATION STATUS
adventurelog PostgreSQL 12.5 MB 04:15 49 tables OK
bookstack MariaDB 57.8 KB 04:15 42 tables OK
docmost PostgreSQL 157.6 KB 04:15 50 tables OK
kimai MariaDB 51.3 KB 04:15 35 tables OK
paperless-ngx PostgreSQL 590.4 KB 04:15 72 tables OK
romm MariaDB 113.0 KB 04:15 36 tables OK
Backup status of the apps
AdventureLog
Config + DB + Data
▶
BentoPDF
Config
▶
BookStack
Config + DB + Data
▶
Calibre-Web Automated
Config + Data
▶
Docmost
Config + DB + Data
▶
Kimai
Config + DB + Data
▶
OpenGist
Config + Data
▶
Paperless-ngx
NVME 1TB
28.1 KB
▶
PrivateBin
Config + Data
▶
RomM
NVME 1TB
8.0 KB
▶
Felhom.eu
Felhom.eu
Language
<csrf>
/backups/apps
<csrf>
/backups/apps
<csrf>
<csrf>
App data backup is fine
The backup is a browsable file system
<csrf>
adventurelog
<csrf>
adventurelog
App data backup is fine
We have no result for this backup.
The backup is a browsable file system
<csrf>
bentopdf
<csrf>
bentopdf
App data backup is fine
The backup is a browsable file system
<csrf>
bookstack
<csrf>
bookstack
App data backup is fine
We have no result for this backup.
The backup is a browsable file system
<csrf>
calibre-web
<csrf>
calibre-web
App data backup is fine
The backup is a browsable file system
<csrf>
docmost
<csrf>
docmost
App data backup is fine
The backup is a browsable file system
<csrf>
kimai
<csrf>
kimai
App data backup is fine
We have no result for this backup.
The backup is a browsable file system
<csrf>
opengist
<csrf>
opengist
App data backup is fine
The backup is a browsable file system
<csrf>
paperless-ngx
<csrf>
paperless-ngx
App data backup is fine
We have no result for this backup.
The backup is a browsable file system
<csrf>
privatebin
<csrf>
privatebin
We stopped the app because it kept crashing (or ran out of memory). Press Start to try again.
The backup is a browsable file system
<csrf>
romm
<csrf>
romm
Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

@@ -0,0 +1,159 @@
Indítópult
Vezérlőpult
Alkalmazások
Tárhely
Meghajtók
Hálózati tárhely
Biztonsági mentés
Áttekintés
Távoli mentés
Alkalmazások
Visszaállítás
Megosztás
Hálózati megosztás
Rendszermonitor
Hibakeresés
BEÁLLÍTÁSOK
Rendszer
Értesítések
Biztonság és hozzáférés
0.307.0
Kijelentkezés ↗
Biztonsági mentés — Alkalmazások
enkisfelhom.hu
Van alkalmazás, amelyről nem készül távoli mentés. Bekapcsolod mindegyikre? (1) Igen, mindegyikre Nem most
Alkalmazás-mentések (adatbázis + konfiguráció)
Az egyes alkalmazások részletes, granulált mentése — adatbázis-kiírások, beállítások és alkalmazás-fájlok. A fenti teljes mentéstől függetlenül, alkalmazásonként visszaállítható.
Ütemezés
Adatbázis mentés
02:30
Következő: holnap 02:30
Utolsó adatbázis mentés:
2026-10-10 04:15 (11 órája)
Mentés most
Adatbázisok
ALKALMAZÁS TÍPUS MÉRET UTOLSÓ ÉRVÉNYESÍTÉS ÁLLAPOT
adventurelog PostgreSQL 12.5 MB 04:15 49 tábla OK
bookstack MariaDB 57.8 KB 04:15 42 tábla OK
docmost PostgreSQL 157.6 KB 04:15 50 tábla OK
kimai MariaDB 51.3 KB 04:15 35 tábla OK
paperless-ngx PostgreSQL 590.4 KB 04:15 72 tábla OK
romm MariaDB 113.0 KB 04:15 36 tábla OK
Alkalmazások mentési állapota
AdventureLog
Konfig + DB + Adatok
▶
BentoPDF
Konfig
▶
BookStack
Konfig + DB + Adatok
▶
Calibre-Web Automated
Konfig + Adatok
▶
Docmost
Konfig + DB + Adatok
▶
Kimai
Konfig + DB + Adatok
▶
OpenGist
Konfig + Adatok
▶
Paperless-ngx
NVME 1TB
28.1 KB
▶
PrivateBin
Konfig + Adatok
▶
RomM
NVME 1TB
8.0 KB
▶
Felhom.eu
Felhom.eu
Nyelv
<csrf>
/backups/apps
<csrf>
/backups/apps
<csrf>
<csrf>
Alkalmazás-adat mentés rendben
A mentés böngészhető fájlrendszerben
<csrf>
adventurelog
<csrf>
adventurelog
Alkalmazás-adat mentés rendben
Erről a mentésről nincs eredményünk.
A mentés böngészhető fájlrendszerben
<csrf>
bentopdf
<csrf>
bentopdf
Alkalmazás-adat mentés rendben
A mentés böngészhető fájlrendszerben
<csrf>
bookstack
<csrf>
bookstack
Alkalmazás-adat mentés rendben
Erről a mentésről nincs eredményünk.
A mentés böngészhető fájlrendszerben
<csrf>
calibre-web
<csrf>
calibre-web
Alkalmazás-adat mentés rendben
A mentés böngészhető fájlrendszerben
<csrf>
docmost
<csrf>
docmost
Alkalmazás-adat mentés rendben
A mentés böngészhető fájlrendszerben
<csrf>
kimai
<csrf>
kimai
Alkalmazás-adat mentés rendben
Erről a mentésről nincs eredményünk.
A mentés böngészhető fájlrendszerben
<csrf>
opengist
<csrf>
opengist
Alkalmazás-adat mentés rendben
A mentés böngészhető fájlrendszerben
<csrf>
paperless-ngx
<csrf>
paperless-ngx
Alkalmazás-adat mentés rendben
Erről a mentésről nincs eredményünk.
A mentés böngészhető fájlrendszerben
<csrf>
privatebin
<csrf>
privatebin
Az alkalmazást leállítottuk, mert újra és újra összeomlott (vagy elfogyott a memóriája). Az Indítás gombbal újra megpróbálhatod.
A mentés böngészhető fájlrendszerben
<csrf>
romm
<csrf>
romm
@@ -0,0 +1,39 @@
// R-910 (2026-10-10): the website's dashboard pictures retaken on demo-hp's household guest 9201, controller 0.305.0+, read only
// except the language round trip (through the globe's own form). Starts in whatever language the household has, shoots both
// languages, ends in the language it found. Each page's visible text is saved beside its picture for the privacy scan.
const puppeteer = require('puppeteer'); const fs = require('fs');
const sleep = ms => new Promise(r => setTimeout(r, ms));
const HOST = 'felhom.enkisfelhom.hu', BASE = 'https://' + HOST;
const sess = fs.readFileSync('/in/session.txt', 'utf8').trim(); const [k, v] = sess.split('=');
const PAGES = [['start', '/launcher'], ['apps', '/stacks'], ['app', '/apps/paperless-ngx'], ['backups', '/backups/apps']];
async function lang(p) { return p.$eval('html', e => e.lang); }
async function setLang(p, want) {
await p.goto(BASE + '/launcher', {waitUntil: 'networkidle2'});
const btn = await p.$(`button.lang-globe-item[value="${want}"]`);
if (!btn) throw new Error('no globe item ' + want);
await Promise.all([p.waitForNavigation({waitUntil: 'networkidle2'}).catch(() => {}), p.evaluate(b => b.closest('form').requestSubmit(b), btn)]);
await p.goto(BASE + '/launcher', {waitUntil: 'networkidle2'});
console.log('language now', await lang(p));
}
async function shot(p, name) {
await sleep(1500);
await p.screenshot({path: `/out/${name}.png`});
const t = await p.evaluate(() => document.body.innerText + '\n' + Array.from(document.querySelectorAll('[title],[alt],[placeholder],input[value]')).map(e => [e.title, e.alt, e.placeholder, e.value].join(' ')).join('\n'));
fs.writeFileSync(`/out/${name}.txt`, t); console.log('shot', name);
}
(async () => {
const b = await puppeteer.launch({args: ['--no-sandbox', '--ignore-certificate-errors', `--host-resolver-rules=MAP * ${process.env.TRAEFIK}`]});
const p = await b.newPage();
await p.setCookie({name: k, value: v, domain: HOST, path: '/', secure: true, httpOnly: true});
await p.setViewport({width: 1440, height: 900, deviceScaleFactor: 1});
await p.goto(BASE + '/launcher', {waitUntil: 'networkidle2'});
const found = await lang(p); console.log('language found', found);
const order = found === 'hu' ? ['hu', 'en'] : ['en', 'hu'];
for (const l of order) {
if ((await lang(p)) !== l) await setLang(p, l);
for (const [name, path] of PAGES) { await p.goto(BASE + path, {waitUntil: 'networkidle2'}); await shot(p, `${name}-${l}`); }
}
if ((await lang(p)) !== found) await setLang(p, found);
console.log('language left', await lang(p), '(found', found + ')');
await b.close();
})().catch(e => { console.error(e); process.exit(1); });
@@ -0,0 +1,55 @@
Launcher
Dashboard
Apps
Storage
Drives
Network storage
Backup
Overview
Remote backup
Apps
Restore
Sharing
Network sharing
System monitor
Debug
SETTINGS
System
Notifications
Security and access
0.305.0
Sign out ↗
Launcher
enkisfelhom.hu
Share the launcher
AdventureLog
BentoPDF
BookStack
Calibre-Web Automated
Docmost
Filebrowser
Kimai
OpenGist
Paperless-ngx
PrivateBin
RomM
Stopped
Felhom.eu
Felhom.eu
Language
<csrf>
/launcher
<csrf>
/launcher
<csrf>
@@ -0,0 +1,55 @@
Indítópult
Vezérlőpult
Alkalmazások
Tárhely
Meghajtók
Hálózati tárhely
Biztonsági mentés
Áttekintés
Távoli mentés
Alkalmazások
Visszaállítás
Megosztás
Hálózati megosztás
Rendszermonitor
Hibakeresés
BEÁLLÍTÁSOK
Rendszer
Értesítések
Biztonság és hozzáférés
0.305.0
Kijelentkezés ↗
Indítópult
enkisfelhom.hu
Indítópult megosztása
AdventureLog
BentoPDF
BookStack
Calibre-Web Automated
Docmost
Filebrowser
Kimai
OpenGist
Paperless-ngx
PrivateBin
RomM
Leállítva
Felhom.eu
Felhom.eu
Nyelv
<csrf>
/launcher
<csrf>
/launcher
<csrf>