一个将chrome密码导入gopass的简单工具。

gopass-chrome-importer的Python项目详细描述


gopass chrome导入器6173732D6368726F6D652D696D706F727465722E7376673F6272616E63683D6D6173D6173746572" />pypi version

一个将chrome密码导入gopass的简单工具。

工作原理

gopass chrome导入程序分析可以从chrome导出的.csv文件 并在列表中提供

  • (条目的)名称
  • 网址
  • 用户名
  • 密码

确定机密文件路径

  1. 因为不仅网站的密码存储在chrome中,所有的条目都被分为不同的类别 以后在gopass中创建实际机密时用作子文件夹。
  2. 接下来,根据类别简化url,为机密提供一个人类可读的名称。
  3. 为了提高gopass chrome和firefox插件的可用性,将用户名用作机密的文件名。
  4. < > >
    • 网站
      • 该url被拆分为仅包含域(和所有子域)f.ex.import/website/smile.amazon.com/your@mail.com
    • ip
      • 因为保存的IP密码可以根据您所在的网络进行复制 这些密码被分类到各自的类别中,url被剥离,只包含ip(v4)
      • 目前未检测到IPv6,将作为网站处理
    • android
      • 该URL被剥离为仅包含应用程序F.EX.<代码>导入/ Android /com。

    机密文件内容

    秘密的第一行应该是密码 在下面添加的附加信息由分隔符分隔。 当用户名可用时,它将被添加到附加信息部分 然后Chrome和Firefox插件可以使用它:

    mypassword1234
    ---
    user: myuser
    

    如果没有用户可用,则只将密码写入文件:

    mypassword1234
    

    创建机密

    因为gopass不提供创建或修改机密的非交互方式 不仅可以编辑机密,还可以使用gopass edit命令创建机密 (安全相关)限制。当执行gopass edit/some/secret时 文件位于这个秘密的/dev/shm中,然后传递给$editorgopass chrome导入程序 它的优点是将自身写入该env变量中,以处理临时解密的文件。 首先检查现有文件以防止覆盖现有机密数据。 如果这些检查成功,则机密将以上述格式写入文件。 之后,gopass用选定的收件人和(如果远程可用)加密临时文件。 将其推送到服务器。

    安装

    既然你对这个工具的工作原理有了很好的理解,那就让我们来试试吧!

    由于此软件包并非完全没有依赖关系,建议将其安装在虚拟机中

    python3 -m venv ~/path/to/new/virtual/environment
    source ~/path/to/new/virtual/environment/bin/activate
    pip3 install gopass-chrome-importer
    

    用法

    对于基本用法,import命令应该是您所需要的全部。 gopass chrome导入程序有两个参数可自定义导入结果 在实际进口任何东西之前,你应该先看看他们提供什么。 快速概览电话:

    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 password export.csv的路径

    要设置导出.csv文件的路径,只需使用-p--path选项:

    gopass-chrome-importer import --path "~/Downloads/Chrome Passwords.csv" --dry-run
    

    更改基本导入路径

    默认情况下,gopass chrome导入器会将机密导入到import/文件夹中。简单地改变这个 使用-gb--gopass basepath选项:

    gopass-chrome-importer import --path "~/Downloads/Chrome Passwords.csv" --gopass-basepath /test/ --dry-run
    

    --是

    默认情况下,gopass在创建机密时会问您一些问题,比如该机密要使用哪些收件人。 对于大量的密码列表,这可能是一个相当麻烦的问题。gopass有一个内置的--yes选项来避免这种情况 始终使用"y"或默认值(如果yes不是选项)。也可以使用此参数(除了-y) 在gopass chrome导入程序中,并将其传递给gopass。

    gopass-chrome-importer import --path "~/Downloads/Chrome Passwords.csv" --gopass-basepath /test/ --yes --dry-run
    

    覆盖现有密码/文件内容

    当gopass chrome导入程序试图将密码保存在 已存在且该文件为空它将(默认情况下)不更改文件内容 以防止意外覆盖现有密码。

    您可以使用-f--force选项强制gopass chrome导入程序忽略此检查。

    尽管您的现有密码是在git中备份的,并且(希望)同步到 服务器端后端使用此选项前请小心并三思。

    gopass-chrome-importer import --path "~/Downloads/Chrome Passwords.csv" --gopass-basepath /test/ --yes --force --dry-run
    

    贡献

    github是用于社会编码的:如果您想编写代码,我鼓励通过forks的pull请求进行贡献 关于这个仓库。为bug和新功能创建github票证,并对您感兴趣的功能进行评论。

    许可证

    mypassword1234
    ---
    user: myuser
    
    0

    欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


热门话题
java FirebaseInstanceId。getInstance()始终为空   linux Java执行文件错误   javaspringboot:如何使用Ajax在springboot和Thymeleaf中创建进度条?   java禁用在安卓上使用传单时启用setJavaScriptEnabled   java如何在主体中发布原始类型JSON数据?   消除JAVA While循环中的额外输出   如何在java中直接将基本数据类型分配给自定义类   java为什么addNode()方法返回编译错误“类型中的方法…不适用于参数…”,我该如何修复它?   java惰性合成可观察对象   eclipse Java Blackberry位图单击   java Android:AsyncTask对象[]无法在doInBackground中强制转换   java有没有办法重构或改进这段代码?   java如何使用系统以十六进制打印字节。出来普林顿?   多线程如何在我的java聊天室中调试“java.net.UnknownHostException”?   java如何从Google App Engine下载应用程序源文件   java如何在Spring Data Mongo的聚合$group中使用类似$dateToString   java IBM websphere application server未在MyEclipse8中启动。0