Skip to content

dev4ones-space/SMOC-Messenger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SMOC-Messenger

SMOC - is messenger with end-to-end (kind of) feature, also using safe method at sending new messages to other people - fernet.

Requirements to run

*to run released binary you don't need to have installed python, or modules (PyPi libaries)

  • macOS (darwin), Linux, Termux, Windows
  • Python, 3.13 as minimum recomended (for Termux: pkg install python3)
  • PyPi (pip) "cryptography" and "paramiko" libraries installed (for Termux: pip is broken, to install all required libs, run sh termux-install.sh)

Make your own build

  1. Make sure you meet all basic requirements to run (Requirements to run)
  2. Install pyinstaller:
    • For Termux: apt install pyinstaller
    • For Linux: pacman -Sy pyinstaller or apt install pyinstaller
    • For macOS (darwin): brew install pyinstaller (make sure brew is installed, if not - install trough their offical website)
  3. Run python3 build.py (or use your own python enviroment)

Warning: DO NOT USE PUBLIC SERVERS, ONES YOU DON'T TRUST

Documentation (will be completed soon)

Other info:

When creating chat

  • Codename of chat: used for syncing, and sorting chats
  • Password for online syncing: this password will be used to decrypt/encrypt new messages on clients (messenger). This password must be shared to read new messages (if using mode Sync)
  • Password for local chat: uses for decrypting local chat. Only for safety about info ({chat name}/chat.smoc file)

How chat work

  1. Message encrypts (in this format {username}: {message itself}) in Fernet, using internal library "smessage"
  2. Then, client connects to the server by entered data, then executes ~/SMOC-Server/server.py (using python) with args "send"
  3. On server, it writes encrypted message by this form SMOC-Server/main/{codename of chat}.{username supposed to read}
  4. When another client, syncing chat, by it settings connects to server, executes server.py and checks if there's any messages unread by {codename}.{username}
  5. If client finds there's a unread one, it will decrypt it, then put into local chat

About

SMOC - is an end-to-end messenger with encryption.

Topics

Resources

License

Stars

Watchers

Forks