Este repositorio contiene una extensión de Chrome que integra el administrador de contraseñas con Chrome.
Hay dos carpetas en este repositorio que contienen:
Para usar la extensión, necesita instalarla en su navegador Chrome o Chrome y la aplicación nativa de Python (chrome_pass).
Estas instrucciones han sido probadas en Ubuntu 24.04 y Debian 12 (ratón de biblioteca):
sudo apt-get install pass python3 python3-pip
pip install --user chrome-pass==1.0.1
chrome_pass install
Obtenga la extensión de Chrome Web Store.
Para reducir la complejidad del código de esta extensión, existen algunas suposiciones sobre cómo está estructurado el almacén de contraseñas. Para que esta extensión pueda enumerar y descifrar sus contraseñas, se deben seguir estas suposiciones:
Esta extensión asume que el almacén de contraseñas se encuentra dentro de la carpeta .password-store dentro de su directorio de inicio:
$HOME/.password-store
En caso de que tenga el almacén de contraseñas ubicado en otro lugar, puede intentar usar un enlace simbólico para solucionar esta limitación o configurar la variable de entorno PASSWORD_STORE_DIR
para que apunte a la ubicación del almacén de contraseñas.
Este complemento asume que las dos últimas partes de cada ruta de contraseña siguen esta estructura:
[Service URL]/[Username]
Por ejemplo para conservar algunas cuentas de Gmail y Amazon:
~/.password-store/
├── mail.google.com
│ ├── me@gmailcom
│ ├── [email protected]
│ └── [email protected]
└── Amazon
├── www.amazon.com
│ ├── [email protected]
│ └── [email protected]
└── www.amazon.co.jp
├── [email protected]
└── [email protected]
Tus caminos pueden tener tantas partes como quieras siempre que las dos últimas sigan la estructura anterior. Y la parte [URL de servicio] debe coincidir con la URL de la página que está viendo porque se utiliza para seleccionar la contraseña correspondiente de la tienda.
Si el archivo pass tiene configurado pass-otp, chrome-pass generará el código TOTP y completará con él cualquier entrada de texto numérico en el formulario.
Para las cuentas IAM necesitamos no solo el usuario y la contraseña de inicio de sesión, sino también el ID o alias de 12 dígitos de la cuenta. Para estas cuentas, chrome-pass tiene una lógica especial para poder completar toda la información en la página de inicio de sesión.
Password Store
├── signin.aws.amazon.com
│ ├── [email protected]
│ ├── [email protected]
│ ├── 183413992345
│ ├── 550312930456-username1
│ ├── 550312930456-username2
│ └── accountalias
signin.aws.amazon.com
, que es la URL para iniciar sesión en la consola.pass edit ...
y agregue dos pares clave/valor en cualquier lugar después de la línea de contraseña:username=[IAM username]
account=[12 digit AWS account id or alias]
username
para completar el campo de nombre de usuario, la account
para completar el campo de identificación de cuenta y la password
descifrada para completar el campo de contraseña. La extensión chrome-pass busca cualquier par clave/valor en los archivos pass gpg y llena cualquier campo de entrada HTML con un ID igual a la key
con el value
correspondiente.
Además, si el value
se establece en los siguientes valores de marcador de posición especiales, se reemplazan por:
pass__user
: Reemplazado con el [Username]
extraído de la última parte de la ruta de acceso.pass__password
: Reemplazado con la contraseña de acceso descifrada.pass__otpauth
: reemplazado con el código pass-otp si está disponible. Nota
Las teclas de marcador de posición especiales tienen __
caracteres de subrayado doble.
Esto permite que Chrome-pass funcione con algunos formularios de inicio de sesión no estándar, como el formulario de inicio de sesión de ID de Apple. Esta página de inicio de sesión carece de un elemento de formulario y depende de JavaScript para funcionar. Afortunadamente, los campos de entrada HTML de nombre de usuario y contraseña tienen ID bien definidas que podemos configurar en el archivo chrome-pass para que funcione:
# chrome-pass for Apple ID login from.
account_name_text_field=pass__user
password_text_field=pass__password
Agregar los pares clave/valor anteriores al archivo de pase de cuenta de Apple le indicará a la extensión chrome-pass que llene cualquier campo de entrada HTML con id. account_name_text_field
con el nombre de usuario y cualquier campo de entrada HTML con id. password_text_field
con la contraseña descifrada.
Esto es solo para desarrolladores o personas que desean ver el código fuente antes de confiar sus contraseñas a alguna extensión escrita por una persona desconocida.
Dentro de Chrome, abra la URL chrome://extensiones, verifique el modo Desarrollador y luego cargue la ruta a la carpeta de extensión usando el botón Cargar extensión descomprimida . Después de cargar la extensión en Chrome, tome nota del ID de la extensión .
A continuación, debemos instalar el script contenedor chrome_pass e instalar el manifiesto de la aplicación de host nativo:
cd application
pip install --upgrade setuptools build --user
python -m build
pip install . --user
chrome_pass install [extension ID]
Reemplace los campos personalizados otpoauth
con pass__otpauth
en sus archivos de paso. El campo personalizado otpoauth
se eliminará y no funcionará en versiones futuras.
La aplicación nativa y la extensión 0.5.1 no son compatibles con la versión anterior. Asegúrese de que ambos sean 0.5.1 para que funcionen correctamente.
Se ha cambiado el nombre del script nativePass
a chrome_pass
.
La versión 0.5.0 de chrome-pass usa setuptools en lugar de distutils para empaquetar e instalar la aplicación nativa. Al instalar puede obtener errores como:
ERROR: Cannot uninstall 'chrome-pass'. It is a distutils installed project and
thus we cannot accurately determine which files belong to it which would lead
to only a partial uninstall.
En esta situación es necesario desinstalar manualmente las versiones anteriores del paquete:
nativePass
. Encuéntrelo usando which nativePass
.chrome_pass-0.X.0...
Si por alguna razón la extensión no puede obtener la lista de nombres de usuario de su almacén de contraseñas, las razones más probables son:
Se ha descubierto que la aplicación chrome_pass no puede descifrar las contraseñas gpg con algunas versiones más nuevas de python-gnupg. Puedo verificar que el complemento funciona sin problemas cuando uso el módulo gnupg versión 0.3.9 que se encuentra de forma predeterminada en Ubuntu 16.04LTS.
Consulte el problema relacionado para obtener más detalles en: Github.
Si el complemento funciona cuando inicia Chrome desde una terminal, pero no funciona cuando se inicia desde Spotlight o cualquier otro iniciador, asegúrese de que el iniciador configure correctamente la variable de entorno PATH.
Consulte el problema relacionado para obtener más detalles en: Github