[xExtension-ImageProxy] Video poster images are not proxied
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 74/100
Línea de trabajo
Empieza en la extensión Image Proxy y busca dónde reescribe los atributos de img, como src y srcset; inspecciona el tratamiento relacionado con la carga diferida y cómo FreshRSS lee la URL original de la imagen. Extiende ese flujo a poster de video, conservando la URL original en data-xextension-imageproxy-original-poster, y luego revisa un artículo con un poster de video y confirma que src del video permanece sin cambios.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
The Image Proxy extension rewrites the src and srcset of <img> elements, but not the poster attribute of <video> elements. FreshRSS keeps poster when it sanitises feed content, so for articles with embedded videos the browser loads the poster image straight from the original server. This bypasses the proxy, which is what users with Proxy HTTPS enabled want to avoid for privacy, and it can also cause mixed-content warnings for http:// posters on an HTTPS instance.
To Reproduce
- Enable the Image Proxy extension, with Proxy HTTPS checked.
- Display an article whose content contains
<video src="https://videos.example/a.mp4" poster="https://images.example/poster.jpg"></video>. - The poster is requested from
images.exampleand not through the proxy. In the HTML source,poster(moved todata-originalby the lazy-loading) still points to the original URL.
Expected behavior
Video posters should go through the proxy like other images, with the original URL kept in a data-xextension-imageproxy-original-poster attribute. That way FreshRSS still recognises the URL when deciding whether to append the entry's thumbnail or enclosures, as it already does for <img> elements. The video itself (src) should not be proxied, because image proxies cannot serve it.
FreshRSS version
edge (Image Proxy extension 1.0.2)
- Lenguaje dominante
- PHP
- Estrellas
- 733
- Forks
- 121
- Merge medio
- 15 h 36 min
- PR fusionados (30 d)
- 27
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de FreshRSS/Extensions
-
Feature Request
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
FreshRSS/Extensions#514 · 2 comentarios · 3 reacciones ·
Los mantenedores suelen responder en 1 día
-
[Bug] shorts stopped being filtered by sept 7.Posiblemente ocupada @JamBalaya56562 la tomó hace 32 días. AbiertoBug (unconfirmed) help wanted xExtension-YouTube
Dificultad 3/5 1-2 días Aptitud para principiantes 62/100
FreshRSS/Extensions#529 · 12 comentarios ·
Los mantenedores suelen responder en 1 día
-
help wanted php
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
FreshRSS/Extensions#525 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
FreshRSS/Extensions#521 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
FreshRSS/Extensions#494 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de FreshRSS/Extensions
Issues similares
-
Impact: Medium Level: Easy Type: Bug Value: Users
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
vigetlabs/wordpress-site-starter#315 ·
Los mantenedores suelen responder en 15 días
-
PHP 8.6: bundled guzzlehttp/promises loads class `Is` → "Using "is" as a class name is deprecated"Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
google/site-kit-wp#14004 ·
Los mantenedores suelen responder en 2 días
-
Awaiting Triage bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
jwage/phpamqplib-messenger#159 ·