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 7e68bc82a3 v1.0.1 release.
Merge branch 'clearnet'
5 years ago
.github
.tx Transifex config specific to electron, updated translations (#1478) 8 years ago
.vscode
_locales
app Make RSS feed names match iOS 5 years ago
build GitHub actions (#814) 5 years ago
components
config Session v1.0 changes (#802) 5 years ago
fixtures Ensure that multi-video lightbox scrolling changes video 6 years ago
fonts Session v1.0 changes (#802) 5 years ago
images Session v1.0 changes (#802) 5 years ago
js remove unneeded async 5 years ago
libloki Fix linked device sending automatic friend request when it already has keys for a device 5 years ago
libtextsecure Merge pull request #835 from neuroscr/opengrouppollfix 5 years ago
mnemonic_languages Session v1.0 changes (#802) 5 years ago
mockup_servers Linting and other housekeeping stuff 7 years ago
protos Session v1.0 changes (#802) 5 years ago
stylesheets
test Session v1.0 changes (#802) 5 years ago
ts Optimisation and lint fixes 5 years ago
.aptly.conf Setup publishing to s3 8 years ago
.editorconfig
.eslintignore
.eslintrc.js
.gitattributes
.gitignore
.gitlab-ci.yml
.nvmrc
.prettierignore
.prettierrc.js
.travis.yml
.yarnclean
BUILDING.md
CONTRIBUTING.md
Gruntfile.js
LICENSE
LOKI-NOTES.md
README.md
about.html
about_preload.js
appveyor.yml
aptly.sh
background.html
bower.json
debug_log.html
debug_log_preload.js Update the user agent for debug log requests 7 years ago
dev-app-update.yml.sample
find_broken_perms.sh
fix_broken_perms.sh Replaced more references to signal with loki and updated CONTRIBUTING.md 6 years ago
index.html
main.js
metrics.html
metrics_app.js
package.json
password.html
password_preload.js
permissions_popup.html New media permission, show dialog when not enabled for voice msg 7 years ago
permissions_popup_preload.js
preload.js
prepare_beta_build.js
prepare_import_build.js
settings.html
settings_preload.js
styleguide.config.js
travis.sh
tsconfig.json
tslint.json
yarn.lock

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