Exécutez votre propre serveur de chat AIM, gérant les utilisateurs et les groupes. Branchez un client vintage et soyez bavard.
Clone ce référentiel et assurez-vous d'être installé dans le chemin de votre terminal. Copier env/example.config.yml vers env/config.yml et configurez les paramètres du service.
Le serveur a deux adresses qui doivent être définies:
addr : l'hôte: port auquel le serveur liebos : L'hôte: port que les clients tenteront d'atteindre pour accéder aux services aux Oscars de base Le bos doit être une IP que le client peut atteindre directement, et non 0.0.0.0 . Si vous exécutez le client dans un environnement virtuel, bos doit être défini sur l'IP local de la machine. Sur macOS, vous pouvez le trouver en fonctionnant:
osascript -e "IPv4 address of (system info)"
Si c'est la première fois que l'exécution de ce service, vous devez effectuer une migration DB pour configurer toutes les tables et créer un utilisateur par défaut.
$ go run cmd/migrate/main.go --config <path to config> init
$ go run cmd/migrate/main.go --config <path to config> up
Après avoir configuré votre configuration, vous pouvez exécuter le serveur:
$ ./run.sh
Si vous configurez votre configuration ailleurs, définissez la variable d'environnement CONFIG_FILE sur le chemin complet du fichier de configuration comme:
$ CONFIG_PATH=/Users/admin/config.yml ./run.sh
Si vous souhaitez développer le serveur AIM-Oscar, il y a un script alimentaire nodemon dans ./dev.sh qui surveillera automatiquement les modifications et rechargera automatiquement le AIM-Oscar-Server. Les clients AIM sont assez bons pour ne pas échouer immédiatement lorsque le serveur n'est pas disponible, vous pouvez donc vous développer rapidement.
Il existe un outil d'administration des utilisateurs dans cmd/user qui vous permet d'ajouter et de vérifier les utilisateurs sur votre serveur.
Pour ajouter et vérifier un utilisateur:
$ go run cmd/user/main.go --config <path to config> add <screen_name> <password> <email>
Pour vérifier un utilisateur qui s'est enregistré mais n'a pas confirmé son e-mail:
$ go run cmd/user/main.go --config <path to config> verify <screen_name>
d'Iserverd
BOS : Service Oscar de base. Ce terme fait référence aux services qui forment le cœur du service Messager instantané. Ces services incluent la connexion / déconnexion, la localisation, le message instantané, la gestion de la liste, la gestion des informations et la liste des amisFLAP est un protocole de communication de bas niveau qui facilite le développement de couches de communication de niveau supérieur et enregistrées. Il est utilisé sur la connexion TCP entre tous les clients et serveurs.SNAC : Un SNAC est l'unité de communication de base qui est échangée entre les clients et les serveurs. Les couches de communication SNAC se trouvent sur le dessus de la couche de volet.TLV : Valeur de longueur de type. Un tuple permettant de passer des informations opaques tapées par le protocole. En règle générale, les TLV sont destinés à l'interprétation au niveau de la couche centrale. Étant typés, de nouveaux éléments peuvent être ajoutés sans modification des couches inférieures.ICBM : Inter Client Basic Message. ICBM est un mécanisme canalisé client-client. Actuellement, le canal le plus visible est utilisé pour les messages instantanés.