confidentiality
SUM uses RSA encryption for sending messages and files. The optional php backend only holds the encrypted data for locating other users, not for communication.
SUM is a simple secure desktop instant messenger for local networks.
No server infrastructure is needed. All communication is encrypted and nothing saved on any server.
no server needed • full encrypted • public / private key management • send files encrypted • rooms • send formatted source code • avatars for users • emoticons • opensource • free
SUM uses RSA encryption for sending messages and files. The optional php backend only holds the encrypted data for locating other users, not for communication.
SUM offers a key management. This allows the receiver to verify the identity of the other user for every single message.
SUM is a full featured instant messenger chat application for your desktop. User can create rooms, set avatars, send files, send links, use emoticons, ...
Download and unzip sum.zip
. You can start sum by executing sum.exe.
You can configure SUM by adding config.ini
in the same folder as your sum.exe
. You can also enter the path of the config.ini
as command line argument for sum.exe
.
Before you can use SUM you have to configure first how your chat clients will find each other. You can choose between using a network drive (shared directory) or using a php based backend script on a webserver.
If you use a shared folder as backend then insert following values in your config.ini
. You have to specify myserver/simfolder
:
userlist = file user_file = //myserver/simfolder/userfile.json user_file_extended = //myserver/simfolder/? lock_file = //myserver/simfolder/userfile.lock
You can also use the backend.php on your webserver. This little script saves the userlist in a sqlite database (you don't have to configure anything, just give the script write permissions to the folder backend.php is in). Before the SUM client saves the data in the backend.php script it encrypts it. You can specify the AES password. Only your clients can decrypt the data stored on the webserver.
userlist = web web_url = http://myserver/sum/backend.php web_aes_key = mysecretpassword sha256_salt = anysaltstring
You can configure following values in your config.ini
. See default.ini for default settings.
Parameter | Description |
---|---|
userlist | use file or web for using file based or web based (backend.php) userlist management |
web_url | if you use web for parameter userlist this specifies the url where backend.php runs |
web_aes_key | if you use web for parameter userlist this specifies the AES password for encrypting any data the backend.php script will save on server |
sha256_salt | salt for password hashing |
user_file | if you use file for parameter userlist this specifies the path of the userlist file where all users register themself |
user_file_extended | if you use file for parameter userlist this specifies the path of the file where a user saves data as their avatar, key, ip and port which changes rarely |
lock_file | if you use file for parameter userlist this specifies the lock file for ensuring that only one user access the userfile at once |
iv | initialization vector for AES encryption |
language | language de for German, en for English |
version_file | path of version file. There you can enter the newest SUM version and all user which has a lower version will get a note about an update |
version_update | url to the newest version for downloading |
version_update_intervall | how often version file will be checked |
user_timeout | set user status to offline after ms inactivity |
user_remove | remove users from list after ms inactivity |
user_list_update_intervall | update every n seconds users entry in userlist file |
lock_stale | max age in milliseconds of lock file (when user quits before release lock file) |
lock_retry_minimum | retry in minimum random ms when file is locked |
lock_retry_maximum | retry in maximum random ms when file is locked |
notification_reminder | timeout for notification about unread messages reminder in ms |
excluded_ips | ips which will be ignored on creating server (e.g. for excluding local virtual machine network devices) |
about_url | url for menue entry 'about sum' |
highlight_languages_value | supported highlight.js languages in code input selection (replace value by language key) |