agw fdf015946e feat(yt): YouTube offline — hent til Emby, slet igen når videoen er set
Nyt admin-modul /admin/yt: indsæt en YouTube-URL, og videoen hentes med yt-dlp
til Emby-biblioteket "YouTube" (/media/yt-offline) — klar til offline-brug.

Oprydningen er bevidst modsat mediaclean.py: dér tæller selv delvis afspilning
som "set" for at frede alt der er rørt, her slettes kun videoer der er eksplicit
markeret som set (Emby UserData.Played). Halvt sete videoer bliver liggende.
Favoritter slettes aldrig, og en favoritering i karensperioden freder igen.

Sikkerhedsnet: oprydningen rører kun filer portalen selv har hentet (registreret
med fuld sti i yt_state.json). Det eksisterende YT-bibliotek er urørligt, og
download-træet er lagt uden for det, så Emby ikke indekserer dobbelt.

Standardvalg:
- H.264/AAC foretrækkes frem for AV1. Pascal-GPU'en i CT100 kan ikke afkode AV1,
  og mange afspillere kan det slet ikke offline. Koster ~1,8x diskplads.
- SponsorBlock klipper sponsorater ud og beholder resten som kapitler.
- Undertekster hentes hvis de findes, men er aldrig et krav: YouTube rate-limiter
  undertekst-endpointet uafhængigt af videoen, så en 429 dér ville ellers vælte
  hele hentningen. Fald-tilbage henter videoen uden undertekster.
- Metadata, miniature og kapitler indlejres, så Emby har noget at vise.

Alt kan redigeres i UI'et. Natlig timer (yt-offline.timer) tømmer køen og rydder op.

Claude-Session: https://claude.ai/code/session_011WxG8pbLj61jYU1MMaD7VC
2026-09-19 19:47:48 +02:00

weircon-front

Forside og admin-portal for weircon.dk — et selv-hostet homelab.

FastAPI-app der:

  • Logger ind via Authentik (OIDC) og viser de tjenester brugeren har adgang til (hentet fra Authentiks app-liste pr. bruger), grupperet efter app-gruppe.
  • Favoritter + visnings-toggle (grupperet/alfabetisk), gemt server-side pr. bruger.
  • ⌘K kommandopalette til hurtig søgning/navigation.
  • Lys/mørkt tema (ført videre fra asger.weirsoe.dk).
  • Admin (kun for medlemmer af ADMIN_GROUP), udvidbare moduler:
    • IP -> label & land (skrives til NPMplus ip_labels.json)
    • Cookie-tekster
    • Matomo-statistik
    • App-beskrivelser & grupper (skriver tilbage til Authentik)

Kør

python3 -m venv /opt/portal/venv
/opt/portal/venv/bin/pip install -r requirements.txt
cp deploy/portal.env.example /etc/portal.env   # udfyld secrets
cp deploy/portal.service /etc/systemd/system/
systemctl enable --now portal

Appen kører bag NPMplus (TLS + proxy) paa weircon.dk. Tilfoej nye admin-moduler i ADMIN_MODULES + en route + en template der extender base.html.

S
Description
Basal front for weircon.dk, mine hosted services. Gemt bag authentik SSO som kun viser hvad man har adgang til jf. Authentik. Samt et administrator panel, som viser pending opdateringer af de opensource services der hostes, basal bruger administration mv.
https://weircon.dk
Readme
1.1 MiB
Languages
Python 61.5%
HTML 36%
CSS 2.2%
Shell 0.3%