Seafile 服务器手册:https://cloud.seafile.com/published/seafile-manual-cn/home.md
源码地址:
seafile源代码地址:https://github.com/haiwen/seafile.git
libsearpc库源码地址:https://github.com/haiwen/libsearpc.git
seafile服务器源码地址:https://github.com/haiwen/seafile-server.git
seafile客户端源码地址:https://github.com/haiwen/seafile-client.git
1、Seafile
是一个具有隐私保护和团队协作特性的开源云存储系统。文件的集合称为库。每个库都可以单独同步。还可以使用用户选择的密码对库进行加密。Seafile 还允许用户创建组并轻松地将文件共享到组中。
功能:
1.1、文件同步
1.1.1、任何文件夹的选择性同步。
1.1.2、根据历史而不是时间戳正确处理文件冲突。
1.1.3、仅将内容增量传输到服务器。中断的传输可以恢复。
1.1.4、与两个或多个服务器同步。
1.1.5、与现有文件夹同步。
1.2、文件共享和协作
1.2.1、在用户之间或群组中共享文件夹。
1.2.2、带密码保护的下载链接
1.2.3、上传链接
1.2.4、版本控制
1.3、驱动客户端
1.3.1、通过虚拟驱动器访问云中的所有文件。
1.3.2、文件按需同步。
1.4、隐私保护
1.4.1、使用用户选择的密码进行库加密。
1.4.2、使用桌面同步时的客户端加密。
1.5、在线文档和知识管理(新)
1.5.1、所见即所得的在线 Markdown 编辑
1.5.2、在线文档的草稿审阅工作流程
1.5.3、元数据管理,包括
1.5.4、文件标签
1.5.5、相关文件
1.5.6、维基模式
1.5.7、实时通知
2、libsearpc
是基础库,seafile-server和seafile-client都依赖libsearpc库,而libsearpc依赖glib库
Searpc是一个简单的基于GObject系统的C语言RPC框架。Searpc 处理 RPC 的序列化/反序列化部分,传输部分留给用户。序列化/反序列化通过 json-glib 库使用 JSON 格式。执行RPC函数后,服务器返回一个序列化的json对象给客户端。在服务器端定义的每个 RPC 函数都应该有一个额外的 GError 参数来报告错误。返回的 json 对象包含三个字段:
ret : RPC 函数的返回值
err_code:错误代码。仅当 RPC 函数报告错误时才设置此字段。
err_msg:错误信息。仅当 RPC 函数报告错误时才设置此字段。
构建 libsearpc 需要以下包:
glib-2.0 >= 2.26.0
gobject-2.0 >= 2.26.0
jansson >= 2.2.1
python simplejson (for pysearpc)
3、seafile-client
Seafile桌面版客户端
构建 seafile-client 需要以下包:
Qt5
cmake
libsearpc
seafile