Code Monkey home page Code Monkey logo

shhchat's People

Contributors

triforce avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

shhchat's Issues

Syslog

As part of the server daemon functionality, relevant messages should be outputted to syslog.

Server status messages and successful clients connects to the server should be sent to syslog.

Add debugger

Add optional debugger in both client and server so unnecessary messages are not spammed in console.

Can you help me?

你好!我是一名即将毕业的计算机专业的本科生,最近在做毕业设计,在github上看到了您发布的这个聊天程序,对此很感兴趣。想利用这个来完成我的毕设,能给予我一些帮助吗?

Additional client connection causes connection message garbage

After connecting a second user to a chat session with a server, upon initial connection and receiving of the 'X user connected' message, a bunch of garbage characters are printed to the screen. This could be due to the buffer not being cleared properly, or the encryption on the server side.

Chat reply formatting

When a user sends a chat message there is no longer a ':' after the username, making the chat text difficult to read.

Secure protocol

Enhancements relating to improving the security of client/server protocol.

Log file limit

Currently an infinite number of client log files are created which isn't very practical.

AUR Package

Package first release into a Arch Linux Package.

Package needs to add server and client into /usr/bin.

Config files should be added into /etc/shhchat dir.

Superuser feature

Add functionality for users to gain special chat privileges to do administrative type actions on the chat session.

Config file handling

Config files should be read from /etc/shhchat. If files don't exist then create default versions.

This applies to both server and client.

If client and server startup with no parameters then config parameters are read.

The config reading functionality should be added as a separate library.

Read key file

Both client and server need to read key from key file.

Additional cryptography layer

The current xor encryption is very basic and a new layer of encryption is necessary for a more robust protocol. Traffic can be easily deciphered.

Cleanup received message output

After a client receives a message from another client via the server another "You" is output to the console which looks untidy and uses up console lines unnecessarily. Use \r.

Improve usability

The current way in which lines are laid out and handled looks shabby - Improve it!

Chat messages truncated

Some chat messages are truncated on the clients.

This is due to the correct key not being used in both server and client. Closing.

Users db

Add user dB for additional security.

Initial implementation requires a simple plain text file containing list of users allowed to connect to server.

Log commands terminology

Change name of chat log commands as future actual login logoff commands may be used. Use something like clientlogs_on instead.

Secure use of syslog

Truncate all input strings to a reasonable length before passing into syslog.

Help command

Add a help command displaying list of all commands available.

Handshake message

A client server handshake message (possibly based on the key) will increase security.

Key file handling simplicity

Current key file handling on both sides is too simple and should check several locations to be able to function effectively as a Linux package.

Multi client chat smoothness

Chatting via multiple clients is visually difficult to read. Proper line breaks for input text is not being used.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.