Linkvorschau für den ersten Link eines Beitrags
Der Server holt zum ersten Link Titel, Seiten- bzw. Kanalname und ein kleines Vorschaubild (320 px) und speichert das Bild lokal; der Browser lädt nur von uns, Besucher-IPs gehen nie an die verlinkte Seite. YouTube über oEmbed (alle Linkformen kanonisch als watch?v=<id>), alle übrigen Seiten über OpenGraph bzw. <title>. Abruf asynchron in einem Worker, eine Zeile je Link in link_preview, Auffrischen nach 30 Tagen. Der Abruf-Client lässt nur öffentliche IPs auf Port 80/443 zu, geprüft nach DNS-Auflösung und bei jeder Weiterleitung (SSRF). Bestehende Beiträge: kver link-previews. Neue Abhängigkeit golang.org/x/net, damit go 1.26. DEV bekommt ein beschreibbares Volume für die Vorschaubilder. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TiXsPUqw7oeomZ8wZrQW5q
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
a8f392edba
commit
26b0182391
@@ -41,7 +41,14 @@ podman build -q -t "$IMAGE" . 9>&-
|
||||
|
||||
mounts=()
|
||||
[[ -d "$DATA/data" ]] && mounts+=(-v "$DATA/data:/app/data:ro" -e KVER_GEOIP_ASN=/app/data/GeoLite2-ASN.mmdb)
|
||||
[[ -d "$DATA/media" ]] && mounts+=(-v "$DATA/media:/app/static/media:ro")
|
||||
if [[ -d "$DATA/media" ]]; then
|
||||
mounts+=(-v "$DATA/media:/app/static/media:ro")
|
||||
# Linkvorschau-Bilder schreibt der Server selbst: beschreibbares Volume über
|
||||
# dem read-only Media-Mount. Der Mountpunkt muss im Quellverzeichnis
|
||||
# existieren, weil der Container ihn im read-only Mount nicht anlegen kann.
|
||||
mkdir -p "$DATA/media/preview"
|
||||
mounts+=(-v kver-dev-preview:/app/static/media/preview:U)
|
||||
fi
|
||||
|
||||
podman rm -f "$NAME" >/dev/null 2>&1 9>&- || true
|
||||
podman run -d --name "$NAME" -p "127.0.0.1:$PORT:8080" \
|
||||
|
||||
Reference in New Issue
Block a user