aim oscar server
1.0.0
运行自己的AIM聊天服务器,管理用户和组。连接一个老式的客户并变得健谈。
克隆此存储库,并确保您已安装在终端路径中。复制env/example.config.yml到env/config.yml并配置服务设置。
服务器有两个需要设置的地址:
addr :主机:服务器绑定到的端口bos :主机:客户将尝试访问基本奥斯卡服务的端口bos需要是客户可以直接达到的IP,而不是0.0.0.0 。如果您在虚拟环境中运行客户端,则应将bos设置为计算机的本地IP。在MacOS上,您可以通过运行来找到它:
osascript -e "IPv4 address of (system info)"
如果这是第一次运行此服务,则应进行数据库迁移以设置所有表并创建默认用户。
$ go run cmd/migrate/main.go --config <path to config> init
$ go run cmd/migrate/main.go --config <path to config> up
设置配置后,您可以运行服务器:
$ ./run.sh
如果将配置设置在其他地方,则将CONFIG_FILE环境变量设置为config文件的完整路径这样:
$ CONFIG_PATH=/Users/admin/config.yml ./run.sh
如果您想开发AIM-ISCAR-SERVER,则在./dev.sh中有一个具有nodemon的脚本,它将注意更改并自动重新加载AIM-Oscar-Server。目的客户端非常擅长在服务器不可用时不立即失败,因此您可以迅速开发。
cmd/user中有一个用户管理工具,可让您在服务器上添加和验证用户。
添加和验证用户:
$ go run cmd/user/main.go --config <path to config> add <screen_name> <password> <email>
验证已注册但未确认其电子邮件的用户:
$ go run cmd/user/main.go --config <path to config> verify <screen_name>
来自Iserverd
BOS :基本奥斯卡服务。该术语是指构成Instant Messenger服务核心的服务。这些服务包括登录/注销,定位,即时消息,名册管理,信息管理和好友列表FLAP是一种低级通信协议,可促进高级,唱片的通信层的开发。它用于所有客户端和服务器之间的TCP连接。SNAC :SNAC是客户和服务器之间交换的基本通信单元。 SNAC通信层位于襟翼层的顶部。TLV :类型长度值。元组允许通过协议传递打字的不透明信息。通常,TLV旨在在核心层上进行解释。在键入时,可以添加新元素,而没有修改下层。ICBM :客户端基本消息。 ICBM是一种通道化的客户到客户机制。目前,最可见的通道用于即时消息。