Nessuna descrizione

Mike 2ab90407e5 refactoring 2 anni fa
cmd c49ece149e refactoring 2 anni fa
handler af90961ef1 refactor XMessage name, consts 2 anni fa
oscar af90961ef1 refactor XMessage name, consts 2 anni fa
server 2ab90407e5 refactoring 2 anni fa
state af90961ef1 refactor XMessage name, consts 2 anni fa
.gitignore c49ece149e refactoring 2 anni fa
.mockery.yaml bdb567e121 refactoring 2 anni fa
LICENSE dfa3cdf5ce Create LICENSE 2 anni fa
README.md 1d3718b03b rebranding 2 anni fa
api.yml 3ad366ec91 implement user management API 2 anni fa
go.mod 999dd2ee65 implement unit tests for SendAndReceiveChannelMsgTohost 2 anni fa
go.sum 999dd2ee65 implement unit tests for SendAndReceiveChannelMsgTohost 2 anni fa

README.md

Retro AIM Server

Retro AIM Server is a server implementation of the OSCAR protocol that supports AIM versions 5.0-5.9.

How to run

Retro AIM Server requires go 1.21.

Configuration

Server configuration is set through environment variables. The following are the most useful configs:

Env Variable Description
OSCAR_HOST The hostname that the server should bind to. If exposing to the internet, use the public IP.
DISABLE_AUTH If true, auto-create screen names at login and skip the password check. Useful for development purposes.
DB_PATH The path to the SQLite database.
LOG_LEVEL Set logging granularity. Possible values: trace, debug, info, warn, error

Starting Up

DISABLE_AUTH=true \
OSCAR_HOST=192.168.64.1 \
DB_PATH=./aim.db \
go run ./cmd/main.go

User Management

User management is done through a REST API.

List Users

curl http://localhost:8080/user

Create Users

curl -d'{"screen_name":"myScreenName", "password":"thepassword"}' http://localhost:8080/user