搭建私人通讯录/日历同步服务_使用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的博客.

搭建私人通讯录/日历同步服务_使用cardDAV/calDAV服务的更多相关文章

  1. (转)微服务_.NET Core Consul服务发现与治理

    原文地址:https://www.cnblogs.com/waynechan/p/9354909.html Consul官网:https://www.consul.io Consul下载地址:http ...

  2. 搭建私人的云笔记_使用webdav服务

    搭建私人的云笔记_使用webdav服务 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-10-10. 手机上有很多云笔记app,大多支持云存储.可是把笔记放在别人的服务器上,总觉得不 ...

  3. 挑战以Dropbox为代表的传统“同步网盘”,Seafile推出“分布式文件同步技术”打造的私有云服务

    挑战以Dropbox为代表的传统“同步网盘”,Seafile推出“分布式文件同步技术”打造的私有云服务#36氪开放日# 其他 JasonZheng • 2012-04-07 15:14 来自36氪开放 ...

  4. Seafile 推出 “分布式文件同步技术” 打造的私有云服务

    近两年来 Dropbox 等云储存服务迅速窜红,各大巨头纷纷推出自家的云储存服务(苹果的 iCloud, 微软的 SkyDrive, Google 即将推出的 GDrive),国内也有类似的服务(金山 ...

  5. 初学django搭建一个通讯录应用

    ---恢复内容开始--- django搭建一个通讯录应用 一.环境介绍 window10 64位 Django-1.5.12 python 2.7 Sqlite3 二.基本安装 python2.7安装 ...

  6. [iOS基础控件 - 6.11.3] 私人通讯录Demo 控制器的数据传递、存储

    A.需求 1.搭建一个"私人通讯录"Demo 2.模拟登陆界面 账号 密码 记住密码开关 自动登陆开关 登陆按钮 3.退出注销 4.增删改查 5.恢复数据(取消修改)   这个代码 ...

  7. [记录]CentOS搭建SVN服务器(主从同步)

    CentOS搭建SVN服务器(主从同步)1.安装步骤如下: 1)安装: #yum install subversion 2)查看安装位置: #rpm -ql subversion 3)查看版本: #/ ...

  8. 树莓派发射FM波——搭建私人小电台

    树莓派的应用十分广泛,有很多奇思妙想的应用非常有趣,在这里我们想实现一个小电台的功能,但是在这里需要说明,私人架设电台是违法行为,所以本案只作为自我娱乐所用,不能发射大功率的信号干扰正常的FM频段. ...

  9. .Net微服务实践(五)[服务发现]:Consul介绍和环境搭建

    目录 介绍 服务发现 健康检查.键值存储和数据中心 架构 Consul模式 环境安装 HTTP API 和Command CLI 示例API介绍 最后 在上篇.Net微服务实践(四)[网关]:Ocel ...

随机推荐

  1. laravel封装返回json信息工具类

    1.工具类可以一次写入多方多方调用,很大程度的节约开发时间得到想要的信息 这里演示一个json接口的工具类(文件定义在App\Http\Controllers\Tools)中 <?php /** ...

  2. 使用U盘装Windows10系统

    一.装备工作 使用U盘装系统需要准备以下工具: 8G左右的U盘一个.由于制作启动盘会删除U盘的所有数据,所以重要资料请提前备份. 系统的镜像文件.这里我推荐MSDN, 我告诉你.这里下载的镜像和官方的 ...

  3. 梯度下降算法&线性回归算法

    **机器学习的过程说白了就是让我们编写一个函数使得costfunction最小,并且此时的参数值就是最佳参数值. 定义 假设存在一个代价函数 fun:\(J\left(\theta_{0}, \the ...

  4. Excel如何快速选定所需数据区域

    在使用Excel处理数据时,快速选定所需数据区域的一些小技巧. 第一种方法:(选定指定区域) Ctrl+G调出定位对话框,在[引用位置]处输入A1:E5000,点击[确定]即可.  第二种方法:(选定 ...

  5. Python基础笔记2

    @time 2019/12/17 12:04 一.列表 1.增加数据:append.insert方法 names = ["兰陵王", "孙悟空", " ...

  6. Error Code : 1064 You have an error in your SQL syntax; check the manual that corresponds to your My

    转自:https://blog.csdn.net/haha_66666/article/details/78444457 Query : select * from order LIMIT 0, 10 ...

  7. Switch The LED Holiday Light To Illuminate The Cheerful Holidays

    I like how LED holiday lights add a little magic to the holidays. Want an easy way to reduce your va ...

  8. 题解 CF409A 【The Great Game】

    题目传送门. 思路: 首先我们定义\(2\)个字符串,分别存放 TEAM 1 与 TEAM 2 的出招顺序.接着再定义\(2\)个变量,存放 TEAM 1 与 TEAM 2 的分数. string s ...

  9. SpringBoot学习- 9、Slf4j日志

    SpringBoot学习足迹 在上一篇学习中 通过画红线的注解,可以直接在下面log.debug输出日志到控制台,但是写日志文件就没那么顺利了,一直不成功,找了N种配置,以下配置方法可行 首先确保已引 ...

  10. HTML的表单标签汇总

    HTML的表单标签汇总 表单的元素格式: 1. 账号.密码.提交.重置 语法: <p>账号:<input type="text" name="usern ...