ChaTerminal 1.0.2__tar.gz → 1.0.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- chaterminal-1.0.4/ChaTerminal/cli.py +33 -0
- {chaterminal-1.0.2 → chaterminal-1.0.4}/ChaTerminal.egg-info/PKG-INFO +28 -53
- {chaterminal-1.0.2 → chaterminal-1.0.4}/ChaTerminal.egg-info/SOURCES.txt +0 -1
- {chaterminal-1.0.2 → chaterminal-1.0.4}/ChaTerminal.egg-info/requires.txt +5 -0
- chaterminal-1.0.4/LICENSE +11 -0
- {chaterminal-1.0.2 → chaterminal-1.0.4}/PKG-INFO +28 -53
- chaterminal-1.0.4/README.md +86 -0
- chaterminal-1.0.4/cha_terminal/client.py +1276 -0
- chaterminal-1.0.4/cha_terminal/crypto_utils.py +204 -0
- chaterminal-1.0.4/cha_terminal/splash.py +40 -0
- {chaterminal-1.0.2 → chaterminal-1.0.4}/setup.py +9 -4
- chaterminal-1.0.2/ChaTerminal/cli.py +0 -15
- chaterminal-1.0.2/LICENSE +0 -21
- chaterminal-1.0.2/README.md +0 -116
- chaterminal-1.0.2/cha_terminal/client.py +0 -101
- chaterminal-1.0.2/cha_terminal/crypto_utils.py +0 -7
- chaterminal-1.0.2/cha_terminal/server.py +0 -150
- chaterminal-1.0.2/cha_terminal/splash.py +0 -30
- {chaterminal-1.0.2 → chaterminal-1.0.4}/ChaTerminal/__init__.py +0 -0
- {chaterminal-1.0.2 → chaterminal-1.0.4}/ChaTerminal/__main__.py +0 -0
- {chaterminal-1.0.2 → chaterminal-1.0.4}/ChaTerminal.egg-info/dependency_links.txt +0 -0
- {chaterminal-1.0.2 → chaterminal-1.0.4}/ChaTerminal.egg-info/entry_points.txt +0 -0
- {chaterminal-1.0.2 → chaterminal-1.0.4}/ChaTerminal.egg-info/top_level.txt +0 -0
- {chaterminal-1.0.2 → chaterminal-1.0.4}/cha_terminal/__init__.py +0 -0
- {chaterminal-1.0.2 → chaterminal-1.0.4}/setup.cfg +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from cha_terminal import client
|
|
2
|
+
import sys
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def main():
|
|
6
|
+
if len(sys.argv) == 1:
|
|
7
|
+
# Default: launch the E2EE chat client (activation code flow)
|
|
8
|
+
client.main()
|
|
9
|
+
return
|
|
10
|
+
|
|
11
|
+
mode = sys.argv[1]
|
|
12
|
+
|
|
13
|
+
if mode in ("start", "connect", "chat", "client"):
|
|
14
|
+
client.main()
|
|
15
|
+
|
|
16
|
+
elif mode == "login":
|
|
17
|
+
# Pre-warm: initialise device + run login/linking flow only
|
|
18
|
+
client.init_db()
|
|
19
|
+
client.init_device_id()
|
|
20
|
+
client.login_flow()
|
|
21
|
+
|
|
22
|
+
elif mode in ("-h", "--help", "help"):
|
|
23
|
+
print(
|
|
24
|
+
"\nChaTerminal — E2EE CLI Chat for MemerDevs\n"
|
|
25
|
+
"\nUsage:\n"
|
|
26
|
+
" ChaTerminal Start the chat client (shows activation code on first run)\n"
|
|
27
|
+
" ChaTerminal login Pre-link your MemerDevs account\n"
|
|
28
|
+
" ChaTerminal help Show this help message\n"
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
else:
|
|
32
|
+
print(f"[!] Unknown command '{mode}'. Run 'ChaTerminal help' for usage.")
|
|
33
|
+
sys.exit(1)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ChaTerminal
|
|
3
|
-
Version: 1.0.
|
|
4
|
-
Summary: A terminal-based encrypted chat system for
|
|
3
|
+
Version: 1.0.4
|
|
4
|
+
Summary: A terminal-based encrypted chat system for MemerDevs
|
|
5
5
|
Home-page: https://github.com/Gofaone315/ChaTerminal
|
|
6
6
|
Author: Gofaone Tlalang
|
|
7
|
-
Author-email:
|
|
7
|
+
Author-email: gofaone315@memerdevs.com
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
|
9
9
|
Classifier: License :: OSI Approved :: MIT License
|
|
10
10
|
Classifier: Operating System :: OS Independent
|
|
@@ -17,6 +17,11 @@ License-File: LICENSE
|
|
|
17
17
|
Requires-Dist: colorama
|
|
18
18
|
Requires-Dist: pyfiglet
|
|
19
19
|
Requires-Dist: pyreadline3; platform_system == "windows"
|
|
20
|
+
Requires-Dist: requests
|
|
21
|
+
Requires-Dist: cryptography
|
|
22
|
+
Requires-Dist: rich
|
|
23
|
+
Requires-Dist: prompt_toolkit
|
|
24
|
+
Requires-Dist: keyring
|
|
20
25
|
Dynamic: author
|
|
21
26
|
Dynamic: author-email
|
|
22
27
|
Dynamic: classifier
|
|
@@ -30,34 +35,30 @@ Dynamic: summary
|
|
|
30
35
|
|
|
31
36
|
# ChaTerminal
|
|
32
37
|
|
|
33
|
-
**ChaTerminal** is a cross-platform terminal-based encrypted chat system built with Python
|
|
38
|
+
**ChaTerminal** is a cross-platform terminal-based encrypted chat system built with Python and now part of the [MemerDevs](https://memerdevs.com) platform. It uses a centralized backend architecture to enable secure multi-user communication over the internet, providing a lightweight and interactive chat experience — right from the terminal.
|
|
34
39
|
|
|
35
|
-

|
|
36
41
|

|
|
37
42
|

|
|
38
43
|
|
|
39
44
|
## Features
|
|
40
45
|
|
|
41
|
-
- **
|
|
42
|
-
- **Multi-user chat** over
|
|
46
|
+
- **MemerDevs SSO** for seamless terminal linking
|
|
47
|
+
- **Multi-user chat** seamlessly over the internet
|
|
43
48
|
- **Color-coded messages** with timestamp formatting
|
|
44
49
|
- **Auto-complete** for commands via `readline` and TAB
|
|
45
50
|
- **Direct messaging** using `/dm <user> <message>`
|
|
46
|
-
- **Username renaming** with `/rename <new_name>`
|
|
47
51
|
- **List online users** using `/list`
|
|
48
|
-
- **Admin controls**: `/kick <user>` (admin-only)
|
|
49
|
-
- **Emote support**: `/me <action>`
|
|
50
52
|
- **Help menu**: `/help` displays command reference
|
|
51
53
|
- **User join/leave notifications**
|
|
52
|
-
- **
|
|
53
|
-
- **Graceful client disconnect and server feedback**
|
|
54
|
+
- **Graceful client disconnect and remote session revocation**
|
|
54
55
|
- **Color personalization** based on username hash
|
|
55
56
|
|
|
56
57
|
## Getting Started
|
|
57
58
|
|
|
58
59
|
### Requirements
|
|
59
60
|
|
|
60
|
-
- Python 3.
|
|
61
|
+
- Python 3.6+
|
|
61
62
|
- pip packages: `colorama`, `pyfiglet`, `readline` (Linux/macOS), `pyreadline3` (Windows)
|
|
62
63
|
|
|
63
64
|
### Installation
|
|
@@ -66,67 +67,41 @@ Dynamic: summary
|
|
|
66
67
|
pip install ChaTerminal
|
|
67
68
|
```
|
|
68
69
|
|
|
69
|
-
### Running the Server
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
python -m ChaTerminal init server
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
- Enter a port (e.g., `5555`) and the admin username
|
|
76
|
-
- Displays local IP with instructions for LAN or tunneled access
|
|
77
|
-
|
|
78
70
|
### Running the Client
|
|
79
71
|
|
|
80
|
-
In
|
|
72
|
+
In your terminal:
|
|
81
73
|
|
|
82
74
|
```bash
|
|
83
|
-
|
|
75
|
+
ChaTerminal
|
|
84
76
|
```
|
|
85
77
|
|
|
86
|
-
|
|
78
|
+
Then follow the on-screen instructions to link your MemerDevs account!
|
|
87
79
|
|
|
88
80
|
## Commands
|
|
89
81
|
|
|
90
82
|
| Command | Description |
|
|
91
83
|
|---------------------|------------------------------------------|
|
|
92
84
|
| `/dm <user> <msg>` | Send a private message |
|
|
93
|
-
| `/kick <user>` | Kick a user (admin only) |
|
|
94
85
|
| `/list` | View online users |
|
|
95
|
-
| `/rename <name>` | Change your username |
|
|
96
|
-
| `/me <action>` | Send an action/emote (e.g., waves) |
|
|
97
86
|
| `/help` | Show all available commands |
|
|
98
87
|
|
|
99
|
-
##
|
|
88
|
+
## MemerDevs SSO Integration
|
|
100
89
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
- **Local network**: Share the IP and port printed on server start
|
|
104
|
-
- **Ngrok**: `ngrok tcp <port>`
|
|
105
|
-
- **LocalXpose**: `./lx tcp <port>`
|
|
106
|
-
- **Port Forwarding**: Map the server's port on your router
|
|
107
|
-
|
|
108
|
-
## Example
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
# Start server
|
|
112
|
-
$ python -m ChaTerminal init server
|
|
113
|
-
Port: 5555
|
|
114
|
-
Admin Username: admin
|
|
115
|
-
|
|
116
|
-
# Start client
|
|
117
|
-
$ python -m ChaTerminal init client
|
|
118
|
-
Server IP: 192.168.1.100
|
|
119
|
-
Server Port: 5555
|
|
120
|
-
Username: myname
|
|
121
|
-
```
|
|
90
|
+
ChaTerminal now natively integrates with **MemerDevs**!
|
|
122
91
|
|
|
123
|
-
|
|
92
|
+
You can link your terminal to your MemerDevs account:
|
|
93
|
+
1. In your terminal, run the client initialization:
|
|
94
|
+
```bash
|
|
95
|
+
ChaTerminal
|
|
96
|
+
```
|
|
97
|
+
2. Copy the **Activation Code** from the terminal.
|
|
98
|
+
3. Go to the [MemerDevs Settings page](https://memerdevs.com/settings/) and under the "Link Terminal" tab, insert the copied **Activation Code**.
|
|
99
|
+
4. ChaTerminal will securely link your profile!
|
|
124
100
|
|
|
125
|
-
All messages are encrypted using the `crypto_utils` module before transmission. Ensure that this module uses secure encryption practices for production deployments.
|
|
126
101
|
|
|
127
102
|
## License
|
|
128
103
|
|
|
129
|
-
This project is
|
|
104
|
+
This project is proprietary. See `LICENSE` for more info.
|
|
130
105
|
|
|
131
106
|
## Author
|
|
132
107
|
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Copyright (c) 2026 Gofaone Tlalang
|
|
2
|
+
|
|
3
|
+
All Rights Reserved.
|
|
4
|
+
|
|
5
|
+
This software and associated documentation files (the "Software") are proprietary and confidential.
|
|
6
|
+
No part of this Software may be reproduced, distributed, or transmitted in any form or by any means,
|
|
7
|
+
including photocopying, recording, or other electronic or mechanical methods, without the prior
|
|
8
|
+
written permission of the copyright owner, except in the case of brief quotations embodied in
|
|
9
|
+
critical reviews and certain other noncommercial uses permitted by copyright law.
|
|
10
|
+
|
|
11
|
+
For permission requests, please contact the author directly.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ChaTerminal
|
|
3
|
-
Version: 1.0.
|
|
4
|
-
Summary: A terminal-based encrypted chat system for
|
|
3
|
+
Version: 1.0.4
|
|
4
|
+
Summary: A terminal-based encrypted chat system for MemerDevs
|
|
5
5
|
Home-page: https://github.com/Gofaone315/ChaTerminal
|
|
6
6
|
Author: Gofaone Tlalang
|
|
7
|
-
Author-email:
|
|
7
|
+
Author-email: gofaone315@memerdevs.com
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
|
9
9
|
Classifier: License :: OSI Approved :: MIT License
|
|
10
10
|
Classifier: Operating System :: OS Independent
|
|
@@ -17,6 +17,11 @@ License-File: LICENSE
|
|
|
17
17
|
Requires-Dist: colorama
|
|
18
18
|
Requires-Dist: pyfiglet
|
|
19
19
|
Requires-Dist: pyreadline3; platform_system == "windows"
|
|
20
|
+
Requires-Dist: requests
|
|
21
|
+
Requires-Dist: cryptography
|
|
22
|
+
Requires-Dist: rich
|
|
23
|
+
Requires-Dist: prompt_toolkit
|
|
24
|
+
Requires-Dist: keyring
|
|
20
25
|
Dynamic: author
|
|
21
26
|
Dynamic: author-email
|
|
22
27
|
Dynamic: classifier
|
|
@@ -30,34 +35,30 @@ Dynamic: summary
|
|
|
30
35
|
|
|
31
36
|
# ChaTerminal
|
|
32
37
|
|
|
33
|
-
**ChaTerminal** is a cross-platform terminal-based encrypted chat system built with Python
|
|
38
|
+
**ChaTerminal** is a cross-platform terminal-based encrypted chat system built with Python and now part of the [MemerDevs](https://memerdevs.com) platform. It uses a centralized backend architecture to enable secure multi-user communication over the internet, providing a lightweight and interactive chat experience — right from the terminal.
|
|
34
39
|
|
|
35
|
-

|
|
36
41
|

|
|
37
42
|

|
|
38
43
|
|
|
39
44
|
## Features
|
|
40
45
|
|
|
41
|
-
- **
|
|
42
|
-
- **Multi-user chat** over
|
|
46
|
+
- **MemerDevs SSO** for seamless terminal linking
|
|
47
|
+
- **Multi-user chat** seamlessly over the internet
|
|
43
48
|
- **Color-coded messages** with timestamp formatting
|
|
44
49
|
- **Auto-complete** for commands via `readline` and TAB
|
|
45
50
|
- **Direct messaging** using `/dm <user> <message>`
|
|
46
|
-
- **Username renaming** with `/rename <new_name>`
|
|
47
51
|
- **List online users** using `/list`
|
|
48
|
-
- **Admin controls**: `/kick <user>` (admin-only)
|
|
49
|
-
- **Emote support**: `/me <action>`
|
|
50
52
|
- **Help menu**: `/help` displays command reference
|
|
51
53
|
- **User join/leave notifications**
|
|
52
|
-
- **
|
|
53
|
-
- **Graceful client disconnect and server feedback**
|
|
54
|
+
- **Graceful client disconnect and remote session revocation**
|
|
54
55
|
- **Color personalization** based on username hash
|
|
55
56
|
|
|
56
57
|
## Getting Started
|
|
57
58
|
|
|
58
59
|
### Requirements
|
|
59
60
|
|
|
60
|
-
- Python 3.
|
|
61
|
+
- Python 3.6+
|
|
61
62
|
- pip packages: `colorama`, `pyfiglet`, `readline` (Linux/macOS), `pyreadline3` (Windows)
|
|
62
63
|
|
|
63
64
|
### Installation
|
|
@@ -66,67 +67,41 @@ Dynamic: summary
|
|
|
66
67
|
pip install ChaTerminal
|
|
67
68
|
```
|
|
68
69
|
|
|
69
|
-
### Running the Server
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
python -m ChaTerminal init server
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
- Enter a port (e.g., `5555`) and the admin username
|
|
76
|
-
- Displays local IP with instructions for LAN or tunneled access
|
|
77
|
-
|
|
78
70
|
### Running the Client
|
|
79
71
|
|
|
80
|
-
In
|
|
72
|
+
In your terminal:
|
|
81
73
|
|
|
82
74
|
```bash
|
|
83
|
-
|
|
75
|
+
ChaTerminal
|
|
84
76
|
```
|
|
85
77
|
|
|
86
|
-
|
|
78
|
+
Then follow the on-screen instructions to link your MemerDevs account!
|
|
87
79
|
|
|
88
80
|
## Commands
|
|
89
81
|
|
|
90
82
|
| Command | Description |
|
|
91
83
|
|---------------------|------------------------------------------|
|
|
92
84
|
| `/dm <user> <msg>` | Send a private message |
|
|
93
|
-
| `/kick <user>` | Kick a user (admin only) |
|
|
94
85
|
| `/list` | View online users |
|
|
95
|
-
| `/rename <name>` | Change your username |
|
|
96
|
-
| `/me <action>` | Send an action/emote (e.g., waves) |
|
|
97
86
|
| `/help` | Show all available commands |
|
|
98
87
|
|
|
99
|
-
##
|
|
88
|
+
## MemerDevs SSO Integration
|
|
100
89
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
- **Local network**: Share the IP and port printed on server start
|
|
104
|
-
- **Ngrok**: `ngrok tcp <port>`
|
|
105
|
-
- **LocalXpose**: `./lx tcp <port>`
|
|
106
|
-
- **Port Forwarding**: Map the server's port on your router
|
|
107
|
-
|
|
108
|
-
## Example
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
# Start server
|
|
112
|
-
$ python -m ChaTerminal init server
|
|
113
|
-
Port: 5555
|
|
114
|
-
Admin Username: admin
|
|
115
|
-
|
|
116
|
-
# Start client
|
|
117
|
-
$ python -m ChaTerminal init client
|
|
118
|
-
Server IP: 192.168.1.100
|
|
119
|
-
Server Port: 5555
|
|
120
|
-
Username: myname
|
|
121
|
-
```
|
|
90
|
+
ChaTerminal now natively integrates with **MemerDevs**!
|
|
122
91
|
|
|
123
|
-
|
|
92
|
+
You can link your terminal to your MemerDevs account:
|
|
93
|
+
1. In your terminal, run the client initialization:
|
|
94
|
+
```bash
|
|
95
|
+
ChaTerminal
|
|
96
|
+
```
|
|
97
|
+
2. Copy the **Activation Code** from the terminal.
|
|
98
|
+
3. Go to the [MemerDevs Settings page](https://memerdevs.com/settings/) and under the "Link Terminal" tab, insert the copied **Activation Code**.
|
|
99
|
+
4. ChaTerminal will securely link your profile!
|
|
124
100
|
|
|
125
|
-
All messages are encrypted using the `crypto_utils` module before transmission. Ensure that this module uses secure encryption practices for production deployments.
|
|
126
101
|
|
|
127
102
|
## License
|
|
128
103
|
|
|
129
|
-
This project is
|
|
104
|
+
This project is proprietary. See `LICENSE` for more info.
|
|
130
105
|
|
|
131
106
|
## Author
|
|
132
107
|
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# ChaTerminal
|
|
2
|
+
|
|
3
|
+
**ChaTerminal** is a cross-platform terminal-based encrypted chat system built with Python and now part of the [MemerDevs](https://memerdevs.com) platform. It uses a centralized backend architecture to enable secure multi-user communication over the internet, providing a lightweight and interactive chat experience — right from the terminal.
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- **MemerDevs SSO** for seamless terminal linking
|
|
12
|
+
- **Multi-user chat** seamlessly over the internet
|
|
13
|
+
- **Color-coded messages** with timestamp formatting
|
|
14
|
+
- **Auto-complete** for commands via `readline` and TAB
|
|
15
|
+
- **Direct messaging** using `/dm <user> <message>`
|
|
16
|
+
- **List online users** using `/list`
|
|
17
|
+
- **Help menu**: `/help` displays command reference
|
|
18
|
+
- **User join/leave notifications**
|
|
19
|
+
- **Graceful client disconnect and remote session revocation**
|
|
20
|
+
- **Color personalization** based on username hash
|
|
21
|
+
|
|
22
|
+
## Getting Started
|
|
23
|
+
|
|
24
|
+
### Requirements
|
|
25
|
+
|
|
26
|
+
- Python 3.6+
|
|
27
|
+
- pip packages: `colorama`, `pyfiglet`, `readline` (Linux/macOS), `pyreadline3` (Windows)
|
|
28
|
+
|
|
29
|
+
### Installation
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
pip install ChaTerminal
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Running the Client
|
|
36
|
+
|
|
37
|
+
In your terminal:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
ChaTerminal
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Then follow the on-screen instructions to link your MemerDevs account!
|
|
44
|
+
|
|
45
|
+
## Commands
|
|
46
|
+
|
|
47
|
+
| Command | Description |
|
|
48
|
+
|---------------------|------------------------------------------|
|
|
49
|
+
| `/dm <user> <msg>` | Send a private message |
|
|
50
|
+
| `/list` | View online users |
|
|
51
|
+
| `/help` | Show all available commands |
|
|
52
|
+
|
|
53
|
+
## MemerDevs SSO Integration
|
|
54
|
+
|
|
55
|
+
ChaTerminal now natively integrates with **MemerDevs**!
|
|
56
|
+
|
|
57
|
+
You can link your terminal to your MemerDevs account:
|
|
58
|
+
1. In your terminal, run the client initialization:
|
|
59
|
+
```bash
|
|
60
|
+
ChaTerminal
|
|
61
|
+
```
|
|
62
|
+
2. Copy the **Activation Code** from the terminal.
|
|
63
|
+
3. Go to the [MemerDevs Settings page](https://memerdevs.com/settings/) and under the "Link Terminal" tab, insert the copied **Activation Code**.
|
|
64
|
+
4. ChaTerminal will securely link your profile!
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
## License
|
|
68
|
+
|
|
69
|
+
This project is proprietary. See `LICENSE` for more info.
|
|
70
|
+
|
|
71
|
+
## Author
|
|
72
|
+
|
|
73
|
+
**Gofaone Tlalang**
|
|
74
|
+
GitHub: [@Gofaone315](https://github.com/Gofaone315)
|
|
75
|
+
|
|
76
|
+
## Contributors ✨
|
|
77
|
+
|
|
78
|
+
Thanks goes to these wonderful people:
|
|
79
|
+
|
|
80
|
+
<a href = "https://github.com/Tanu-N-Prabhu/Python/graphs/contributors">
|
|
81
|
+
<img src = "https://contrib.rocks/image?repo=Gofaone315/ChaTerminal"/>
|
|
82
|
+
</a>
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
**ChaTerminal** – Real-time encrypted chat, right from your terminal.
|