命令行实用工具,用于将用户的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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 31899fa986c9ef47fdd8c5510b4eacdb6782a26dbdd461e86ac06942e82ebcb3 |
|
MD5 | eac65b3d161cffca4ce537fba7ecc99a |
|
BLAKE2b-256 | 39d10d01890c6cdf6febbd309175049a7482fca0d3dfa64a1bbd3a7f37287cb2 |