Extensión para Chrome que protege tu experiencia web bloqueando automáticamente spoilers y palabras no deseadas.
Anti-Spoiler es una extensión liviana y eficiente para Google Chrome que te permite crear una lista personalizada de palabras o frases que deseas bloquear en cualquier sitio web. Cuando la extensión encuentra estas palabras, aplica automáticamente un efecto de desenfoque (blur) sobre el texto, protegiéndote de spoilers y contenido no deseado.
Perfecto para:
- 🎬 Evitar spoilers de películas y series
- 📺 Protegerte de resultados deportivos antes de ver el partido
- 🎮 Evitar revelar tramas de videojuegos
- 📰 Filtrar contenido sensible o no deseado
- 🔍 Navegar sin preocupaciones por temas específicos
- ✅ Bloqueo en tiempo real: Detecta y bloquea palabras instantáneamente al cargar la página
- 🔄 Compatible con SPAs: Funciona en sitios modernos con contenido dinámico (React, Angular, Vue)
- 📝 Campos de texto incluidos: Bloquea palabras en inputs, textareas y contenido editable
- 🎯 Bloqueo preciso: Solo desenfoca el elemento específico que contiene la palabra, no toda la página
- 💾 Persistencia local: Tus palabras bloqueadas se guardan localmente en tu navegador
- 🎨 Interfaz moderna: Popup limpio e intuitivo para gestionar tu lista
- ⚡ Rendimiento optimizado: Usa TreeWalker y MutationObserver para máxima eficiencia
- 🔒 100% privado: No envía datos externos, todo funciona localmente
Interfaz simple para agregar y eliminar palabras bloqueadas
Las palabras bloqueadas aparecen desenfocadas automáticamente
- Visita la página de la extensión en Chrome Web Store (próximamente)
- Haz clic en "Añadir a Chrome"
- Confirma los permisos solicitados
- ¡Listo! El icono aparecerá en tu barra de herramientas
-
Clona el repositorio:
git clone https://github.com/raicerk/pluginChrome-AntiSpoiler.git cd pluginChrome-AntiSpoiler -
Abre Chrome y ve a las extensiones:
- Escribe
chrome://extensions/en la barra de direcciones - O ve a Menú ⋮ → Más herramientas → Extensiones
- Escribe
-
Activa el Modo de Desarrollador:
- Activa el switch en la esquina superior derecha
-
Carga la extensión:
- Haz clic en "Cargar extensión sin empaquetar"
- Selecciona la carpeta del proyecto clonado
- La extensión se instalará y aparecerá en tu barra de herramientas
- Haz clic en el icono de la extensión en la barra de herramientas
- Escribe la palabra o frase que deseas bloquear
- Presiona el botón + o la tecla Enter
- La palabra se agregará a tu lista y comenzará a bloquearse inmediatamente
- Abre el popup de la extensión
- Encuentra la palabra que deseas eliminar
- Haz clic en el icono de papelera (🗑️) junto a la palabra
- La palabra se eliminará y el blur se removerá automáticamente
- Navega cualquier sitio web
- Cuando la extensión detecte una palabra bloqueada, aplicará un efecto de blur
- El blur se aplica en tiempo real, incluso en contenido que carga dinámicamente
- Manifest V3: La última versión del sistema de extensiones de Chrome
- JavaScript (ES6+): Lógica principal de la extensión
- jQuery 3.x: Manipulación del DOM y selectores eficientes
- Chrome Storage API: Almacenamiento local persistente
- TreeWalker API: Recorrido eficiente de nodos de texto
- MutationObserver API: Detección de cambios dinámicos en el DOM
- CSS3: Efectos de blur y estilos modernos
- Font Awesome: Iconografía de la interfaz
pluginChrome-AntiSpoiler/
├── manifest.json # Configuración de la extensión (Manifest V3)
├── README.md # Este archivo
├── PRIVACY.md # Política de privacidad
│
├── asset/ # Recursos estáticos
│ ├── logo.png # Icono de la extensión (128x128)
│ └── stylePulento.css # Estilos CSS para el blur
│
├── popup/ # Interfaz del popup
│ ├── popup.html # Estructura HTML
│ └── popup.js # Lógica de gestión de palabras
│
└── util/ # Scripts de utilidad
├── bloquea.js # Lógica principal de bloqueo
├── util.js # Funciones auxiliares
└── jquery.min.js # jQuery 3.x minificado
La extensión utiliza Manifest V3 con content scripts declarados estáticamente para evitar problemas de CSP:
"content_scripts": [{
"matches": ["<all_urls>"],
"js": ["util/jquery.min.js", "util/util.js", "util/bloquea.js"],
"css": ["asset/stylePulento.css"]
}]-
Lectura de palabras bloqueadas: Obtiene la lista desde
chrome.storage.local -
Recorrido de texto con TreeWalker:
const walker = document.createTreeWalker( document.body, NodeFilter.SHOW_TEXT, null, false );
-
Escalado de jerarquía: Desde el nodo de texto, sube en el árbol DOM hasta encontrar el elemento visual más interno (evitando iconos, botones, SVG)
-
Aplicación de clase CSS: Agrega
.bloqueadoal elemento, que tienefilter: blur(7px) -
Detección en inputs: Verifica atributos
valuede inputs y textareas -
MutationObserver: Observa cambios en el DOM para re-aplicar blur en SPAs:
const observer = new MutationObserver(() => aplicarBloqueo()); observer.observe(document.body, { childList: true, subtree: true, characterData: true });
¡Las contribuciones son bienvenidas! Si deseas mejorar esta extensión:
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/mejora-increible) - Commit tus cambios (
git commit -m 'Agrega mejora increíble') - Push a la rama (
git push origin feature/mejora-increible) - Abre un Pull Request
- Importar/exportar listas de palabras
- Diferentes niveles de blur (leve, medio, fuerte)
- Soporte para expresiones regulares
- Modo whitelisting (bloquear todo excepto ciertas palabras)
- Sincronización entre dispositivos
- Estadísticas de palabras bloqueadas
- Temas personalizables
Si encuentras un error o tienes una sugerencia:
- Ve a la sección Issues
- Verifica que no exista un issue similar
- Crea un nuevo issue con:
- Descripción clara del problema
- Pasos para reproducirlo
- Capturas de pantalla (si aplica)
- Versión de Chrome y del sistema operativo
- Publicación en Chrome Web Store
- Capturas de pantalla oficiales
- Soporte multiidioma (ES/EN)
- Niveles de blur configurables
- Sincronización con cuenta de Google
- Importar/exportar listas
- Soporte para Firefox
- Machine Learning para detectar spoilers automáticamente
- Categorías de palabras (películas, deportes, etc.)
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
Raicerk
- GitHub: @raicerk
- Proyecto: pluginChrome-AntiSpoiler
- Chrome Extensions Documentation
- jQuery
- Font Awesome
- A todos los usuarios que prueben y mejoren esta extensión
⭐ Si esta extensión te ha sido útil, ¡considera darle una estrella en GitHub!
Hecho con ❤️ para proteger tu experiencia web