一个简单的工具,可以将Chrome密码导入到gopass。
项目描述
gopass-chrome-importer

一个简单的工具,可以将Chrome密码导入到gopass。
工作原理
gopass-chrome-importer 解析可以由Chrome导出的 .csv
文件,遍历列表中的每个条目,提供以下信息:
- 条目的 名称
- URL
- 用户名
- 密码
确定密钥文件路径
- 由于Chrome中不仅存储网站的密码,所有条目都被分为类别,这些类别在创建gopass中的实际密钥时用作子文件夹。
- 接下来,根据类别简化URL,以提供密钥的易读名称。
- 为了提高gopass chrome和firefox插件的可用性,用户名被用作密钥的文件名。
网站
- URL被简化,只包含域名(以及所有子域名),例如
import/website/smile.amazon.com/your@mail.com
- URL被简化,只包含域名(以及所有子域名),例如
IP
- 由于保存的IP密码可能会根据您所在的网络重复,这些密码被分类到自己的类别中,URL被简化,只包含IP(v4)
- IPv6目前无法检测,将被视为网站
android
- URL已被简化,仅包含应用包名,例如:
import/android/com.paypal.android.p2pmobile/your@mail.com
- URL已被简化,仅包含应用包名,例如:
密钥文件内容
密钥的第一行始终应为密码,下面可以添加额外信息,用---
分隔。如果有用户名,它将被添加到额外信息部分,然后可以被chrome和firefox插件使用
mypassword1234
---
user: myuser
如果没有用户名,则仅写入密码到文件
mypassword1234
创建密钥
由于gopass
没有提供非交互式创建或修改密钥的方式,因此使用gopass edit
命令不仅能够编辑,还能够创建密钥来绕过这种(与安全相关的)限制。当执行gopass edit /some/secret
时,gopass
在/dev/shm
中为该密钥创建一个临时解密文件,然后将其传递给$EDITOR
。gopass-chrome-importer
利用这一点,将其写入环境变量中,以处理临时解密文件。首先检查现有文件,以防止覆盖现有密钥数据。如果检查成功,则将密钥以上述形式写入文件。之后,gopass
使用所选的接收者加密临时文件,并且(如果可用)将其推送到服务器。
安装
现在,你 hopefully 对这个工具的工作原理有了很好的理解,让我们实际尝试一下!
由于此包并非没有依赖项,建议在virtualenv
内部安装它
python3 -m venv ~/path/to/new/virtual/environment
source ~/path/to/new/virtual/environment/bin/activate
pip3 install gopass-chrome-importer
用法
对于基本用法,import
命令应该就足够了。gopass-chrome-importer
有几个参数可以自定义导入结果,在导入任何内容之前你应该查看它们提供的内容。为了快速了解,请调用
gopass-chrome-importer import --help
干运行
在将密码实际导入gopass
(以及可能推送到原始服务器)之前测试事物,你可以使用-d
或--dry-run
选项。这将只输出密钥路径和内容,其中密码以星号形式显示,以让你了解会发生什么。
输出示例可能如下所示
Would import: /import/ip/127.0.0.1/joe
******
---
user: joe
Would import: /import/ip/192.168.0.1/admin
********************
---
user: admin
为了安全起见,本页上的所有示例都将包含此选项。
设置chrome密码导出.csv文件的路径
要设置export.csv
文件的路径,只需使用-p
或--path
选项
gopass-chrome-importer import --path "~/Downloads/Chrome Passwords.csv" --dry-run
更改基本导入路径
默认情况下,gopass-chrome-importer
将密钥导入到import/
文件夹。要更改此设置,请简单地使用-gb
或--gopass-basepath
选项
gopass-chrome-importer import --path "~/Downloads/Chrome Passwords.csv" --gopass-basepath /test/ --dry-run
--yes
默认情况下,创建密钥时,gopass
会询问一些问题,例如使用哪个接收者为此密钥。对于大量密码,这可能会相当麻烦。gopass
有一个内置的--yes
选项,可以通过始终使用“Y”或默认值来绕过这个问题(如果“yes”不是选项)。此参数也可以(除了-y
)在gopass-chrome-importer
中使用,并将其传递给gopass
。
gopass-chrome-importer import --path "~/Downloads/Chrome Passwords.csv" --gopass-basepath /test/ --yes --dry-run
覆盖现有密码/文件内容
当gopass-chrome-importer
尝试将密码保存到已经存在且非空的文件中时,默认情况下将不会更改文件内容,以防止意外覆盖现有密码。
你可以使用-f
或--force
选项强制gopass-chrome-importer
忽略此检查。
尽管你的现有密码已在git中备份,并且(希望)已同步到服务器端后端,但在使用此选项之前请三思。
gopass-chrome-importer import --path "~/Downloads/Chrome Passwords.csv" --gopass-basepath /test/ --yes --force --dry-run
贡献
GitHub是用于社交编码的:如果您想编写代码,我鼓励您通过从这个存储库的分支提交拉取请求进行贡献。为错误和新功能创建GitHub票据,并评论您感兴趣的内容。
许可证
MIT License
Copyright (c) 2018 Markus Ressel
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
gopass-chrome-importer-1.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 15cef62f691781c3807028719381d5671d47ffb3ae3f7732e8aa7e42d45ba720 |
|
MD5 | d31848a97324989b94fd0136226d5ccc |
|
BLAKE2b-256 | cd8d35085e7d42dfc65e6ea1704209ce44b6d6e6140fe63063a678fbec8da286 |
gopass_chrome_importer-1.1.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e364a47362f0781b2bfa49c3c6f57674c9b892e1a9fe4c53c7ccec4b56043b3e |
|
MD5 | 9ad2bdce498d1a840dfb8c49e8414cf3 |
|
BLAKE2b-256 | fabc9759f260c4c3c186b67db61eacce5d21759080a395905f3f3efd4de7a851 |