Session Desktop - Onion routing based messenger
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Mikunj Varsani beb4cdbed8 Closed group fixes. (#816)
* Fix group updates not syning

* Fix leaving closed groups

* Fix incorrect members being shown on create group dialog

* Linting

* Fix create closed group showing our own conversation
6 years ago
.github GitHub actions (#814) 6 years ago
.tx
.vscode
_locales Closed group fixes. (#816) 6 years ago
app CLosed groups ui initial listprops 6 years ago
build GitHub actions (#814) 6 years ago
components
config Fileserver update 6 years ago
fixtures add back file which should have not been deleted 6 years ago
fonts fix font of description to sfprodisplay 6 years ago
images CLosed groups ui initial listprops 6 years ago
js Closed group fixes. (#816) 6 years ago
libloki
libtextsecure Closed group fixes. (#816) 6 years ago
mnemonic_languages
mockup_servers
protos Rename BACKGROUND_FRIEND_REQUEST to SESSION_REQUEST. 6 years ago
stylesheets Message deletion fix 6 years ago
test Closed group update message stylgin 6 years ago
ts Closed group fixes. (#816) 6 years ago
.aptly.conf
.editorconfig
.eslintignore
.eslintrc.js
.gitattributes
.gitignore remove eslintcache 6 years ago
.gitlab-ci.yml
.nvmrc
.prettierignore
.prettierrc.js
.travis.yml
.yarnclean
BUILDING.md GitHub actions (#814) 6 years ago
CONTRIBUTING.md
Gruntfile.js
LICENSE
LOKI-NOTES.md
README.md Remove non relevant info 6 years ago
about.html
about_preload.js
appveyor.yml
aptly.sh
background.html Merge pull request #758 from neuroscr/version-check 6 years ago
bower.json
debug_log.html
debug_log_preload.js
dev-app-update.yml.sample
find_broken_perms.sh
fix_broken_perms.sh
index.html
main.js use local shortcut instead of global shortcut 6 years ago
metrics.html
metrics_app.js
package.json GitHub actions (#814) 6 years ago
password.html
password_preload.js
permissions_popup.html
permissions_popup_preload.js
preload.js constants renaming 6 years ago
prepare_beta_build.js
prepare_import_build.js
settings.html
settings_preload.js
styleguide.config.js
travis.sh
tsconfig.json
tslint.json
yarn.lock GitHub actions (#814) 6 years ago

README.md

Session

Build Status

Session allows for truly decentralized, end to end, and private encrypted chats. Session is built to handle both online and fully Asynchronous offline messages. Session implements the Signal protocol for message encryption. Our Client interface is a fork of Signal Messenger.

Summary

Session integrates directly with Loki Service Nodes, which are a set of distributed, decentralized and Sybil resistant nodes. Service Nodes act as servers which store messages offline, and a set of nodes which allow for onion routing functionality obfuscating users IP Addresses. For a full understanding of how Session works, read the Loki whitepaper.

Offline messages

Offline messaging uses Swarms, given any users public key the user can resolve a public key to a specific grouping of Service Nodes (AKA Swarm) each user in Session belongs to a Swarm. When routing a message offline the user selects a Service node in the destination users Swarm, when the user comes online they query any node in their Swarm, if the Swarm is holding any messages for the user they disseminate those messages to the user.

Swarm Messaging

Spam protections for Session are based on a Proof of Work which is attached to any message that exceeds a default size or Time To Live, this process is discussed further in the Loki whitepaper.

Want to Contribute? Found a Bug or Have a feature request?

Please search for any existing issues that describe your bugs in order to avoid duplicate submissions. Submissions can be made by making a pull request to our development branch, if you don't know where to start contributing , try reading the Github issues page for ideas.

Build instruction

Build instructions can be found in CONTRIBUTING.md.

License

Copyright 2018- Current, Loki Foundation Copyright 2014-2018, Open Whisper Systems Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html