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
Jason Rhinelander 1ec637b551
Open group regex fixes (#2058)
* Open group URL regex fixes

- Capital letters in room tokens were not being accepted (it eventually
  gets lower-cased internally, which works fine, but that happens
  *after* the URL is tested for acceptability).
- `-` in room was not being allowed (it is and always has been on SOGS,
  session-android, and session-ios).
- single-letter room ids are valid, but only 2+ letter ids were being
  accepted.
- complete URL regex wasn't anchored so something like
  `garbagehttps://example.com/room?public_key=<64hex>moregarbage` was
  being accepted in the GUI input (it fails later when other code tries
  to parse it as a URL).
- removed `m` modifier from open group regex: without anchors it wasn't
  doing anything anyway, but *with* anchors it would still allow
  leading/trailing garbage if delineated by newlines.
- public key regex was accepting g-z letters, and not accepting A-F.
- various regex cleanups:
  - use non-capture groups (?:...) rather than capturing groups (...)
  - avoid repetition in host segment matching
- tightened up host pattern matching a bit:
  - DNS host segments have a max length of 63
  - Limit port max length to 5, and disallow starting with 0

* Show an error when the open group URL is invalid

It's quite disconcerting when you have a bad open group URL and try to
add it and the join button just "doesn't work" without any feedback at
all.  Fix it to show an error message.  (There is already an i18n entry
for this because this same message is thrown if the URL can't be parsed
later on).
3 years ago
.github build rpm and freebsd package 4 years ago
_locales Fetch translations (#2056) 3 years ago
app Merge branch 'clearnet' into message-requests 4 years ago
build cleanup afterpackhook useless logs 4 years ago
certificates pin certificate for seed nodes 4 years ago
config add a sample test with playwright 4 years ago
fixtures fix ringing sound for in release builds 4 years ago
fonts Fix fonts sans serif (#1619) 4 years ago
images include a 32x32 icon for tray icon for gnome 4 years ago
js Minor call tweaks (#2051) 3 years ago
libtextsecure do not display the reveal seed banner if user just used it 4 years ago
mnemonic_languages languages json 6 years ago
protos Merge branch 'clearnet' into message-requests 4 years ago
sound fix ringing sound for in release builds 4 years ago
stylesheets Minor call tweaks (#2051) 3 years ago
tools Fetch translations (#2056) 3 years ago
ts Open group regex fixes (#2058) 3 years ago
.editorconfig Use 2 spaces for indentation 7 years ago
.eslintignore fix lint and steal autofocus on registration to seed 4 years ago
.eslintrc.js increase prettier maxWidth to 100 4 years ago
.gitattributes Stop git from defaulting to changing line endings 6 years ago
.gitignore fix notification open the correct conversation 4 years ago
.nvmrc bump version of node-sass 4 years ago
.prettierignore more cleanup 4 years ago
.prettierrc.js increase prettier maxWidth to 100 4 years ago
.yarnclean remove coverage unused 4 years ago
BUILDING.md Add git-lfs to linux build instructions 4 years ago
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 4 years ago
CONTRIBUTING.md remove spectron dependency 4 years ago
Gruntfile.js more cleanup 4 years ago
LICENSE Add GPLv3 LICENSE file (#1309) 8 years ago
README.md Update README.md 4 years ago
RELEASING.md Update RELEASING.md 5 years ago
about.html fix about window localized string 4 years ago
about_preload.js Fix missing bytebuffer in preloads 5 years ago
background.html more cleanup 4 years ago
background_test.html more cleanup 4 years ago
debug_log.html add csp for image load from blob so attachments are loaded correctly 5 years ago
debug_log_preload.js removed old log submit code. 4 years ago
dev-app-update.yml.sample Enable auto-updating using electron-updater 5 years ago
find_broken_perms.sh Add two scripts to handle broken permissions in release dir 8 years ago
fix_broken_perms.sh Replaced more references to signal with loki and updated CONTRIBUTING.md 6 years ago
index.html more cleanup 4 years ago
main.js Adjusting logs 4 years ago
package.json Minor call tweaks (#2051) 3 years ago
password.html fix some tests 5 years ago
password_preload.js Ask confirm before delete account (#1910) 4 years ago
preload.js Minor call tweaks (#2051) 3 years ago
tsconfig.json removed old fileserver support 4 years ago
tslint.json Cleanup redux store (#1925) 4 years ago
yarn.lock fix archlinux pw unused issue 4 years ago

README.md

Session Desktop

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 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 BUILDING.md.

Verifing signatures

Get Kee's key and import it:

wget https://raw.githubusercontent.com/oxen-io/oxen-core/master/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/oxen-io/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-2021 The Oxen Project
Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html