This project is an implementation written in Golang of Microsoft's MSN Messenger server in its initial release. Due to the complexicity of the project, the server only supports (for now) MSN Messenger 1.0 client based on MSN Protocol 2 (MNSP2).
The project aims to support the entire feature set of MSNP2, including:
- User authentication
- Contact list management
- Status updates
- Real-time messaging
Important
Before running the server, you must have 3 network interfaces available on your machine and reachable by the clients. Those interfaces may be virtual. The example configuration in the repository uses the following IP ranges:
192.168.101.0/24
192.168.102.0/24
192.168.103.0/24
- Add the configuration:
cp config.yaml.example config.yaml
-
Update the configuration file with the correct values.
-
Start the docker containers:
docker compose up
Important
The same requirements regarding the network interfaces as in the release mode apply to the development mode.
- Add the configuration:
cp config-dev.yaml.example config.yaml
-
Update the configuration file with the correct values.
-
Start the database and the Redis server using Docker:
docker compose -f docker-compose-dev.yaml up
- Run the dispatch server:
make dispatch
- Run the notification server:
make notification
- Run the switchboard server:
make switchboard
Warning
This project is a personal hobby project and is not affiliated with, endorsed by, or officially supported by Microsoft or any of its subsidiaries. The content, views, and contributions in this repository are solely those of the project author(s) and do not represent the opinions or positions of Microsoft.