Skip to content

fast01/avim

This branch is 544 commits ahead of zhangf911/avim:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f758dbe · Jan 2, 2015
Dec 21, 2014
Dec 28, 2014
Dec 31, 2014
Dec 27, 2014
Dec 1, 2014
Dec 23, 2014
Dec 21, 2014
Jan 2, 2015
Nov 27, 2014
Dec 12, 2014
Jan 2, 2015
Dec 22, 2014
Nov 8, 2014
Dec 21, 2014

Repository files navigation

avim

IM for avplayer

avim 是一个完全全新设计的IM协议,同时也是一个同名的C++实现(reference implementation)。 # 目标 目标是提供一个开源的IM实现,并且能实现文字聊天,图片聊天,语音聊天,视频聊天。这是同样开源的IRC和XMPP无法实现的。

avim 总架构:

     avim-client(qt based, ncurser based, etc)
           |
+----------+---------+     +----------+---------+
|     avim-router ---+-----+----- avim-router   |
+--------------------+     +--------------------+
									  |
									  |
							+---------+----------+
							|      avim-bot      |
							|      |      |      |
							|  avim-db  avim-log |
							+--------------------+
  • avim-router 为核心协议实现, libavproto.so / libavproto.dll 提供多种语言的 wrapper 接口

  • avim-bot 为聊天机器人,用来实现群聊

  • avim-db 为用户信息数据库,为独立进程。可以不必跑在相同服务器上。

  • avim-log 为聊天日志记录数据库,为独立进程。可以不必跑在相同服务器上。

  • avim-client 为客户端,avplayer.org 计划提供基于Qt的跨平台客户端,以及 pidgin 插件。

计划使用的库

protobuf, boost, Qt(客户端only)

protobuf protobuf 从这个地方下载

https://github.com/google/protobuf/releases

boost

boost 从这个地方下载

http://www.boost.org/users/history/version_1_57_0.html

Build

$ git clone https://github.com/avplayer/avim.git
$ cd avim && mkdir build && cd build && cmake ..
$ make -j8  # 默认带GUI; 如不需编译GUI的, 可以用 $ cmake .. -DBUILD_GUI=OFF

详细的编译说明

windows版本 编译说明

ubuntu版本 编译说明

MacOS版本 编译说明

协议

协议本身将进入 public domain,允许任何人自行实现。 avplayer.org社区提供的avim协议实现avim,将采用 LGPL 许可证,以便允许商业二次开发。

优势

avim 作为一个开源的IM实现,同时包含了客户端和服务器端。 avplayer.org 本身会运营一个实例,用于社区成员之间的沟通。 但是,avim允许二次开发,允许第三方运行avim提供功能, 而且不同avim服务提供商之间的用户还可以相互通信。这样就把 avim变成了一个分布式的IM网络了。 任何人都可以搭建自己的服务器和聊天室。同时允许二次开发,会有更丰富的第三方应用出现。

mail list

http://mailman.avplayer.org/pipermail/list/

Releases

No releases published

Packages

No packages published

Languages

  • C++ 83.6%
  • CMake 11.9%
  • QMake 3.1%
  • Shell 1.4%