Skip to content

Latest commit

 

History

History
37 lines (32 loc) · 1.06 KB

README.md

File metadata and controls

37 lines (32 loc) · 1.06 KB

Basic TCP server:

  • multithreaded
  • key authentication
  • TLS encryption
  • server logs all messages to console
  • Client sends message, server recieves and sends back message as response
  • username functionality
  • highly customizable to suit basic needs

build commands: (select between client or server)

cargo build --bin <client/server> --release

how to use:

create a file called key, and type in any key you'd like into it, and distribute it to the server binary directory, and all the clients' binary directories

./client <IP.ADDR:PORT> (server is hardcoded to port 6969)
./server

Certificates are included (VALID UNTIL 1/7/2025. CN is RuvimP05, Passkey is 1234567890), but if you want to make your own, here are the commands:

openssl req -x509 -newkey rsa:2048 -keyout private_key.pem -out cert.pem -days 365
openssl pkcs12 -export -out certificate.p12 -inkey private_key.pem -in cert.pem