Share your repls and programming experiences

← Back to all posts
Python-based chatroom with user authentication and backups!
MarcusWeinberger (678)

client: /

What's unique about this chatroom (and server) is this:

* Users authenticate with a username and password
        - These are backed-up along with all messages
        - Passwords are hashed, salted, and hashed again for secure storage
        - Your display-name is also your username =
    (this means no-one can impersonate you unless you delete your account, which is also a feature)

* Messages are timestamped 
        - This happens server-side, so it's impossible to fake timestamps

* Backups of user accounts and all messages happen every 2 minutes
        - This is just the default, if you want, you can change the timer, or disable backups alltogether!

* Customizable client formatting
        - You can display the chat in any format you want (requires forking the client)

* Object-oriented, readable code
        - Alter the server or client in any way you like

* Client commands
        - Starting with '/', these commands allow you to re-view old messages, server backup logs, and more!

Anyway, I'll probably add more features, as this was developed in a hurry. If you find any bugs or vulnerabilities, please let me know!


Whenever I try to enter a password it doesn't work. Am I doing something wrong?

MarcusWeinberger (678)

@IrisYan no, it's currently broken, I can't be bothered to fix it, sorry.

zhidao (13)

you should make an admin part to kick people that abuse

MarcusWeinberger (678)

@zhidao Admin user is now built-in with a preset password. The admin account has abilities to remove users, messages, and to manually save the chat