diff --git a/lib/controllers/reader.js b/lib/controllers/reader.js index 4cc1b7b..dcd8bef 100644 --- a/lib/controllers/reader.js +++ b/lib/controllers/reader.js @@ -35,6 +35,7 @@ import { validateExcludeTypes, validateExcludeRegex, } from "../utils/validation.js"; +import { proxyItemImages } from "../media/proxy.js"; /** * Reader index - redirect to channels @@ -119,6 +120,14 @@ export async function channel(request, response) { showRead: showReadItems, }); + // Proxy images through media endpoint for privacy + const proxyBaseUrl = application.url; + if (proxyBaseUrl && timeline.items) { + timeline.items = timeline.items.map((item) => + proxyItemImages(item, proxyBaseUrl), + ); + } + // Count read items to show "View read items" button const readCount = await countReadItems( application, diff --git a/package.json b/package.json index 1dfd9b7..76f935d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@rmdes/indiekit-endpoint-microsub", - "version": "1.0.36", + "version": "1.0.37", "description": "Microsub endpoint for Indiekit. Enables subscribing to feeds and reading content using the Microsub protocol.", "keywords": [ "indiekit", diff --git a/views/actor.njk b/views/actor.njk index bbb6a2e..3b2c761 100644 --- a/views/actor.njk +++ b/views/actor.njk @@ -121,8 +121,10 @@ {# Tags #} {% if item.category and item.category.length > 0 %}