Skip to content

Commit 5925c2b

Browse files
authored
Merge pull request #4 from tasnimzotder/dev
Add Public Key Sharing & File Save Features
2 parents 7f457d9 + 195f8aa commit 5925c2b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1511
-618
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,3 +118,4 @@ bin
118118

119119
acme.json
120120
.env
121+
.vscode

.idea/inspectionProfiles/Project_Default.xml

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 42 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,43 @@
11
# tChat
22

3-
Terminal chat application for developers
3+
Terminal chat application for developers. Share texts and files between users (or servers) using end-to-end encryption.
44

55
## Features
66

7-
- [x] Send text messages
8-
- [ ] Send files and images
7+
- [x] Send text messages
8+
- [x] Send files
99
- [ ] Secure authentication
10-
- [ ] End-to-end encryption
10+
- [x] End-to-end encryption
1111
- [ ] Live chat
1212

13+
## Working
14+
15+
### Public Key Sharing
16+
17+
![Public Key Sharing Sequence Diagram](./assets/pubkey-sharing-seq-diagram.png)
18+
19+
### End-to-end Encryption
20+
21+
![End-to-end Encryption Sequence Diagram](./assets/e2ee-seq-diagram.png)
22+
1323
## Installation
1424

1525
Git clone the repository and run the following commands:
1626

27+
1. For Mac and Linux:
28+
1729
```bash
1830
sudo sh install.sh
1931
```
2032

2133
This will build the application and copy the executable to /usr/local/bin directory.
2234

35+
2. For Windows: (using PowerShell)
36+
37+
```bash
38+
.\install.ps1
39+
```
40+
2341
## Usage
2442

2543
To start the application, run the following command:
@@ -28,23 +46,32 @@ To start the application, run the following command:
2846
tchat
2947
```
3048

31-
Please run the following command to register your username:
49+
Please run the following command to start a new connection:
3250

3351
```bash
34-
tchat init -u <username>
52+
tchat conn
3553
```
3654

3755
## Commands
3856

39-
| Command | Description | Example |
40-
|---------|------------------------|------------------------------------------|
41-
| init | Register your username | `tchat init -u <username>` |
42-
| s | Send a message | `tchat send -r <recipient> -m <message>` |
43-
| m | Message | `tchat m` |
57+
| Command | Description | Example |
58+
| ------- | ------------------------ | --------------------------------------- |
59+
| `conn` | Start or save connection | `tchat conn` |
60+
| `msg` | Receive messages | `tchat msg -d 1 -s hello.txt` |
61+
| `send` | Send messages | `tchat send -r <receiver> -m <message>` |
4462

4563
### Message Command
4664

47-
| Option | Description | Example |
48-
|--------|------------------|------------------|
49-
| -c | Clear the chat | `tchat m -c all` |
50-
| -d | Display the chat | `tchat m -d 10` |
65+
| Option | Description | Example |
66+
| ------ | -------------------------------- | ----------------------------- |
67+
| -c | Clear the messages | `tchat msg -c all` |
68+
| -d | Display a message (serialNumber) | `tchat m -d 2` |
69+
| -s | Save a message to file | `tchat msg -d 2 -s hello.txt` |
70+
71+
### Send Command
72+
73+
| Option | Description | Example |
74+
| ------ | ----------- | --------------------------------------- |
75+
| -r | Receiver | `tchat send -r <receiver> -m <message>` |
76+
| -m | Message | `tchat send -r <receiver> -m <message>` |
77+
| -f | File | `tchat send -r <receiver> -f <file>` |

assets/e2ee-seq-diagram.png

27 KB
Loading

assets/pubkey-sharing-seq-diagram.png

32.7 KB
Loading

client/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,3 +150,5 @@ go.work
150150
# Android studio 3.1+ serialized cache file
151151

152152
.env.*
153+
.vscode
154+
.idea

0 commit comments

Comments
 (0)