Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/j0nat/windows-live-messenger
A loose re-creation of Microsoft's abandoned Windows Live Messenger. Made for learning purposes.
https://github.com/j0nat/windows-live-messenger
messenger networking wpf
Last synced: about 1 month ago
JSON representation
A loose re-creation of Microsoft's abandoned Windows Live Messenger. Made for learning purposes.
- Host: GitHub
- URL: https://github.com/j0nat/windows-live-messenger
- Owner: j0nat
- Created: 2018-07-05T16:21:31.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-10-08T21:14:41.000Z (about 1 year ago)
- Last Synced: 2023-10-20T20:31:29.583Z (about 1 year ago)
- Topics: messenger, networking, wpf
- Language: C#
- Size: 925 KB
- Stars: 66
- Watchers: 3
- Forks: 18
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Windows Live Messenger
![Preview1](./Media/wlmclient1.png)
## Features
+ Add / Remove / Block Contact
+ Send Nudge
+ Avatars
+ Quick Message
+ Emoticons
+ Web Registration
+ Encryption
+ Save ID & Password
+ Auto Login
+ Notification Bubble
+ Automatic Away Status (AFK 150 Seconds)## Compiling
### Prerequisites
* Microsoft Visual Studio 2012+
* [MySQL .Net Connector](https://dev.mysql.com/downloads/connector/net/6.10.html)
* [NetworkComms.Net](http://www.networkcomms.net/)**To compile**:
1. Open Windows Live Messenger.sln in Visual Studio
2. Add references to MySQL and NetworkComms.Net
3. Build Solution
## Installation
### Database Installation
Create a new MySQL database. Call it msn.
Import msn.sql found in the Database folder.
### Server Installation
The server consists of the following files:
+ WLMServer.exe
+ WLMServer.exe.config
+ Messenger.config
+ WLMData.dll
+ MySql.Data.dll
+ NetworkCommsDotNetComplete.dllAfter compiling open Messenger.config and insert the database information.
```xml
```
| Setting | Description |
| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| server_port | *What port to use.* |
| server_encryption_key | *What encryption key to use for communicating with the client. Needs to be the same as the compiled value in the WLMClient.* |
| database_host | *What database host to connect to for account information.* |
| database_id | *What database user to use.* |
| database_password | *What database user password to use.* |
| database_password_encryption_key | *What encryption key to use for password encryption. Change the value but keep the length.* |
| database_password_encryption_iv | *What encryption iv to use for password encryption. Change the value but keep the length.* |
| avatars_enabled | *Whether or not to use avatars (true/false). Relies on a webserver. See "registration page installation".* |
| avatars_address | *This is the address where avatars can be accessed from. For example http://localhost/uploads/* |
| avatars_address_upload | *This is the address to the upload page where the client can upload a new avatar. For example http://localhost/upload.php* |
| broadcast_interval | *How often the server should update all the connected users contact lists. The value is in seconds.* |### Registration Page Installation
Make sure /uploads has write permission (if you attend to use avatars).
Open config.php and insert the database information.
```php
```| Setting | Description |
| -------------------- | --------------------------------------------------------------------------------------------------------------- |
| dbhost | *The database host address.* |
| dbuser | *The database user with msn access.* |
| dbpass | *The database users password.* |
| dbname | *The database name.* |
| encryption_key | *The encryption key used to encrypt the registered passwords. This needs to be the same as the server uses.* |
| encryption_iv | *The encryption iv used to encrypt the registered passwords. This needs to be the same as the server uses.* |### Client Installation
The client consists of the following files:
+ WLMClient.exe
+ WLMClient.exe.config
+ Messenger.config
+ WLMData.dll
+ NetworkCommsDotNetComplete.dllChange the encryption key in the WLMClient\Config\Properties.cs file:
``` public static string SERVER_ENCRYPTION_KEY = "CHANGEME";```After compiling open Messenger.config and insert the server address and port number.
```xml
```
| Setting | Description |
| -------------------- | -------------------------------------------- |
| server_address | *The address the client should connect to.* |
| server_port | *The port the client should connect to.* |