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
Audric Ackermann 82abfedad5
fix: sorting order for group depending on statuses
3 months ago
.github Merge remote-tracking branch 'upstream/unstable' into qa/release/1.15.0-2 4 months ago
.husky chore: disable pre commit lint-staged hook for now 2 years ago
_locales feat: add not_sent & unknown string 4 months ago
actions chore: try by removing node-gyp install on windows 5 months ago
build chore: improve CI workflow speed and usage 7 months ago
config use readyForUpdates to trigger update from renderer 3 years ago
fonts Emoji Reacts (#2320) 3 years ago
images fix: run setupTheme after Storage is ready 8 months ago
js feat: add bump of config hashes for groups when we have admin key 2 years ago
mmdb fix: update maxmind db 1 year ago
mnemonic_languages electron-renderer webpack seems to be generating main_renderer.js 3 years ago
patches chore: lint 5 months ago
protos fix: various PR reviews, fixes for integration tests 5 months ago
sound feat: add custom sound for notification so it works for Linux too 3 years ago
stylesheets Merge remote-tracking branch 'upstream/unstable' into qa/release/1.15.0-2 4 months ago
third_party_licenses chore: add lucide license 4 months ago
tools chore: add exception for ru and sr-CS disappearingMessagesTurnedOffGroup 7 months ago
ts fix: sorting order for group depending on statuses 3 months ago
.editorconfig chore: lint 2 years ago
.eslintignore fix: add ignores for the generated locale type file 1 year ago
.eslintrc.js chore: lint 5 months ago
.gitattributes Stop git from defaulting to changing line endings 6 years ago
.gitignore Merge remote-tracking branch 'upstream/unstable' into closed-group-chunk3 6 months ago
.lintstagedrc.js fix: lint-staged ignores files using eslintignore 2 years ago
.mocharc.json feat: added mocharc.json 11 months ago
.mocharc.yml chore: move mocha config to .mocharc.yml to package.json is cleaner 2 years ago
.nvmrc feat: update strings usages and library 9 months ago
.prettierignore chore: fetch latest strings and fix errors 8 months ago
.prettierrc.js increase prettier maxWidth to 100 4 years ago
.sassrc.json Emoji Reacts (#2320) 3 years ago
.yarnclean feat: setup lint-staged when making a commit 2 years ago
.yarnrc.yml fix: add handling of revoked namespace messages 11 months ago
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 4 years ago
CONTRIBUTING.md fix: move a bunch of deps and urls to session-foundation repo 5 months ago
INTERNALBUILDS.md chore: happy to say node-gyp is not needed for windows anymore 5 months ago
LICENSE Add GPLv3 LICENSE file (#1309) 8 years ago
README.md chore: add lucide license 4 months ago
RELEASING.md Update RELEASING.md 5 years ago
THEMES.md feat: added THEMES.md with theme info and custom theming instructions 2 years ago
about.html fix: prevent font swap on first load 11 months ago
about_preload.js Merge remote-tracking branch 'upstream/unstable' into closed-group-chunk3 6 months ago
background.html fix: prevent font swap on first load 11 months ago
commitlint.config.js feat: added conventional commit requirement 2 years ago
libsession.worker.config.js fix: tsc does not overwrite workers compiled content 1 year ago
package.json fix: allow promoted state to be reset to NOT_SENT 4 months ago
password.html fix: prevent font swap on first load 11 months ago
password_preload.js fix: time&date format are not dependent on crowdin supported locales 7 months ago
preload.js fix: allow promoted state to be reset to NOT_SENT 4 months ago
sass.config.js chore: replace tslint with eslint and fix linting issues 2 years ago
tsconfig.json Merge remote-tracking branch 'upstream/unstable' into closed-group-chunk3 6 months ago
utils.worker.config.js fix: tsc does not overwrite workers compiled content 1 year ago
yarn.lock fix: allow promoted state to be reset to NOT_SENT 4 months ago

README.md

Session Desktop

Download at getsession.org

Summary

Session integrates directly with Oxen 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 Session Whitepaper.

DesktopSession

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

Please search for any existing issues that describe your bug 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 please read Contributing.md and refer to issues tagged with the Good-first-issue tag.

Supported platforms

Session requires Windows 10 or later, macOS Monterey (12) or later, or a Linux distribution with glibc 2.28 or later like Debian 10 or Ubuntu 20.04.

Build instruction

Build instructions can be found in Contributing.md.

Verifying signatures

Get Kee's key and import it:

wget https://raw.githubusercontent.com/oxen-io/oxen-core/dev/utils/gpg_keys/KeeJef.asc
gpg --import KeeJef.asc

Get the signed hash for this release, the SESSION_VERSION needs to be updated for the release you want to verify

export SESSION_VERSION=1.6.1
wget https://github.com/session-foundation/session-desktop/releases/download/v$SESSION_VERSION/signatures.asc

Verify the signature of the hashes of the files

gpg --verify signatures.asc 2>&1 |grep "Good signature from"

The command above should print "Good signature from "Kee Jefferys..." If it does, the hashes are valid but we still have to make the sure the signed hashes matches the downloaded files.

Make sure the two commands below returns the same hash. If they do, files are valid

sha256sum session-desktop-linux-amd64-$SESSION_VERSION.deb
grep .deb signatures.asc

Debian repository

Please visit https://deb.oxen.io/

License

Copyright 2011 Whisper Systems
Copyright 2013-2017 Open Whisper Systems
Copyright 2019-2023 The Oxen Project
Licensed under the GPLv3: https://www.gnu.org/licenses/gpl-3.0.html

Attributions

The IP-to-country mapping data used in this project is provided by MaxMind GeoLite2.

This project uses the Lucide Icon Font, which is licensed under the ISC License.