搭建私人通讯录/日历同步服务_使用cardDAV/calDAV服务

转载注明来源: 本文链接 来自osnosn的博客,写于 2020-02-18.

  • Radicale, Radicale (对carddav支持好)

    • radicale 1.x 是PY2的。

    • radicale 2.1.11 是PY3的。
      • pip3安装,总共4个包(radicale,vobject,python-dateutil,six),4个包约占1.5MB
      • 速度很快。能用。支持 CardDAV-Sync-free-0.4.5DAVdroid(DAVx5)2.6.3 (gitlab)
      • 支持多用户(多账号),多账号的通讯录,分别保存在不同目录中。
      • 目录名都是hash值。
      • 通讯录记录同步到服务端,一条记录为一个独立的vcf文件,且文件名都是hash值。
      • contacts目录下,无 .git 目录。
      • 创建3个配置文件,执行 radicale -C config 即可。
## config
[server]
hosts = 0.0.0.0:83
daemon = True
max_connections = 20
max_content_length = 10000000
timeout = 30
ssl = False [auth]
type = htpasswd
# absolute filename. NO relative.
htpasswd_filename = /root/radicale/user
htpasswd_encryption = plain
delay = 1 [storage]
# absolute filename. NO relative.
filesystem_folder = /root/radicale/data [web]
type = internal [logging]
debug = True
# relative/absolute filename.
config = log.config
## log.config
[loggers]
keys = root [handlers]
keys = file [formatters]
keys = full [logger_root]
# Change this to DEBUG or INFO for higher verbosity.
level = WARNING
handlers = file [handler_file]
class = FileHandler
# Specify the output file here. relative/absolute filename.
args = ('mylog.log',)
formatter = full [formatter_full]
format = %(asctime)s - [%(thread)x] %(levelname)s: %(message)s
## user
test:test
username:passwrod
  • xandikos, xandikos

    • 版本 0.1.0
    • 没有配置文件。执行

      xandikos -D /root/xandikos/data -l 0.0.0.0 -p 88 --autocreate --dump-dav-xml

      log会直接显示在终端上。
    • PY3的包。pip3安装,总共11个包(xandikos,icalendar,dulwich,defusedxml,jinja2,pytz,python-dateutil,urllib3,certifi,MarkupSafe,six),11个包约占10.7MB
    • 本身无账号认证。需要apache或nginx提供账号认证。
    • 支持 DAVdroid(DAVx5)2.6.3, 不支持CardDAV-Sync-free-0.4.5。
    • 目录名都是hash值。
    • 通讯录记录同步到服务端,一条记录为一个独立的vcf文件,且文件名都是hash值。
    • contacts目录下,有 .git 目录
    • 当webdav用的话,MKCOL能实际创建目录(同时创建了.git)。创建的目录不显示(易码中看不到)。不能做纯WEBDAV服务用。
  • fennel

    • v0.0.1-beta (2019-09-27)
    • GO语言的,有binary包下载。
    • htpasswd创建demouser.htpasswd,写好配置文件fennel.config.json于执行文件相同目录。
    • 执行 ./fenneld-v0.0.1-beta
# fennel.config.json
{
"log": {
"level": "debug"
},
"www": {
"host": "0.0.0.0",
"port": "83"
},
"auth": {
"module": "htpasswd",
"file": "demouser.htpasswd"
},
"folder": {
"templates": "templates"
},
"db": {
"dialect": "sqlite3",
"args": "fennel.db",
"logmode": "true"
}
}

似乎没写完,不知道怎么用。DAVx5连接失败。说"找不到 calDAV/CardDAV 服务"

  • NextCloud (对carddav支持很好)

    • 安装比较复杂,请看官网的文档。
    • DAVdroid(DAVx5)2.6.3 支持很好。配置好账号后,通讯录,日历,个人提醒 就都可以同步了。
    • webdav对易码的支持也很好。还可以用 Nextcloud-note(安卓app) 来写云笔记。
    • 本身还是个云盘。安卓版云盘app本身就可以备份手机通讯录(打包为一个文件,上传到云盘目录)
    • 支持多账号。
    • 需要 nginx/apache + php + mysql , 比较庞大。

其他搭建cardDAV方法:


搭建 webDAV 的方法


转载注明来源: 本文链接 来自osnosn的博客.

最新文章

  1. angularjs和ajax的结合使用 (一)
  2. ABP理论学习之OWIN集成
  3. 浅谈web语义化
  4. position为absolute的元素如何实现居中
  5. c++复习一:复数运算的简单实现。
  6. jQuery轮播图
  7. 错误提示:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内 .
  8. oracle11g关于表空间的问题
  9. android开发之路10(文件的读写)
  10. warning(包括PHP中的notice)必须改吗?
  11. 说说http请求
  12. 【Java】泛型学习笔记
  13. 学习ASP.NET Core Razor 编程系列七——修改列表页面
  14. MyBatis 学习总结 01 快速入门
  15. C# 微信开发-----微信会员卡(一)
  16. url 中文及特殊字符转码
  17. java-索引
  18. .NET Core部署中你不了解的框架依赖与独立部署
  19. lua --- 点号 和 冒号
  20. Java中List详解

热门文章

  1. 844. 走迷宫(bfs模板)
  2. mac /windows
  3. [CF891C] Envy - Kruskal,并查集
  4. 一步步教你如何在Ubuntu虚拟机中安装QEMU并模拟模拟arm 开发环境(一)uImage u-boot(转)
  5. 【转】Java(多)线程中注入Spring的Bean
  6. HBuilderX开发app实现自动更新版本
  7. python vs java Threadpool
  8. SpringBoot学习- 6、MetaData描述无法tip显示问题
  9. Tensorflow中one_hot() 函数用法
  10. Map中放入对象字符串转义问题