qutebrowser (Español)
qutebrowser es un buscador web con enfoque de teclado, se basa en Python y PyQt5.
Installación
Instala bien sea el paquete qutebrowser o el qutebrowser-gitAUR.
Uso básico
Usa :
para acceder al interprete de comandos. Puedes utilizar Tab
para autocompletar.
Cuando estrenes qutebrowser te aparecerá una página de inicio rápido. La página puede ser accedida más adelante mediante :help
. Véase cheatsheet para revisar los atajos de teclado.
Configuración del usuario
qutebrowser puede ser configurado mediante una interfaz de usuario, la línea de comandos de qutebrowser o un script de Python. La documentación de qutebrowser explica a detalle como configurar qutebrowser con estos diferentes métodos. Para abrir el sistema de ayuda de qutebrowser teclee :help
. En la página de ayuda escoge Configuring qutebrowser
.
Para encontrar las rutas donde se encontrarán los archivos de configuración abra la página especial qute://version
. En Arch Linux, esta ruta típicamente es $XDG_CONFIG_HOME/qutebrowser/
. La configuration hecha dentro de qutebrowser será almacenada en autoconfig.yml
(archivo que no debería ser modificado por el usuario) mientras que la del script de Python del usuario es config.py
.
Configuración en qutebrowser
Para especificar una única opción de configuración puedes simplemente teclear :set
seguido del nombre de la opción de configuración y del nuevo valor que te gustaría aplicar a esta opción. Por ejemplo, podrías teclear
:set auto_save.session true
para abrir sus pestañas previas cuando vuelvas a abrir qutebrowser.
Para abrir la interfaz de usuario de la página de configuración de qutebrowser's, teclea
:set
sin ningún argumento adicional. Allí podrás editar las diferentes configuraciones en la interfaz de usuario. Cuando haya terminado teclea :set
de nuevo para guardar su configuración.
Por ejemplo, en url.searchengines
puedes configurar sus motores de búsqueda, los cuales están almacenados como una lista de pares clave-valor. En caso en que no hayas modificado esta opción aún, esta debería verse como
{"DEFAULT": "https://duckduckgo.com/?q={}"}
Esto configura DuckDuckGo como tu motor de búsqueda predeterminado, mientras que el marcador de posición {}
será reemplazado por el termino que busques. Para añadir un atajo de teclado para buscar rápidamente en la wiki de Arch Linux podrías usar
{"DEFAULT": "https://duckduckgo.com/?q={}", "wa": "https://wiki.archlinux.org/?search={}"}
De esta manera, como se describe en el comentario en la interfaz de usuario de qutebrowser, puedes buscar en la wiki de Arch Linux tecleando o wa <término-de-búsqueda>
. Nota que los argumentos requeridos para ejecutar una búsqueda cambian para cada motor de búsqueda. Por ejemplo, para configurar Google, usa https://www.google.com/search?hl=en&q={}
. O para configurar Brave Search, usa https://search.brave.com/search?q={}
.
Si Tor está instalado y ejecutándose en tu sistema y deseas utilizar la página onion de DuckDuckGo en su lugar, la configuración debería ser algo como
{"DEFAULT": "https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/?q={}", "wa": "https://wiki.archlinux.org/?search={}"}
Atajos de teclado
Puedes editar los atajos de teclado directamente desde el navegador con el comando :bind key command
puedes editarlo directamente desde el archivo. Nota que ya existen muchos atajos de teclado configurados. Si percibes un retardo en alguno de sus atajos de teclado esto se debe a que otro atajo también se ejecute mediante la misma combinación de teclas.
Véase la documentación para encontrar ejemplos.
Reproducción de video
Véase Browser plugins#Multimedia playback.
Como alternativa, puedes añadir una opción en su archvo config.py
para abrir un video en mpv. En el siguiente ejemplo al presionar Ctrl+/
se mostrarán todos los links de video disponibles en la página, luego, simplemente presionando la combinación de teclas correspondiente para el link del video que selecciones, este se abrirá en mpv.
config.py
... config.bind('<Ctrl+/>', 'hint links spawn --detach mpv {hint-url}') ...
Trucos y Consejos
Importar quickmarks/bookmarks
Qutebrowser admite la importación de bookmarks desde varios formatos a través del script de Python /usr/share/qutebrowser/scripts/importer.py
. El formato de salida por defecto es el formato quickmarks de qutebrowser. Para una breve explicación de las diferencias entre bookmarks y quickmarks, véase la página qutebrowser FAQ.
Desde Chromium/Chrome
Ejecuta el script mencionado anteriormente especificando chromium
como el primer argumento y el directorio que contiene el archivo de bookmarks como el segundo argumento. Para Chromium el archivo es ~/.config/chromium/Default
y ~/.config/google-chrome/Default
es el archivo para Chrome. La salida del script se puede añadir a ~/.config/qutebrowser/quickmarks
. Algunos de los formatos de entrada se explican más adelante. Se puede encontrar información adicional proporcionando la bandera -h
a importer.py
.
$ python /usr/share/qutebrowser/scripts/importer.py chromium ~/.config/chromium/Default >> ~/.config/qutebrowser/quickmarks
Desde Firefox
Exporta los bookmarks de Firefox a un archivo HTML (véase [1]). Luego, usa el script para importar.
$ python /usr/share/qutebrowser/scripts/importer.py bookmarks.html >> ~/.config/qutebrowser/quickmarks
Desde un archivo bookmarks.html
Para importar desde un archivo bookmarks.html
se requiere el paquete python-beautifulsoup4. Para importarlo solo debes proporcionar tu archivo bookmarks.html
a importer.py
y añadir la salida a ~/.config/qutebrowser/quickmarks
.
$ python /usr/share/qutebrowser/scripts/importer.py ~/.config/chromium/Default >> ~/.config/qutebrowser/quickmarks
Importar como bookmarks en lugar de quickmarks
Puedes utilizar cualquiera de los métodos mencionados anteriormente y propocionar una bandera adicional -b
para cambiar el formato de salida del script a bookmarks. La salida debera entonces añadirse a ~/.config/qutebrowser/bookmarks/urls
.
$ python /usr/share/qutebrowser/scripts/importer.py -b chromium ~/.config/chromium/Default >> ~/.config/qutebrowser/bookmarks/urls
Nota que la bandera debe añadirse antes que la especificación del navegador.
Ingresar información de inicio de sesión automáticamente
Puedes utilizar el script de usuario qute-pass para ingresar automáticamente la información de inicio de sesión almacenada en tu gestor de contraseñas Pass. Necesitarás python-tldextract y un lanzador de aplicaciones compatible con dmenu (Español). Configura un atajo de teclado que ejecute :spawn --userscript qute-pass
.
Citando la descripción del script:
El dominio del sitio debe aparecer como un segmento en la ruta del pass , por ejemplo: "github.com/cryzed" o "websites/github.com". El cómo se determinen el usuario y la contraseña es abiertamente configurable mediante los argumentos del CLI. La información de inicio de sesión se inserta emulando eventos de teclado utilizando el comando fake-key de qutebrowser de esta manera: [USUARIO]<Tab>[CONTRASEÑA], que es compatible con casi todos los formularios de inicio de sesión.
Para mayor claridad, la estructura de paso que se utiliza por defecto debe ser algo como esto:
user@computer$ pass
Password Store ├── ejemplo.sitio1.com │ └── usuario ├── ejemplo.sitio2.com │ └── usuario1 │ └── usuario2
Esto significa que cada sitio web es un directorio en tu carpeta ~/.password-store. Es dentro de cada directorio con nombre de sitio web donde los archivos se titulan nombredeusuario.gpg, nombredeusuario2.pgp, etc. y cada archivo contiene la contraseña asociada con cada nombre de usuario para el sitio web. Para aquellos que migren desde Firefox, una versión modificada de firefox_decrypt debería migrar los elementos en este formato.
El script de usuario proporciona muchas opciones para adaptarse a la mayoría de los flujos de trabajo y circunstancias especiales (como sólo querer insertar la contraseña o que el método habitual de insertar el nombre de usuario y la contraseña no funcione).
Activar la correción otrográfica
Primero, descarga el diccionario apropiado utilizando el script dictcli.py
que viene incluido con qutebrowser.
Por ejemplo, para español (España):
$ /usr/share/qutebrowser/scripts/dictcli.py install es_ES
El script tiene otras características también, que pueden ser mostradas usando --help
.
Luego, establece lo siguiente en qutebrowser:
:set spellcheck.languages ["es-ES"]
Minimizar el fingerprinting
Los sitios web pueden ser capaces de identificarte basándose en la combinación de información sobre el tamaño de la pantalla, el agente de usuario, las cabeceras HTTP_ACCEPT, etc. Consulta [2] para obtener más información y comprobar cuan único es tu navegador. A continuación se indican algunos pasos que puedes seguir para hacer que tu instalación de qutebrowser sea más "genérica".
Adicionalmente, mira Firefox/Privacy#Configuration para obtener más ideas.
Establecer un agente de usuario común
Hay varios agentes de usuario disponibles como opciones cuando se utiliza set content.headers.user_agent
. Otro agente de usuario, posiblemente más genérico, es:
Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Firefox/68.0
- Es posible que desees cambiar
Windows NT 10.0
porX11; Linux x86_64
, ya que los sitios web también pueden recopilar su tipo de plataforma a través de Javascript, y esta configuración no se puede cambiar en qutebrowser. - Cambiar tu user-agent del predeterminado impedirá que algunos sitios web funcionen correctamente. Por ejemplo, CAPTCHA mencionará que tu navegador no es compatible si el agente de usuario aparece como un navegador no actualizado.
Establecer una cabecera HTTP_ACCEPT común
A continuación se muestra un encabezado HTTP_ACCEPT común (predeterminado de Firefox). Simplemente escribe los siguientes comandos en el prompt
set content.headers.accept_language en-US,en;q=0.5 set content.headers.custom '{"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}'
Deshabilitar la lectura desde canvas
set content.canvas_reading false
Deshabilitar WebGL
Establece content.webgl
como false
para deshabilitar el WebGL.
Gestión de sesiones tipo dwb
Para que qutebrowser maneje las sesiones más como en dwb con la opción --restore
(múltiples sesiones activas simultáneamente), puede usar este script wrapper. Utiliza --basedir
para separar datos, caché y tiempo de ejecución para cada sesión, manteniendo la configuración compartida.
Deshabilitar sitios web
Crea el archivo ~/.config/qutebrowser/blocked-hosts
e ingresa sitios que quieras bloquear en cada línea del mismo; www.youtube.com
por ejemplo. Esto mantendrá la lista de adblock incorporada mientras se añaden los sitios web. Reinicia qutebrowser y ejecuta :adblock-update
.
Habilita el bloqueador de anuncios del buscador de Brave
Instala el paquete python-adblock y habilita el bloqueador de anuncios en qutebrowser:
:set content.blocking.method both
Abrir algunos links en mpv
Para abrir algunos links específicos en mpv (Como los de YouTube, reddit, etc) en luegar de cargar la página web. Esto puede usarse para evitar anuncios, rastreo, etc. Por supuesto, puedes sustituir mpv por el reproductor de video que prefieras.
:bind M hint links spawn mpv {hint-url}
Habilitar el tema oscuro en cualquier sitio
:set colors.webpage.darkmode.enabled true
Deshabilitar javascript
:set content.javascript.enabled false
Enrutar el trafico a través de tor
Esto requiere que tor esté habilitado y funcionando. Ten en cuenta que esto sólo utiliza el proxy tor pero no te proporciona ninguna protección contra el fingerprinting que pueda tener en el navegador tor.
:set content.proxy socks://localhost:9050/
Cambiar el tema del menú contextual
Para cambiar el tema del menú contextual encuentra la sección relevante de tu config.py
y establece los ajustes apropiados. Por ejemplo:
config.py
... c.colors.contextmenu.disabled.fg = '#808080' c.colors.contextmenu.menu.bg = '#353535' c.colors.contextmenu.menu.fg = '#ffffff' c.colors.contextmenu.selected.bg = '#909090' ...
Integración con KeePassXC
Qutebrowser incluye qute-keepassxc para la integración con KeePassXC.
To integrate with KeePassXC:
- Habilita las extensiones KeepassXC-Browser en tu configuración KeepassXC.
Desde KeePassXC ve a Herramientas->Configuración->Integración del navegador, y marca "Habilitar integración del navegador". - Asegúrate de tener un par de claves privadas-públicas en tu llavero GPG..
Encuentra tus llaves secretas congpg --list-secret-keys --keyid-format=long
. La clave debe ser de confianza, por ejemplo, debe contener "[ultimate]" en el campo "uid".
Si no es de confianza, puede hacerla de confianza congpg --edit-key KEYID
, luegotrust
,5
(máxima confianza) y confirma.
Finalmente, copia el id de la llave. - Instala el paquete python-pynacl
- Adapta tu configuración de qutebrowser.
Tú puedes, por ejemplo, añadir las siguientes lneas a tu~/.config/qutebrowser/config.py
. Recuerda reemplazar `ABC1234` con tu id de la clave GPG.
config.py
config.bind('<Alt-Shift-u>', 'spawn --userscript qute-keepassxc --key ABC1234', mode='insert') config.bind('pw', 'spawn --userscript qute-keepassxc --key ABC1234', mode='normal')
Para manejar múltiples cuentas también necesitas tener rofi instalado.
Solución de problemas
Información sobre herramientas ilegible
Dependiendo de cual sea tu tema QT, la información de las herramientas podría ser difícil de leer. Para solucionar esto, crea un archivo de Hoja de Estilo Qt. Por ejemplo:
~/.local/share/qutebrowser/fix-tooltips.qss
QToolTip { background-color: palette(highlight); border: 2px solid palette(highlight); color: palette(text); }
A continuación, carga la hoja de estilo al iniciar qutebrowser:
qutebrowser --qt-arg stylesheet ~/.local/share/qutebrowser/fix-tooltips.qss
Véase el reporte de error para más detalles.
El reporte de error ofrece otro método usando qt5ctl
que no requiere argumentos en el lanzamiento:
- En qutebrowser,
:set qt.force_platformtheme qt5ctl
- En
qt5ct
, establece style: gtk2, standard dialogs: gtk2, palette: default - Cambia a la pestaña Hojas de Estilo, y crea un nuevo archivo (yo lo llamé
tooltip-gtk2.qss
pero no debería importar) - Coloca dentro el siguiente contendio:
QToolTip{ background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 0, stop: 0 palette(window), stop: 1 palette(alternate-window)); border-radius: 3px; border: 1px solid #000000; padding: 1px; color: palette(text); }
- Haz clic en Guardar y luego en Aceptar
- Asegúrate de marcar la casilla junto a este nuevo archivo para que se aplique al tema.
- Haz click en aplicar