Technologies Getting Started Contribute
Internet Relay Chat (IRC) is a text-based communication protocol that enables real-time chat between users on a network of servers. It allows users to join chat rooms (called channels). This one includes SSL/TLS encryption for better security.
This was a small, side project I developed while being bored.
- Python
- OpenSSL
- Curses
To generate the certificates needed for the Server and Client you will need to run OpenSSL with the following command:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
You can edit the parameters to fit your scenario better, this is an example.
To start the Server first you will need to have the certificates on the same folder as the server.py, with that you can just do:
py server.py
To start the Client you will once again need the certificates on the same folder and do:
py main.py
By default the Client will display the IP 127.0.0.1:6667, if you are hosting on a separate machine make sure to port forward on the server and then connect using the public IP. You can also use something like ZeroTier to connect to the Server but I havent tried it.
Please feel free to make pullrequests to this Repo explaning your changes to improve the project.