跳转到主要内容

命令行实用工具,用于将用户的Google联系人以vCard/VCF格式导出以备份(或移植)

项目描述

概述

Gcardvault是一个命令行实用工具,可导出用户的Google联系人以vCard/VCF格式进行备份(或移植)。

功能

  • 自动发现用户的所有联系人
  • 以vCard/VCF格式下载并将它们保存到磁盘以进行存档
  • 可选地管理磁盘上“保险库”(底层git仓库)中每个联系人的版本历史
  • 可以通过Docker镜像(多架构)或直接作为具有命令行界面的Python包安装运行

它是如何工作的

  • 使用Google的 身份提供者 进行认证(通过OAuth2/OIDC)
  • 使用Google的 People API 发现用户的联系人
  • 使用Google的 CardDAV端点 下载vCard/VCF联系人
  • 使用 GitPython 在幕后管理本地git仓库以管理版本历史

使用方法

一些示例命令...

同步 foo.bar@gmail.com 用户的全部联系人

gcardvault sync foo.bar@gmail.com

仅导出联系人,不保存版本历史

gcardvault sync foo.bar@gmail.com --export-only

查看完整的用法和其他说明,请参阅CLI 帮助

安装

通过 Docker

docker run -it --rm \
    -v ${HOME}/.gcardvault:/root/.gcardvault \
    -v ${PWD}:/root/gcardvault \
    rtomac/gcardvault sync foo.bar@gmail.com

通过 PyPi

pip install gcardvault
gcardvault sync foo.bar@gmail.com

OAuth2 身份验证

CLI 首次运行时(交互式)会启动 OAuth2 身份验证,然后使用刷新令牌进行后续运行(无头)。

在使用 Gcardvault 的默认配置时,您将通过 Gcardvault 的客户端 ID 使用 Google 进行身份验证。这本身并没有不安全之处,因为应用程序是在本地运行的,因此只有您才能访问从 Google 读取的数据。

尽管如此,强烈建议您通过Google API 控制台创建自己的客户端 ID,因为共享的客户端 ID 将被其他人使用,并且可能会受到限制,这可能导致不可预测的失败。

rclone创建自己的客户端 ID方面有很好的说明。

您可以通过以下方式向 gcardvault 提供您的客户端 ID 和密钥

gcardvault sync foo.bar@gmail.com --client-id my_client_id --client-secret my_client_secret

开发

源仓库
http://github.com/rtomac/gcardvault

本地安装依赖项(用于 IDE)

make devenv
. ./.devenv/bin/activate

构建发行版和 Docker 镜像

make build

本地构建和测试

make test

本地构建和运行

make run user=foo.bar@gmail.com

发布到 PyPi 和 Docker Hub

make release

有关更多选项,请参阅 Makefile 中的目标和变量。

许可

MIT 许可证

项目详情


下载文件

下载适合您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源发行版

gcardvault-1.0.0.tar.gz (9.5 kB 查看哈希值

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面