搭建私人通讯录/日历同步服务_使用cardDAV/calDAV服务
搭建私人通讯录/日历同步服务_使用cardDAV/calDAV服务
转载注明来源: 本文链接 来自osnosn的博客,写于 2020-02-18.
Radicale, Radicale (对carddav支持好)
- radicale 1.x 是PY2的。
- 能用。支持 CardDAV-Sync-free-0.4.5和DAVdroid(DAVx5)2.6.3
- 访问的时候,比较慢。似乎同一时间只能支持一个IP访问。
- radicale 2.1.11 是PY3的。
- pip3安装,总共4个包(radicale,vobject,python-dateutil,six),4个包约占1.5MB
- 速度很快。能用。支持 CardDAV-Sync-free-0.4.5和DAVdroid(DAVx5)2.6.3 (gitlab)
- 支持多用户(多账号),多账号的通讯录,分别保存在不同目录中。
- 目录名都是hash值。
- 通讯录记录同步到服务端,一条记录为一个独立的vcf文件,且文件名都是hash值。
- contacts目录下,无 .git 目录。
- 创建3个配置文件,执行
radicale -C config
即可。
- radicale 1.x 是PY2的。
## 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 的方法
搭建私人通讯录/日历同步服务_使用cardDAV/calDAV服务的更多相关文章
- (转)微服务_.NET Core Consul服务发现与治理
原文地址:https://www.cnblogs.com/waynechan/p/9354909.html Consul官网:https://www.consul.io Consul下载地址:http ...
- 搭建私人的云笔记_使用webdav服务
搭建私人的云笔记_使用webdav服务 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-10-10. 手机上有很多云笔记app,大多支持云存储.可是把笔记放在别人的服务器上,总觉得不 ...
- 挑战以Dropbox为代表的传统“同步网盘”,Seafile推出“分布式文件同步技术”打造的私有云服务
挑战以Dropbox为代表的传统“同步网盘”,Seafile推出“分布式文件同步技术”打造的私有云服务#36氪开放日# 其他 JasonZheng • 2012-04-07 15:14 来自36氪开放 ...
- Seafile 推出 “分布式文件同步技术” 打造的私有云服务
近两年来 Dropbox 等云储存服务迅速窜红,各大巨头纷纷推出自家的云储存服务(苹果的 iCloud, 微软的 SkyDrive, Google 即将推出的 GDrive),国内也有类似的服务(金山 ...
- 初学django搭建一个通讯录应用
---恢复内容开始--- django搭建一个通讯录应用 一.环境介绍 window10 64位 Django-1.5.12 python 2.7 Sqlite3 二.基本安装 python2.7安装 ...
- [iOS基础控件 - 6.11.3] 私人通讯录Demo 控制器的数据传递、存储
A.需求 1.搭建一个"私人通讯录"Demo 2.模拟登陆界面 账号 密码 记住密码开关 自动登陆开关 登陆按钮 3.退出注销 4.增删改查 5.恢复数据(取消修改) 这个代码 ...
- [记录]CentOS搭建SVN服务器(主从同步)
CentOS搭建SVN服务器(主从同步)1.安装步骤如下: 1)安装: #yum install subversion 2)查看安装位置: #rpm -ql subversion 3)查看版本: #/ ...
- 树莓派发射FM波——搭建私人小电台
树莓派的应用十分广泛,有很多奇思妙想的应用非常有趣,在这里我们想实现一个小电台的功能,但是在这里需要说明,私人架设电台是违法行为,所以本案只作为自我娱乐所用,不能发射大功率的信号干扰正常的FM频段. ...
- .Net微服务实践(五)[服务发现]:Consul介绍和环境搭建
目录 介绍 服务发现 健康检查.键值存储和数据中心 架构 Consul模式 环境安装 HTTP API 和Command CLI 示例API介绍 最后 在上篇.Net微服务实践(四)[网关]:Ocel ...
随机推荐
- 《剑指Offer》各面试题总结
目录 前言 面试题4 二维数组的查找 面试题5:替换空格 面试题6:从尾到头打印链表 面试题7:重建二叉树 面试题8:二叉树的下一个节点 面试题9:用两个栈实现队列 面试题10:斐波那契数列 面试题1 ...
- DirectX11--HLSL语法入门
前言 编写本内容仅仅是为了完善当前的教程体系,入门级别的内容其实基本上都是千篇一律,仅有一些必要细节上的扩充.要入门HLSL,只是掌握入门语法,即便把HLSL的全部语法也吃透了也并不代表你就能着色器代 ...
- 事件&vue修饰符
JavaScript 事件 HTML事件是发生在HTML元素上的事情.当在HTML页面帐使用JavaScript时,javascript可以触发这些事件 HTML 事件 HTML事件可以是浏览器的行为 ...
- mac 命令行下 vim 的使用
vi/vim 使用实例 使用 vi 来建立名为 test.txt 的文件 vi test.txt1按下 ESC 按钮回到一般模式 在一般模式中按下 :wq 储存后离开 vi 基本上 vi/vim 共分 ...
- 一步步教你如何在ubuntu虚拟机中安装QEMU并模拟arm 开发环境(二)rootfs制作
过了,一天,周又到了,博主终于可以拿出时间来把上一次没有给大家展示完了的内容今天在这里一并展示给大家,希望和大家共同进步,共同学习,同时我也虔诚的希望各位业界的朋友把自己的工作经验拿出来大家一起分享, ...
- 解决Maven依赖报红的批处理文件
maven经常因为网络或者其他原因导致仓库jar包下载不完整,导致jar包依赖报红,此小工具可以一键删除未下载完成文件 set REPOSITORY_PATH=E:\deplor\apache-mav ...
- Python目录结构规范
在设计大型项目时需要规范目录结构. 假设你的项目名为foo, 我比较建议的最方便快捷目录结构这样就足够了: Foo/ |-- bin/ | |-- foo | |-- foo/ | |-- tests ...
- c++踩坑大法好 数组
1,c++遍历数组 int数组和char数组不同哦,int占4位,char占1未,同理double也不同.基本遍历方法: ] = { ,,, }; ]); printf("len of my ...
- sql语言分类及区别、显示和隐示提交的指令
SQL的发展是从1974年开始的,其发展过程如下: 1974年-----由Boyce和Chamberlin提出,当时称SEQUEL. 1976年-----IBM公司的Sanjase研究所在研制RDBM ...
- JS实现“隐藏与显示”功能(多种方法)
1,通过按钮实现隐藏与显示: 这个是通过按钮点击实现的隐藏与显示,具体代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...