¿Por qué convertir BCUP a JSON?
Una bóveda .bcup es la base de datos cifrada de Buttercup, y los desarrolladores exportan a .JSON cuando quieren inspeccionar, respaldar o procesar programáticamente sus credenciales fuera de la aplicación. Las propias fachadas de Buttercup están construidas literalmente para convertir bóvedas desde y hacia objetos JSON planos.
Cómo convertir BCUP a JSON
buttercup-core (Node.js) OPEN-SOURCE
En un proyecto Node de tipo ESM, carga el .bcup con un TextDatasource/Credentials, luego llama a createVaultFacade(vault) y escribe JSON.stringify(facade) en un archivo .json.
buttercup-exporter (Node.js) OPEN-SOURCE
La CLI oficial buttercup-exporter desbloquea una bóveda y emite su contenido; captura la salida del objeto y guárdala como .json.
Acerca de estos formatos
Un archivo .bcup es una bóveda de contraseñas cifrada creada por Buttercup, un gestor de contraseñas gratuito y de código abierto. Contiene inicios de sesión, notas y otros secretos…
Abrir detalles de .BCUP →Un archivo JSON es un archivo de datos de texto plano en formato JavaScript Object Notation, utilizado por APIs web, configuraciones de aplicaciones y exportaciones de datos. Cualquier…
Abrir detalles de .JSON →Calidad y qué observar
- El JSON de la fachada no está cifrado: expone cada contraseña en texto claro, así que almacénalo y elimínalo con cuidado.
- buttercup-core es solo para ESM y requiere Node 14+, por lo que debes ejecutarlo en un proyecto compatible o empaquetador en lugar de un script
requiresimple. - El JSON sigue la forma de la fachada interna de Buttercup (grupos, entradas, campos), no un esquema genérico de gestor de contraseñas, por lo que otras aplicaciones no lo importarán directamente.
Preguntas frecuentes
¿Tiene Buttercup un botón de exportación a JSON?
buttercup-core y su ayudante de serialización createVaultFacade.¿Está documentada la estructura JSON?
¿Puedo editar el JSON y volver a cargarlo?
¿Por qué no puedo simplemente usar require()?
import en un proyecto ESM o un empaquetador como Webpack, no CommonJS require.