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是一種通道化的客戶到客戶機制。目前,最可見的通道用於即時消息。