Führen Sie Ihren eigenen AIM -Chat -Server aus und verwalten Sie Benutzer und Gruppen. Schließen Sie einen Vintage -Client an und plaudern Sie.
Klonen Sie dieses Repository und stellen Sie sicher, dass Sie auf dem Weg Ihres Terminals in den Weg installiert sind. Kopieren Sie env/example.config.yml in env/config.yml und konfigurieren Sie die Serviceeinstellungen.
Der Server verfügt über zwei Adressen, die festgelegt werden müssen:
addr : Der Host: Port, an den der Server bindetbos : Der Host: Port, den Kunden versuchen, auf einfache Oscar -Dienste zuzugreifen Das bos muss eine IP sein, die der Client direkt erreichen kann, nicht 0.0.0.0 . Wenn Sie den Client in einer virtuellen Umgebung ausführen, sollte bos auf die lokale IP der Maschine eingestellt werden. Auf macOS finden Sie dies durch Laufen:
osascript -e "IPv4 address of (system info)"
Wenn dies das erste Mal, dass dieser Dienst ausgeführt wird, sollten Sie eine DB -Migration durchführen, um alle Tabellen einzurichten und einen Standardbenutzer zu erstellen.
$ go run cmd/migrate/main.go --config <path to config> init
$ go run cmd/migrate/main.go --config <path to config> up
Nachdem Sie Ihre Konfiguration eingerichtet haben, können Sie den Server ausführen:
$ ./run.sh
Wenn Sie Ihre Konfiguration an einem anderen Ort einrichten, setzen Sie die Umgebungsvariable CONFIG_FILE auf den vollständigen Pfad der Konfigurationsdatei wie SO:
$ CONFIG_PATH=/Users/admin/config.yml ./run.sh
Wenn Sie den AIM-Oscar-Server entwickeln möchten, gibt es ein mit nodemon -geschaffenes Skript in ./dev.sh , das nach Änderungen acht und den AIM-Oscar-Server automatisch neu laden. Die AIM -Clients sind ziemlich gut darin, nicht sofort zu versagen, wenn der Server nicht verfügbar ist, sodass Sie sich schnell entwickeln können.
In cmd/user befindet sich ein Benutzeradministrations -Tool, mit dem Sie Benutzer auf Ihrem Server hinzufügen und überprüfen können.
Fügen Sie einen Benutzer hinzu und überprüfen Sie:
$ go run cmd/user/main.go --config <path to config> add <screen_name> <password> <email>
Um einen Benutzer zu überprüfen, der seine E -Mail registriert hat, aber nicht bestätigt hat:
$ go run cmd/user/main.go --config <path to config> verify <screen_name>
von iServerd
BOS : Basic Oscar Service. Dieser Begriff bezieht sich auf die Dienste, die den Kern des Instant Messenger -Dienstes bilden. Diese Dienste umfassen Login/Anmeldung, lokalisieren, sofortige Nachricht, Dienstplanverwaltung, Info -Management und Buddy -ListeFLAP ist ein Kommunikationsprotokoll mit niedrigem Niveau, das die Entwicklung höherer, rekordorientierter Kommunikationsschichten erleichtert. Es wird für die TCP -Verbindung zwischen allen Clients und Servern verwendet.SNAC : Ein SNAC ist die grundlegende Kommunikationseinheit, die zwischen Clients und Servern ausgetauscht wird. Die SNAC -Kommunikationsschichten befinden sich auf der Klappenschicht.TLV : Typ Längenwert. Ein Tupel, mit dem typisierte undurchsichtige Informationen durch das Protokoll weitergeleitet werden können. Typischerweise sind TLVs für die Interpretation in der Kernschicht gedacht. Wenn Sie getippt werden, können neue Elemente mit der Änderung der unteren Schichten hinzugefügt werden.ICBM : Grundlegende Grundlegungsnachricht. ICBM ist ein kanalisierter Client-zu-Client-Mechanismus. Derzeit wird der sichtbare Kanal der Benutzer für Sofortnachrichten verwendet.