R-1088: credentials restored by the operator; the owed demo-hp guide page check passed (Plex, Sonarr, HU+EN); rotation left open
gates / gates (push) Successful in 6m43s
gates / gates (push) Successful in 6m43s
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:
@@ -10,3 +10,15 @@ The full report is `app-catalog-felhom.eu/REPORT.md`. This file is the felhom.eu
|
||||
- **Rows opened:** R-1085, R-1086, R-1089, R-1090, R-1091, R-1092. R-1088 (another session's row) extended. None closed.
|
||||
- **Code:** `scripts/read_credential.py` + its test — the same-file guard (R-1088), red-proved.
|
||||
- **STATUS:** one „works" line, D11 and D12, and the „read the Plex and Sonarr guide" line.
|
||||
|
||||
## Morning of 2026-10-16 — the owed rendering check
|
||||
|
||||
- The operator restored `~/.config/credentials` from backup. CC checked the key names only (17 keys); no value read.
|
||||
- **Rendering check ran, 07:20 UTC, through `https://felhom.enkisfelhom.hu` (demo-hp 9201, controller 0.317.0):**
|
||||
login 302 + session; `/apps/plex/guide` and `/apps/sonarr/guide`, Hungarian and `?lang=en`. Each page: 4
|
||||
`data-guide-section`, 1 FAQ block with 6 entries, `data-guide-checked` equal to the catalog. Every rendered string
|
||||
(33 Plex, 35 Sonarr, per language) equals the catalog text on `main` (`ec864b5`); a changed line in memory was seen
|
||||
to fail the compare. Evidence: `documentation/audits/app-guides-2026-10-15/render-check-2026-10-16.txt`.
|
||||
- Read only: nothing installed, removed, restarted or set; logged out after. Teardown: provisioned nothing.
|
||||
- **R-1088 updated, not closed:** restore and check done; the hub token rotation is still the operator's.
|
||||
- STATUS: the „read the guides" line now says the robot check passed; the R-1088 line now asks for the rotation only.
|
||||
|
||||
@@ -51,8 +51,8 @@
|
||||
| D12 | R-1091 (1), (2) | Cal.com promises Google/Outlook calendar sync that is not set up, and BentoPDF says files are processed „on the server” (they are processed in the browser). Reword both to what is true? | **Yes, reword** | Keep: two promises that are not true | the app pages keep saying it | — |
|
||||
|
||||
## Waiting on you — do
|
||||
- **Olvasd el a Plex és a Sonarr útmutatót a demo-hp-n** (az alkalmazás oldalán az „Útmutató” fül). Ha más formát szeretnél, egy menetben átírom mind a 62-t. Ha nem nézed meg: a szöveg ellenőrzött, de ember még nem olvasta a képernyőn — a robot a DooPlexen nem tud bejelentkezni, mert a jelszófájl üres (R-1088).
|
||||
- **Rotate CC's hub token and restore CC's credentials file (R-1088).** A session overwrote the file with the token at 22:03; all other keys are gone, and the token was printed once into a transcript. If not: CC cannot log in to any box dashboard, and a printed token stays valid.
|
||||
- **Olvasd el a Plex és a Sonarr útmutatót a demo-hp-n** (az alkalmazás oldalán az „Útmutató” fül). Ha más formát szeretnél, egy menetben átírom mind a 62-t. A robot 2026-10-16-án bejelentkezve megnézte: mindkét oldal megjelenik magyarul és angolul, 4 rész és a GYIK, minden sor egyezik a katalógussal. Ha nem nézed meg: csak a forma marad emberi szemmel nem látott.
|
||||
- **Rotate CC's hub token (R-1088).** The credentials file is restored (2026-10-16), and logins work again. The token was printed once into a transcript on 2026-10-15. If not: that printed token stays valid.
|
||||
- **Vouch agent 0.157.0 and its config bundle** (hub → Configuration → Artifacts). Then CC raises the global floor to controller 0.317.0 with MinAgent 0.157.0 and clears the three per-box floors. If not: households stay on 0.314.0 and keep counting a same-disk copy as a second copy; the three test boxes keep their own floor.
|
||||
- **Nézd meg az AdventureLog és a Plex oldalát a demo-hp-n, a rendes címén** (`felhom.enkisfelhom.hu`). A túl nagy keret javítva: a tartalom most 32 képpontra van a bal oszloptól és 36-ra a tetejétől (előtte 80 és 64 volt). Az alkalmazás oldala mostantól egy hasábban van: egy szélesség, vékony vonalak a szakaszok között, aláhúzott fül, és doboz csak ott, ahol az alkalmazás vár rád (kék) vagy ahol valami kockázatos (sárga). A „sikeres frissítés" sáv kis szürke sorrá vált a név alatt. Ha nem nézed meg: a felület él, csak senki nem látta még böngészőben.
|
||||
- **Nézd meg az új alkalmazás oldalt a demo-hp-n (egy telepített és egy nem telepített app).** Egy alkalmazás mostantól egy oldal négy füllel (Beállítások · Adatok és mentés · Útmutató · Napló), az Indítás/Újraindítás/Leállítás a „Működés" kártyán van, és a „Vissza" az alkalmazáshoz visz, nem a listához. Mondd meg, jó-e így az elrendezés. Ha nem nézed meg: a felület él, csak senki nem látta még böngészőben — a robot a DooPlexen nem tud kattintani.
|
||||
|
||||
@@ -0,0 +1,230 @@
|
||||
# Rendering check of the Plex and Sonarr guides on demo-hp — 2026-10-16 07:20 UTC (morning after the night)
|
||||
# Owed from the night (R-1088: the credentials file was overwritten; the operator restored it from backup).
|
||||
# Method: endpoint level, no browser on DooPlex. Public address https://felhom.enkisfelhom.hu (demo-hp guest 9201,
|
||||
# controller 0.317.0 per the page footer). Password read file->file by scripts/read_credential.py, never printed,
|
||||
# shredded after use. POST /login -> 302 + felhom_session. Pages: /apps/plex/guide, /apps/sonarr/guide (Sonarr is
|
||||
# not installed: 302 to /apps/sonarr, which is the guide view), each also with ?lang=en (no setting changed).
|
||||
# Read only: nothing installed, removed, restarted or set. Logged out after (POST /logout 302; the cookie then 302s to login).
|
||||
# Catalog on main: ec864b5; its plex/sonarr guide equals A/plex-draft.json and A/sonarr-draft.json (hu, en, checked_version).
|
||||
|
||||
## 1. Marker count (spec: assert the data-guide-section count)
|
||||
plex: page lang=hu data-guide-section=4 (want 4) data-guide-faq=1 FAQ entries=6 (want 6) checked=['1.41.4.9463-630c9f557'] (want 1.41.4.9463-630c9f557) titles match draft[hu]=True -> PASS
|
||||
sonarr: page lang=hu data-guide-section=4 (want 4) data-guide-faq=1 FAQ entries=6 (want 6) checked=['4.0.20'] (want 4.0.20) titles match draft[hu]=True -> PASS
|
||||
plex: page lang=en data-guide-section=4 (want 4) data-guide-faq=1 FAQ entries=6 (want 6) checked=['1.41.4.9463-630c9f557'] (want 1.41.4.9463-630c9f557) titles match draft[en]=True -> PASS
|
||||
sonarr: page lang=en data-guide-section=4 (want 4) data-guide-faq=1 FAQ entries=6 (want 6) checked=['4.0.20'] (want 4.0.20) titles match draft[en]=True -> PASS
|
||||
|
||||
## 2. Every rendered string vs the catalog text (titles, intros, steps, FAQ q/a)
|
||||
plex hu: strings on page 33, in catalog 33, mismatched 0, <label>.DOMAIN filled 0, unfilled DOMAIN left 0
|
||||
sonarr hu: strings on page 35, in catalog 35, mismatched 0, <label>.DOMAIN filled 0, unfilled DOMAIN left 0
|
||||
plex en: strings on page 33, in catalog 33, mismatched 0, <label>.DOMAIN filled 0, unfilled DOMAIN left 0
|
||||
sonarr en: strings on page 35, in catalog 35, mismatched 0, <label>.DOMAIN filled 0, unfilled DOMAIN left 0
|
||||
|
||||
## 3. Negative control: the same compare with one step and one FAQ answer changed in memory
|
||||
plex hu: strings on page 33, in catalog 33, mismatched 2, <label>.DOMAIN filled 0, unfilled DOMAIN left 0
|
||||
sonarr hu: strings on page 35, in catalog 35, mismatched 2, <label>.DOMAIN filled 0, unfilled DOMAIN left 0
|
||||
plex en: strings on page 33, in catalog 33, mismatched 2, <label>.DOMAIN filled 0, unfilled DOMAIN left 0
|
||||
sonarr en: strings on page 35, in catalog 35, mismatched 2, <label>.DOMAIN filled 0, unfilled DOMAIN left 0
|
||||
|
||||
## The guide block as served: plex.html
|
||||
<div class="app-guide" data-guide="1" data-guide-checked="1.41.4.9463-630c9f557">
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-section="1">
|
||||
<h3>Nézés tévén vagy telefonon</h3>
|
||||
<p>A Plex appok a Plex fiókodon keresztül találják meg a szerveredet.</p>
|
||||
|
||||
<ol class="app-info-list"><li>Nyisd meg a Plex appot, és jelentkezz be ugyanazzal a Plex fiókkal, amellyel a kódot kérted.</li><li>A „Kezdőképernyő” oldalon megjelennek a könyvtáraid.</li><li>Válassz egy filmet, és kattints a „Lejátszás” gombra.</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-section="1">
|
||||
<h3>Új filmek és új meghajtó</h3>
|
||||
<p>Amit a meghajtód media mappájába teszel, azt a Plex magától észreveszi.</p>
|
||||
|
||||
<ol class="app-info-list"><li>A Radarr a media/movies, a Sonarr a media/tv mappába tesz mindent, a Plex innen olvas.</li><li>Új meghajtónál a doboz hozzáadja a meghajtó mappáit a meglévő film- és sorozatkönyvtáraidhoz, és elindít egy beolvasást.</li><li>Ha egy új fájl mégsem jelenik meg, a könyvtár menüjében kattints a „Könyvtárfájlok beolvasása” pontra.</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-section="1">
|
||||
<h3>Rossz cím vagy borító javítása</h3>
|
||||
<p>A Plex a fájl és a mappa nevéből találja ki, melyik film ez.</p>
|
||||
|
||||
<ol class="app-info-list"><li>Nyisd meg a filmet, és kattints a „Több” menüre.</li><li>Válaszd a „Találatok pontosítása” pontot, és keresd meg a helyes címet.</li><li>Legközelebb segít, ha a mappa neve a film címe és éve, például: Nosferatu (1922).</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-section="1">
|
||||
<h3>Megosztás a családdal</h3>
|
||||
<p>Minden családtag a saját Plex fiókjával nézhet.</p>
|
||||
|
||||
<ol class="app-info-list"><li>A „Beállítások” oldalon nyisd meg a „Könyvtár hozzáférés kezelése” részt.</li><li>Válaszd ki, kivel és mely könyvtárakat osztod meg.</li><li>A családtag a saját Plex fiókjával lép be az appba.</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-faq="1">
|
||||
<h3>Gyakori kérdések</h3>
|
||||
<dl class="app-faq">
|
||||
<dt>Miért nem látom a filmet?</dt>
|
||||
<dd>Nézd meg, hogy a fájl a media/movies mappában van-e, és hogy a mappa neve a film címe és éve. Utána kattints a „Könyvtárfájlok beolvasása” pontra.</dd>
|
||||
<dt>Törölhetek filmet a Plexből?</dt>
|
||||
<dd>Nem: a Plex csak olvassa a meghajtót. Törölni a fájlböngészőben, a Radarrban vagy a Sonarrban tudsz.</dd>
|
||||
<dt>Kell Plex Pass?</dt>
|
||||
<dd>Otthoni nézéshez nem. Néhány funkcióhoz igen, például a bevezető átugrásához; ezt a Plex dönti el, nem a doboz.</dd>
|
||||
<dt>Akadozik a lejátszás. Mit tehetek?</dt>
|
||||
<dd>A Plex ilyenkor átalakítja a videót, és ez a dobozon lassú lehet. Az appban a „Videó minőség” beállításnál válaszd az „Eredeti” értéket.</dd>
|
||||
<dt>Elérem otthonon kívül?</dt>
|
||||
<dd>A doboz beállította, hogy a Plex a saját címeden is elérhető legyen. Otthonon kívüli nézéshez a Plex előfizetést kérhet; ezt a Plex szabja meg.</dd>
|
||||
<dt>Lejárt a kód. Hol kérek újat?</dt>
|
||||
<dd>Ugyanott, ahol az elsőt: a címet az első lépések között találod. Az új kódot a vezérlőpulton, a Plex „Beállítások” fülén add meg.</dd>
|
||||
</dl>
|
||||
|
||||
## The guide block as served: sonarr.html
|
||||
<div class="app-guide" data-guide="1" data-guide-checked="4.0.20">
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-section="1">
|
||||
<h3>Első sorozat hozzáadása</h3>
|
||||
<p>A Sonarr figyeli a sorozatot, és letölti az új részeket, amint megjelennek.</p>
|
||||
|
||||
<ol class="app-info-list"><li>A bal oldali menüben a „Series” (Sorozatok) alatt kattints az „Add New” (Új hozzáadása) pontra.</li><li>Írd be a sorozat címét, és kattints a megfelelő találatra.</li><li>A „Root Folder” (gyökérmappa) mezőben válaszd annak a meghajtónak a media/tv mappáját, ahová a sorozatot szeretnéd.</li><li>A „Tags” (címkék) mezőbe írd ugyanannak a meghajtónak a címkéjét, például hdd-1. Címke nélkül a sorozat nem kap letöltőt.</li><li>Hagyd bejelölve a „Start search for missing episodes” (hiányzó részek keresése) jelölőt, és add hozzá a sorozatot.</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-section="1">
|
||||
<h3>A letöltés követése</h3>
|
||||
<p>A letöltés a háttérben fut, az oldalt be is zárhatod.</p>
|
||||
|
||||
<ol class="app-info-list"><li>Az „Activity” (Tevékenység) menü „Queue” (Sor) lapján látod, mi töltődik éppen.</li><li>Ha egy rész letöltődött, a Sonarr magától átteszi a sorozat mappájába. A Plex és a Jellyfin innen látja.</li><li>A „Calendar” (Naptár) mutatja, mikor jön a következő rész.</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-section="1">
|
||||
<h3>Hiányzó részek keresése</h3>
|
||||
<p>Ha egy régebbi évad hiányzik, egyszerre kerestetheted.</p>
|
||||
|
||||
<ol class="app-info-list"><li>Nyisd meg a „Wanted” (Keresett) menü „Missing” (Hiányzó) lapját.</li><li>Jelöld be a kívánt részeket, és kattints a „Search Selected” (kijelöltek keresése) gombra.</li><li>Ha mindet keresnéd, használd a „Search All” (összes keresése) gombot.</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-section="1">
|
||||
<h3>Ha valami nem működik</h3>
|
||||
<p>A Sonarr maga jelzi, ha valami hibás.</p>
|
||||
|
||||
<ol class="app-info-list"><li>Nézd meg a „System” (Rendszer) menü „Status” (Állapot) lapját: a „Health” (állapot) rész sorolja a hibákat.</li><li>A „Settings” (Beállítások) menü „Download Clients” (letöltő kliensek) oldalán látod a letöltőket, amelyeket a doboz bekötött.</li><li>Ha nincs találat, nézd meg a Prowlarr „Indexers” (indexerek) oldalát: legalább egy forrás kell.</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-faq="1">
|
||||
<h3>Gyakori kérdések</h3>
|
||||
<dl class="app-faq">
|
||||
<dt>Honnan tölt le a Sonarr?</dt>
|
||||
<dd>Azokról a forrásokról (indexerekről), amelyeket te adsz meg a Prowlarrban. A doboz összeköti a kettőt, de forrást nem ad és nem ajánl: ez a te döntésed.</dd>
|
||||
<dt>Be kell állítanom a letöltő klienst és a mappákat?</dt>
|
||||
<dd>Nem. A doboz minden meghajtódhoz bekötötte a telepített letöltőket (qBittorrent, Transmission), a gyökérmappát és a címkét. Neked csak a sorozatot kell hozzáadnod.</dd>
|
||||
<dt>Miért van ugyanaz a fájl a torrents és a tv mappában is?</dt>
|
||||
<dd>Nem foglal dupla helyet: ugyanaz a fájl két néven (hardlink). A letöltő tovább oszthatja, a könyvtárad pedig rendezett marad.</dd>
|
||||
<dt>Letöltötte, de nem került a könyvtárba. Miért?</dt>
|
||||
<dd>Ha a meghajtón kevesebb mint 10 GB maradna, a Sonarr nem importál. Ezt a doboz állította be: „Settings”, „Media Management”, „Minimum Free Space” (legkevesebb szabad hely). Szabadíts fel helyet, és a következő ellenőrzéskor folytatja.</dd>
|
||||
<dt>Hol nézhetem meg a sorozatokat?</dt>
|
||||
<dd>A Plexben vagy a Jellyfinben. A Sonarr csak letölt és rendez, lejátszani nem tud.</dd>
|
||||
<dt>Mit tölthetek le?</dt>
|
||||
<dd>Csak olyan tartalmat, amihez jogod van, például szabad licencű műsorokat.</dd>
|
||||
</dl>
|
||||
|
||||
## The guide block as served: en/plex.html
|
||||
<div class="app-guide" data-guide="1" data-guide-checked="1.41.4.9463-630c9f557">
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-section="1">
|
||||
<h3>Watch on a TV or a phone</h3>
|
||||
<p>The Plex apps find your server through your Plex account.</p>
|
||||
|
||||
<ol class="app-info-list"><li>Open the Plex app and sign in with the same Plex account you got the code with.</li><li>Your libraries appear on the „Home” page.</li><li>Choose a film and select „Play”.</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-section="1">
|
||||
<h3>New films and a new drive</h3>
|
||||
<p>Whatever you put into your drive's media folder, Plex notices by itself.</p>
|
||||
|
||||
<ol class="app-info-list"><li>Radarr puts everything into media/movies and Sonarr into media/tv; Plex reads from there.</li><li>With a new drive, the box adds its folders to your existing film and series libraries and starts a scan.</li><li>If a new file still does not show up, select „Scan Library Files” in the library's menu.</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-section="1">
|
||||
<h3>Fix a wrong title or cover</h3>
|
||||
<p>Plex works out which film it is from the names of the file and the folder.</p>
|
||||
|
||||
<ol class="app-info-list"><li>Open the film and select the „More” menu.</li><li>Choose „Fix Match” and search for the right title.</li><li>Next time it helps to name the folder after the film's title and year, for example: Nosferatu (1922).</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-section="1">
|
||||
<h3>Share with the family</h3>
|
||||
<p>Every family member can watch with their own Plex account.</p>
|
||||
|
||||
<ol class="app-info-list"><li>On the „Settings” page, open „Manage Library Access”.</li><li>Choose who gets which libraries.</li><li>The family member signs in to the app with their own Plex account.</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-faq="1">
|
||||
<h3>Frequently asked questions</h3>
|
||||
<dl class="app-faq">
|
||||
<dt>Why can I not see the film?</dt>
|
||||
<dd>Check that the file is in the media/movies folder and that the folder is named after the film's title and year. Then select „Scan Library Files”.</dd>
|
||||
<dt>Can I delete a film from Plex?</dt>
|
||||
<dd>No: Plex only reads the drive. You delete in the file browser, in Radarr or in Sonarr.</dd>
|
||||
<dt>Do I need Plex Pass?</dt>
|
||||
<dd>Not for watching at home. Some features need it, for example skipping intros; Plex decides that, not the box.</dd>
|
||||
<dt>Playback stutters. What can I do?</dt>
|
||||
<dd>Plex is converting the video, and that can be slow on the box. In the app, set „Video Quality” to „Original”.</dd>
|
||||
<dt>Can I reach it away from home?</dt>
|
||||
<dd>The box set Plex up to answer on your own address. To watch away from home, Plex may ask for a subscription; Plex sets that rule.</dd>
|
||||
<dt>The code ran out. Where do I get a new one?</dt>
|
||||
<dd>In the same place as the first one: its address is in the first steps. Enter the new code on the dashboard, on Plex's „Settings” tab.</dd>
|
||||
</dl>
|
||||
|
||||
## The guide block as served: en/sonarr.html
|
||||
<div class="app-guide" data-guide="1" data-guide-checked="4.0.20">
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-section="1">
|
||||
<h3>Add your first series</h3>
|
||||
<p>Sonarr watches a series and downloads each new episode as it comes out.</p>
|
||||
|
||||
<ol class="app-info-list"><li>In the menu on the left, under „Series”, select „Add New”.</li><li>Type the title of the series and select the right result.</li><li>In „Root Folder”, choose the media/tv folder of the drive you want the series on.</li><li>In „Tags”, type the tag of that same drive, for example hdd-1. Without a tag the series gets no download client.</li><li>Leave „Start search for missing episodes” ticked and add the series.</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-section="1">
|
||||
<h3>Follow a download</h3>
|
||||
<p>Downloads run in the background, so you can close the page.</p>
|
||||
|
||||
<ol class="app-info-list"><li>The „Queue” tab of the „Activity” menu shows what is downloading now.</li><li>When an episode is done, Sonarr moves it into the series folder by itself. Plex and Jellyfin see it there.</li><li>The „Calendar” shows when the next episode is due.</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-section="1">
|
||||
<h3>Search for missing episodes</h3>
|
||||
<p>If an older season is missing, you can search for it in one go.</p>
|
||||
|
||||
<ol class="app-info-list"><li>Open the „Missing” tab of the „Wanted” menu.</li><li>Tick the episodes you want and select „Search Selected”.</li><li>To search for all of them, use „Search All”.</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-section="1">
|
||||
<h3>When something does not work</h3>
|
||||
<p>Sonarr tells you itself when something is wrong.</p>
|
||||
|
||||
<ol class="app-info-list"><li>Look at the „Status” tab of the „System” menu: the „Health” part lists the problems.</li><li>The „Download Clients” page of the „Settings” menu shows the download clients the box connected.</li><li>If nothing is found, look at the „Indexers” page in Prowlarr: you need at least one source.</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
<div class="app-section" style="margin-top:1rem" data-guide-faq="1">
|
||||
<h3>Frequently asked questions</h3>
|
||||
<dl class="app-faq">
|
||||
<dt>Where does Sonarr download from?</dt>
|
||||
<dd>From the sources (indexers) you add in Prowlarr. The box connects the two, but it neither provides nor suggests a source: that is your choice.</dd>
|
||||
<dt>Do I have to set up the download client and the folders?</dt>
|
||||
<dd>No. For every drive, the box connected the installed download clients (qBittorrent, Transmission), the root folder and the tag. You only add the series.</dd>
|
||||
<dt>Why is the same file in both the torrents and the tv folder?</dt>
|
||||
<dd>It does not take double space: it is one file with two names (a hardlink). The download client can keep sharing it, and your library stays tidy.</dd>
|
||||
<dt>It downloaded, but it is not in the library. Why?</dt>
|
||||
<dd>Sonarr does not import if less than 10 GB would be left on the drive. The box set this: „Settings”, „Media Management”, „Minimum Free Space”. Free up some space and it goes on at the next check.</dd>
|
||||
<dt>Where do I watch the series?</dt>
|
||||
<dd>In Plex or Jellyfin. Sonarr only downloads and files; it cannot play anything.</dd>
|
||||
<dt>What may I download?</dt>
|
||||
<dd>Only content you have the right to, for example shows under a free licence.</dd>
|
||||
</dl>
|
||||
@@ -220,7 +220,7 @@ stopping line that lies.
|
||||
| ID | Category | Sev | What | State | Blocked on | Next action | Owner |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| **R-1033** | Security & access | P1 | **Every box answers its public names over plain `http://` — login pages included.** MEASURED 2026-10-14 from DooPlex over the public path (Cloudflare `Server: cloudflare`, `CF-RAY`): `http://felhom.enkicsifelhom.hu/login` → 200, `http://felhom.enkisfelhom.hu/login` (demo-hp) → 200, `http://torrent.enkicsifelhom.hu/` → 200; no redirect to https and no `Strict-Transport-Security`. Sonarr, Radarr and Prowlarr make it worse: their sign-in redirect is ABSOLUTE `http://<name>/login`, so a household that opened the https address lands on the plain page and sends its password unencrypted between the browser and Cloudflare (`audits/media-all-drives-2026-10-14/H-indexer-sync-ncore.txt`). On an untrusted network (café Wi-Fi) that password can be read. The operator may raise this to P1. | **NARROWED** — filed 2026-10-14; **P1 by the operator 2026-10-14 22:13 (`09` §3 decision 244)**. FIXED in controller v0.312.0 (traefik sends every `http://` to `https://`, 301, path and query kept; HSTS one day; decision 246) and PROVEN on Tester 1, demo-hp and demo-felhom (29 public names, `scripts/https_only_check.py`; https answers unchanged), delivered by hand. Open: the fleet delivery — vouch 0.312.0 and the floor (morning); Tester 2 (`sajatfelhom.hu`, 0.292.0, off) gets it with the floor | the operator's vouch + floor | Vouch controller 0.312.0, raise the floor; then run `scripts/https_only_check.py` on every box and close | CC |
|
||||
| **R-1088** | Security & access | P2 | **CC's credentials file was overwritten with one token, and that token was printed once into a session transcript.** 2026-10-15 22:03 (local): a CC session called `scripts/read_credential.py HUB_TOKEN ~/.config/credentials` — the second argument is the OUTPUT file, so the reader wrote the hub token over the whole file; every other key (dashboard passwords, the box passwords) is gone from DooPlex. At 20:43 UTC the storage-identity build B session listed the file's „key names" with `sed 's/=.*//'`; the file had no `=`, so the token itself was printed into that session's transcript. The token is CC's scoped hub token (floor only; no secrets, no deletes). **The session that did it was the app-guides night** (it stopped at once, touched the file no more, and told the operator in the terminal). **The guard is built (same night, felhom.eu):** `read_credential.py` refuses an OUTFILE that is the credentials file by path, symlink or hard link, before reading or writing; pinned by `test_the_outfile_can_never_be_the_credentials_file`, red-proved (`audits/app-guides-2026-10-15/credential-guard-redproof.txt`). Until the restore, the demo-hp rendering check of the night's guides is owed (it needs the dashboard password). | OPEN | Operator: rotate CC's hub token; restore `~/.config/credentials` from the password manager. | Rotate the hub token (`05` §17); restore the file; then CC re-runs the demo-hp rendering check of the Plex and Sonarr guides. | Operator |
|
||||
| **R-1088** | Security & access | P2 | **CC's credentials file was overwritten with one token, and that token was printed once into a session transcript.** 2026-10-15 22:03 (local): a CC session called `scripts/read_credential.py HUB_TOKEN ~/.config/credentials` — the second argument is the OUTPUT file, so the reader wrote the hub token over the whole file; every other key (dashboard passwords, the box passwords) is gone from DooPlex. At 20:43 UTC the storage-identity build B session listed the file's „key names" with `sed 's/=.*//'`; the file had no `=`, so the token itself was printed into that session's transcript. The token is CC's scoped hub token (floor only; no secrets, no deletes). **The session that did it was the app-guides night** (it stopped at once, touched the file no more, and told the operator in the terminal). **The guard is built (same night, felhom.eu):** `read_credential.py` refuses an OUTFILE that is the credentials file by path, symlink or hard link, before reading or writing; pinned by `test_the_outfile_can_never_be_the_credentials_file`, red-proved (`audits/app-guides-2026-10-15/credential-guard-redproof.txt`). **2026-10-16: the operator restored the file from backup** (17 keys present; CC checked the key names only, no value read). **The owed demo-hp rendering check then ran (07:20 UTC):** login 302 + session, Plex and Sonarr guide pages in Hungarian and English, 4 `data-guide-section` + 1 FAQ block each, every rendered string equal to the catalog, negative control seen failing (`audits/app-guides-2026-10-15/render-check-2026-10-16.txt`). **Left open: the token rotation** — the operator did not say it was rotated, and a file restored from a backup taken before the incident holds the same token that was printed. | OPEN | Operator: rotate CC's hub token. | Rotate the hub token (`05` §17) and write the new one into `~/.config/credentials`; then close this row. | Operator |
|
||||
| **R-985** | Security & access | P3 | **Our zero-knowledge wording is stronger than the product: on a live box the operator can reach the off-site backup key (through the vaulted root credential and the operator tunnel) without the customer's recovery code.** Design-shaped; decision for the operator in `STATUS.md`. Fix options: change the wording, or remove operator root reach to the key. Security review 2026-10-12 (`audits/security-review-2026-10-12/`); detail held off-git for the operator (`/mnt/5_hdd/felhom.eu/evidence/security-review-2026-10-12-PRIVATE/`). | WAITING-ON-OPERATOR — design-proposal | operator decision | Decide the wording or the change | operator |
|
||||
| **R-983** | Security & access | P3 | **Seven small dashboard weaknesses: after sign-in the browser can be sent to another site; the server-reboot route acts on a GET, so a link can reboot the guest (**FIXED 2026-10-13 in controller v0.310.0, R-998 session: POST only, `TestServerReboot_PostOnly` — six remain**); no anti-framing headers; parallel sign-in attempts get past the limiter; the settings page allows 8-character passwords; reset-code requests have no limit on the box; logout can be triggered from another site.** Fix each with a test, in one controller release. Security review 2026-10-12 (`audits/security-review-2026-10-12/`); detail held off-git for the operator (`/mnt/5_hdd/felhom.eu/evidence/security-review-2026-10-12-PRIVATE/`). | OPEN | — | One hardening release | CC |
|
||||
| **R-977** | Security & access | P3 | **FileBrowser's default password can come back if its data volume is ever re-created, because the box checks it only once; and the tunnel can start before the box is claimed.** Static; needs a live check on 9202. Fix: check at every start, and do not start the tunnel before the claim. Security review 2026-10-12 (`audits/security-review-2026-10-12/`); detail held off-git for the operator (`/mnt/5_hdd/felhom.eu/evidence/security-review-2026-10-12-PRIVATE/`). | OPEN | — | Measure on 9202; then fix | CC |
|
||||
|
||||
Reference in New Issue
Block a user