Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tina-lel/berzelius
An end to end encrypted chat room, supporting multiple users written entirely in bash with the help of socat.
https://github.com/tina-lel/berzelius
bash chat encryption messaging socat tcp
Last synced: about 7 hours ago
JSON representation
An end to end encrypted chat room, supporting multiple users written entirely in bash with the help of socat.
- Host: GitHub
- URL: https://github.com/tina-lel/berzelius
- Owner: Tina-lel
- License: gpl-3.0
- Created: 2023-07-24T16:51:45.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-19T16:57:33.000Z (about 1 year ago)
- Last Synced: 2024-01-20T11:32:12.872Z (about 1 year ago)
- Topics: bash, chat, encryption, messaging, socat, tcp
- Language: Shell
- Homepage:
- Size: 73.2 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Berzelius
An end to end encrypted chat room using GPG's AES256 cypher, supporting multiple users written entirely in bash with the help of socat.
Dependencies:
-
bashsocat
gpg
Ussage:
-```
git clone https://github.com/Tina-lel/Berzelius
```
## server:```
cd Berzelius/server
``````
chmod +x server
```open up "config" in a text editor and choose a port number to replace "1234", "1235" and "12346", and optionally forward these ports in your gateways configuration page, to communicate outside of your internal network.
```
./server
```see "Commands" for a list of valid commands
#### entering a password and running the server:
```
pass
```the password file was generated in (script location)/gpg you should be careful with it (ITS PLAIN TEXT)
```
start
```if everything went fine, and the server didn't return any errors, you can test the connection with a client
## client:
```
cd Berzelius/client/
```
```
chmod +x client
```open up "config" in a text editor and edit the "example" server function to point to a machine running the server script on the same ports, if you changed the function name or added new ones, you additionally need to edit the array at the top with the new names (seperated by spaces). you can add as many server functions as you'd like.
```
./client
```select a server with the keybinds set in the config (defaults are UP=w DOWN=s QUIT=q)
enter the server's password
if the server was running, and everything went fine, you should now see a blank screen, with a little arrow.
in order to chat, type something and press enter. type "!q" to disconnect and exit (CTRL+C also works)
Commands:
-### server:
help: this message
pass: set password
start: start the server
stop: kill the server
exit: exit the script
### client (in chat):
!help / !h (help message)
!scroll / !s (view chat history)
!color / !c (pick message color)
!neofetch / !n (send neofetch)
!refresh / !r (refresh chat)"
!back / !b (disconnect and return)
!quit / !q (disconnect and exit)