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
Morgan Pretty 682867853c Replaced the PDF preview icons with explicit PNG ones (smaller size, better rendering) 10 months ago
.github Add self-training material for writing a good bug report. 3 years ago
Scripts Fixed the build script to support both local and CI builds 10 months ago
Session Replaced the PDF preview icons with explicit PNG ones (smaller size, better rendering) 10 months ago
Session.xcodeproj Merge remote-tracking branch 'upstream/dev' into feature/app-disguise 10 months ago
SessionMessagingKit Use a guard to prevent an implicit unwrap 10 months ago
SessionMessagingKitTests Merge pull request #383 from mpretty-cyro/fix/poller-and-background-processing-bugs 10 months ago
SessionNotificationServiceExtension Merge remote-tracking branch 'upstream/dev' into fix/logging-issues-and-improvements 10 months ago
SessionShareExtension Merge pull request #376 from RyanRory/accessibility-id-for-threads-in-share-screen 10 months ago
SessionSnodeKit Merge remote-tracking branch 'upstream/dev' into fix/logging-issues-and-improvements 10 months ago
SessionSnodeKitTests Merge remote-tracking branch 'RyanFork/strings' into feature/groups-rebuild 1 year ago
SessionTests Removed more unused code, tweak to speed up test compilation 11 months ago
SessionUIKit Merge branch 'dev' into feature/app-disguise 10 months ago
SessionUtilitiesKit Merge branch 'dev' into feature/app-disguise 10 months ago
SessionUtilitiesKitTests Fixed a few bugs 11 months ago
SettingsBundle/licenses Organize files 5 years ago
SignalUtilitiesKit Merge pull request #382 from mpretty-cyro/fix/notifications-for-current-convo-incorrectly-shown 10 months ago
_SharedTestUtilities Fixed a few issues that came up when testing 11 months ago
.clang-format format objc. 10 years ago
.drone.jsonnet Fixed the broken CI 10 months ago
.gitattributes
.gitignore Updated to the fixed version of libQuic 2 years ago
BUILDING.md Replaced Cocoapods with Swift Package Manager for dependency management 2 years ago
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 5 years ago
LICENSE Update license. 9 years ago
README.md update outdated links in README 10 months ago
codecov.yml Updated codecov config to ignore some UI-only files 2 years ago

README.md

Session iOS

Download Session on the App Store

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, 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.

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 dev branch. If you don't know where to start contributing, try reading the Github issues page for ideas.

Build instructions

Build instructions can be found in BUILDING.md.

Translations

Want to help us translate Session into your language? You can do so at https://getsession.org/translate !

Verifying signatures

Step 1:

Add Jason's GPG key. Jason Rhinelander, a member of the Session Technology Foundation and is the current signer for all Session iOS releases. His GPG key can be found on his GitHub and other sources.

wget https://github.com/jagerman.gpg
gpg --import jagerman.gpg

Step 2:

Get the signed hashes for this release. SESSION_VERSION needs to be updated for the release you want to verify.

export SESSION_VERSION=2.9.1
wget https://github.com/session-foundation/session-ios/releases/download/$SESSION_VERSION/signature.asc

Step 3:

Verify the signature of the hashes of the files.

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

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

Step 4:

Make sure the two commands below return the same hash for the file you are checking. If they do, file is valid.

sha256sum session-$SESSION_VERSION.ipa
grep .ipa signature.asc

License

Copyright 2011 Whisper Systems

Copyright 2013-2017 Open Whisper Systems

Copyright 2019-2021 The Oxen Project

Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html