Ejecute su propio servidor de chat de AIM, administrando usuarios y grupos. Conecte un cliente vintage y haga hablar.
Clone este repositorio y asegúrese de haberlo instalado en la ruta de su terminal. Copie env/example.config.yml a env/config.yml y configure la configuración del servicio.
El servidor tiene dos direcciones que deben establecerse:
addr : el host: puerto al que se une el servidorbos : El host: puerto que los clientes intentarán llegar para acceder a los servicios básicos de Oscar El bos debe ser una IP que el cliente pueda llegar directamente, no 0.0.0.0 . Si está ejecutando el cliente en un entorno virtual, entonces se debe configurar bos en la IP local de la máquina. En MacOS puedes encontrar esto ejecutando:
osascript -e "IPv4 address of (system info)"
Si esta es la primera vez que ejecuta este servicio, debe hacer una migración de DB para configurar todas las tablas y crear un usuario predeterminado.
$ go run cmd/migrate/main.go --config <path to config> init
$ go run cmd/migrate/main.go --config <path to config> up
Después de configurar su configuración, puede ejecutar el servidor:
$ ./run.sh
Si configura su configuración en otro lugar, configure la variable de entorno CONFIG_FILE en la ruta completa del archivo de configuración como así:
$ CONFIG_PATH=/Users/admin/config.yml ./run.sh
Si desea desarrollar el servidor de AIM-OSCAR, hay un script con poder de nodemon en ./dev.sh que vigilará los cambios y recargará el servidor AIM-OSCAR automáticamente. Los clientes AIM son bastante buenos para no fallar de inmediato cuando el servidor no está disponible para que pueda desarrollarse rápidamente.
Hay una herramienta de administración de usuarios en cmd/user que le permite agregar y verificar a los usuarios en su servidor.
Para agregar y verificar un usuario:
$ go run cmd/user/main.go --config <path to config> add <screen_name> <password> <email>
Para verificar a un usuario que se haya registrado pero que no haya confirmado su correo electrónico:
$ go run cmd/user/main.go --config <path to config> verify <screen_name>
de iserverd
BOS : servicio básico de Oscar. Este término se refiere a los servicios que forman el núcleo del servicio de mensajería instantánea. Estos servicios incluyen inicio de sesión/logro, localización, mensaje instantáneo, gestión de la lista, gestión de información y lista de amigosFLAP es un protocolo de comunicaciones de bajo nivel que facilita el desarrollo de capas de comunicaciones de alto nivel, orientadas a registros. Se utiliza en la conexión TCP entre todos los clientes y servidores.SNAC : Un SNAC es la unidad de comunicación básica que se intercambia entre clientes y servidores. Las capas de comunicación SNAC se encuentran en la parte superior de la capa de aleta.TLV : Valor de longitud de tipo. Una tupla que permite pasar la información opaca escrita a través del protocolo. Por lo general, los TLV están destinados a interpretar en la capa central. Al escribir, se pueden agregar nuevos elementos sin modificar las capas inferiores.ICBM : mensaje básico entre clientes. ICBM es un mecanismo canalizado de cliente a cliente. Actualmente, el canal más visible del usuario se usa para mensajes instantáneos.