Aplicación Android sencilla para buscar en tu instancia de SearXNG, con diseño Material 3, widget para la pantalla de inicio y soporte para instancias protegidas con Cloudflare Access.
- Tu instancia, tus reglas: introduce la URL de cualquier instancia de SearXNG (también
http://en red local). - Instancias pĂşblicas: elige una del listado de searx.space, ordenadas por velocidad, con disponibilidad, nota TLS y versiĂłn.
- Cloudflare Access: si la instancia está protegida, la app te lleva al login de Access (y al proveedor de identidad: Google, GitHub, Okta, PIN por correo…) y, al terminar, vuelve a la búsqueda que estabas haciendo.
- Widget de barra de bĂşsqueda (4Ă—1, redimensionable) con colores Material You.
- Material 3 con colores dinámicos (Android 12+) y modo oscuro.
- Los resultados se abren en una pestaña integrada (Custom Tab), en el navegador o dentro de la app.
- Sugerencias mientras escribes, a través de la propia instancia (DuckDuckGo por defecto; también Google, Qwant o el proveedor configurado en la instancia). Funcionan también con Cloudflare Access.
- Mantén pulsado un enlace para abrirlo en el navegador predeterminado, copiarlo o compartirlo.
- Integración con el sistema: Compartir → SearxBar, Buscar con SearxBar al seleccionar texto y búsquedas web (
WEB_SEARCH).
Con Obtainium recibirás las actualizaciones directamente desde las releases de GitHub. TambiĂ©n puedes descargar el APK desde la Ăşltima release e instalarlo a mano (tendrás que permitir la instalaciĂłn de orĂgenes desconocidos). Requiere Android 8.0 o superior.
- Abre la app y pulsa Introducir URL (o Elegir de searx.space para usar una instancia pĂşblica).
- Escribe en la barra de bĂşsqueda y pulsa la tecla de buscar.
- Opcional: mantén pulsada la pantalla de inicio → Widgets → SearxBar para añadir la barra de búsqueda.
El menú ⋮ permite recargar, compartir el enlace, abrir la página en el navegador, ir a la página principal de la instancia y cerrar la sesión de Cloudflare Access.
Cuando la sesiĂłn de Access no existe o ha caducado, Cloudflare redirige a
https://<equipo>.cloudflareaccess.com/…. SearxBar sigue esa redirección dentro de la app, igual que las
páginas del proveedor de identidad mientras dura el login; al completar la autenticación, Access fija la cookie
CF_Authorization y te devuelve a la bĂşsqueda original. El resto de enlaces externos se abren fuera.
- Si el servidor responde 401/403, aparece un aviso con Iniciar sesiĂłn, que borra la cookie de Access y fuerza un nuevo login.
- Ajustes → Compatibilidad con proveedores de identidad (activada por defecto) oculta el marcador WebView del user agent. Google, entre otros, bloquea el inicio de sesión OAuth dentro de WebViews.
- Ajustes → Borrar cookies y datos elimina toda la sesión y las preferencias guardadas por la instancia.
Requisitos: Android Studio (o JDK 17–22 + Android SDK 35).
./gradlew assembleDebug
# APK en app/build/outputs/apk/debug/app-debug.apkGradle 8.9 no funciona con Java 23 o superior. Si Android Studio avisa de que la versión de la JVM es incompatible, ve a Settings → Build Tools → Gradle → Gradle JDK y elige un JDK 21.
Crea un keystore.properties en la raĂz del proyecto (está en .gitignore):
storeFile=/ruta/a/tu-clave.jks
storePassword=…
keyAlias=…
keyPassword=…y ejecuta ./gradlew assembleRelease. Sin ese fichero, el APK de release se genera sin firmar.
app/src/main/java/app/searxbar/
├── MainActivity.kt # Barra de búsqueda + WebView, navegación y Cloudflare Access
├── CloudflareAccess.kt # Detección de URLs de Access, logout y borrado de sesión
├── SettingsActivity.kt # Ajustes (instancia, enlaces, compatibilidad, borrar datos)
├── InstancePickerActivity.kt # Selector de instancias públicas
├── Suggestions.kt # Sugerencias vĂa /autocompleter de la instancia
├── SuggestionAdapter.kt # Desplegable de sugerencias
├── SearxSpace.kt # Descarga y filtrado del listado de searx.space
├── SearchWidgetProvider.kt # Widget de pantalla de inicio
├── Prefs.kt # Preferencias y normalización de URLs
└── SearxBarApp.kt # Colores dinámicos y valores por defecto
WTFPL: haz lo que te dé la gana.





