SigmaⓁ started as a fun idea that became a real project. [Python3 / Qt5 Stack]
Created by [$x66] and [Se2] under [Szmelc.INC] and [Entropy Linux], it's a lightweight, encrypted, and customizable p2p communication tool. We’re focused on keeping it secure ans simple.
Our goal is to add as many APIs and bridges as possible to connect SigmaⓁ with platforms like Discord, Matrix, Telegram, IRC, and more. Down the line, we also plan to add GSM functionality, letting you use SIM card telephony and even build your own call center using our framework! Szmelc GSM
Android & iOS Apps are also possibly comming in near future!
- Setup:
First, make sure you have all dependencies by running
setup.sh
After that you should be ready to roll, starting sigmal frommain.py
-
Commands:
-/clear
- Clear the chat screen
-/exit
- Exit the application
-/save
- Save chat history to a log file
-/help
- Display this help message
-/reload config
- Reload configuration from config.json
-/reconnect
- Reconnect to the current session
-/nick <new_nickname>
- Change your nickname
-/color <#HEX>
- Change your text color
-/toggle sound
- Toggle sound on/off
-/transfer
- Open file selection to send a file
-/fullscreen
- Toggle fullscreen mode on/off \ -
Config: \
{
"window": {
"width": 666,
"height": 420
},
"colors": {
"background": "#121212",
"text": "#d3d3d3",
"input_background": "#0b1a10",
"input_text": "#ffffff",
"host_color": "red",
"client_color": "yellow",
"system_message_color": "lightgreen"
},
"nicknames": {
"host": "[H]",
"client": "[C]"
},
"sound": {
"enabled": true,
"volume": {
"message": 1,
"error": 0.8,
"connection_lost": 0.8
},
"paths": {
"message": "sound/beep.wav",
"error": "sound/error.wav",
"connection_lost": "sound/silencer.wav"
}
}
}
$ tree
.
├── README.md
├── main.py
├── config.json
├── logs
├── sound
| ├── ...
├── src
│ ├── cipher.py
│ ├── commands.py
│ ├── core.py
└── transfer
5 directories, 9 files
SigmaⓁ uses
tcp
port2137
as default communication's port.
(Actually, rangeTCP 2133 - 2137
will eventually be used.)
If Host has DDNS configured, it is possible to connect to a domain likeszmelc.com
instead of IP adress
Make sure Host has firewall rule allowing port2137
as well as know's it'spublic IP
adress (ipv4, ipv6 or domain name)
SigmaⓁ uses serializing RSA keypairs for encryption / decryption of most traffic.
It's actually possible to connect more clients to single host in single chatroom.
- Buggy file transfer that auto saves any file
- Non clickable "clickable" URL's on receiving end
/recconect just crashes client(Fixed!)- Embeds don't work idk
- Add markdown & css formatting support
- Add more commands
- Fix
/help
command output formatting - Make config easier and bigger
- Make URL / Img embeds
- Add player for video / audio
- Add preview for text files
- Add emoji / utf-8 support
- Improve
setup.sh
- Add bridges / webhooks for other platforms
- Add
/register
&/login
functions. (will work on unique system UUID as authentication, letting user choose static nickname + password) - Create dedicated SigmaⓁ Comm protocol to make it easier to write custom clients / modules for.
- Add support for static RSA
- Improve UI
- Encrypt files / URL's, everything
- Built in temporary file hosting like
bashupload.com
&szmelc.com/trashupload
for alternative file transfer method. - Write a CLI client!
- Rewrite main client in Golang
/register
&/login
to add your UUID to DB for easy tracerouting/toggle
debug|sound|fullscreen|cipher|html
- Move /fullscreen to /toggle fullscreen. (toggle debug will display debug screen)/reload
config|screen|connection
(instead of /reconnect)/status
online|hidden|silent
(set either own status as online (ping szmelc.com each 60s to display you as a anonymous users On-Line) (hidden = no ping) (silent mutes all sounds)/bridge
webhook-dc|matrix|telegram
(add quick webhook / bot like bridge to other platform)/ssn
ON|OFF
(Szmelc Station Network features) (You can use them, but you don't have to, select only features that you need) (stuff like UUID database, cloud etc)