mirror of
https://github.com/amigan/aim-oscar-server.git
synced 2024-11-21 12:09:48 -05:00
2.3 KiB
2.3 KiB
AIM Oscar Server
Run your own AIM chat server, managing users and groups. Hook up a vintage client and get chatty.
Goals
- Have a vintage client authenticate with the server
- Add buddies
- See buddy online/away status
- Chat with buddy
- Set away status
- See away status
- Look up buddy
- Buddy icons
- Rate limiting + warn system
- Web Signup (https://runningman.network/register)
- Federation with other servers
Getting Started
Clone this repository, make sure you have Go installed in your terminal's path, then run:
$ go build && ./aim-oscar
Configuration
Environment flags:
- OSCAR_HOST: host interface to bind to (default: 0.0.0.0)
- OSCAR_PORT: port to bind to (default: 5190)
- OSCAR_BOS_HOST: hostname of Basic OSCAR Service that provides core client features (default: 0.0.0.0)
- OSCAR_BOS_PORT: port of Basic OSCAR Service (default: 5190)
- DB_URL: URL of Postgres database to use
- DB_USER: Username of the db user
- DB_PASSWORD: Password of the db user
Flags:
-host
: hostname of server-port
: port to bind to-boshost
: hostname of Basic OSCAR Service-bosport
: port of Basic OSCAR Service-h
: see help information about flags
Terms
mirrored from iserverd
BOS
: Basic OSCAR Service. This term refers to the services that form the core of the Instant Messenger service. These services include Login/Logoff, Locate, Instant Message, Roster management, Info management and Buddy ListFLAP
is a low-level communications protocol that facilitates the development of higher-level, record-oriented, communications layers. It is used on the TCP connection between all clients and servers.SNAC
: A SNAC is the basic communication unit that is exchanged between clients and servers. The SNAC communication layers sits on top of the FLAP layer.TLV
: Type Length Value. A tuple allowing typed opaque information to be passed through the protocol. Typically TLV's are intended for interpretation at the core layer. Being typed, new elements can be added w/o modifying the lower layers.ICBM
: Inter Client Basic Message. ICBM is a channelized client-to-client mechanism. Currently the most user visible channel is used for Instant Messages.