Skip to content

marcantoinegodde/msn_server

Repository files navigation

MSN Server (MSNP2)

Go Postgres Redis Docker

📝 Description

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).

✨ Features

The project aims to support the entire feature set of MSNP2, including:

  • User authentication
  • Contact list management
  • Status updates
  • Real-time messaging

🚀 Runing the server in release mode

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
  1. Add the configuration:
cp config.yaml.example config.yaml
  1. Update the configuration file with the correct values.

  2. Start the docker containers:

docker compose up

🔨 Runing the server in development mode

Important

The same requirements regarding the network interfaces as in the release mode apply to the development mode.

  1. Add the configuration:
cp config-dev.yaml.example config.yaml
  1. Update the configuration file with the correct values.

  2. Start the database and the Redis server using Docker:

docker compose -f docker-compose-dev.yaml up
  1. Run the dispatch server:
make dispatch
  1. Run the notification server:
make notification
  1. Run the switchboard server:
make switchboard

🚨 Disclaimer

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.

About

A Golang implementation of Microsoft's MSN Messenger server supporting MSNP2.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published