aim oscar server
1.0.0
ユーザーとグループを管理する独自のAIMチャットサーバーを実行します。ヴィンテージのクライアントを接続しておしゃべりをしてください。
このリポジトリをクローンし、ターミナルのパスにインストールされていることを確認してください。 env/example.config.ymlをenv/config.ymlにコピーし、サービス設定を構成します。
サーバーには、設定する必要がある2つのアドレスがあります。
addr :ホスト:サーバーがバインドするポートbos :ホスト:クライアントが基本オスカーサービスにアクセスするために到達しようとするポートbos 、 0.0.0.0ではなく、クライアントが直接到達できるIPである必要があります。仮想環境でクライアントを実行している場合は、 bosマシンのローカルIPに設定する必要があります。 macosでは、これを実行することでこれを見つけることができます。
osascript -e "IPv4 address of (system info)"
このサービスを実行するのが初めての場合は、すべてのテーブルをセットアップしてデフォルトのユーザーを作成するためにDB移行を行う必要があります。
$ 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を他の場所で設定した場合、 CONFIG_FILE環境変数をconfigファイルの完全なパスに設定します。
$ CONFIG_PATH=/Users/admin/config.yml ./run.sh
Aim-Oscar-Serverを開発したい場合は、 ./dev.shにはnodemon -Powered Scriptがあり、変更を監視し、Aim-Oscar-Serverを自動的にリロードします。 AIMクライアントは、サーバーが利用できない場合にすぐに失敗しないことでかなり上手です。
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 :基本オスカーサービス。この用語は、インスタントメッセンジャーサービスの中核を形成するサービスを指します。これらのサービスには、ログイン/ログオフ、場所、インスタントメッセージ、名簿管理、情報管理、バディリストが含まれますFLAP 、高レベルのレコード指向の通信層の開発を促進する低レベルの通信プロトコルです。すべてのクライアントとサーバー間のTCP接続で使用されます。SNAC :SNACは、クライアントとサーバーの間で交換される基本的な通信ユニットです。 SNAC通信層は、フラップ層の上にあります。TLV :タイプの長さ値。タイプされた不透明な情報をプロトコルに渡すことができるタプル。通常、TLVはコア層での解釈を目的としています。タイプされているため、下層を変更して新しい要素を追加できます。ICBM :インタークライアントの基本メッセージ。 ICBMは、チャネル化されたクライアントからクライアントへのメカニズムです。現在、ほとんどのユーザー可視チャネルがインスタントメッセージに使用されています。