Server supporting the Signal Private Messenger applications on Android, Desktop, and iOS

Related tags

Server Signal-Server
Overview

Signal-Server

Documentation

Looking for protocol documentation? Check out the website!

https://signal.org/docs/

Cryptography Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

License

Copyright 2013-2021 Signal Messenger, LLC

Licensed under the AGPLv3: https://www.gnu.org/licenses/agpl-3.0.html

Comments
  • Change the maximum amount of devices to 5

    Change the maximum amount of devices to 5

    It's 2016. People actually have more than 3 devices these days. A phone, a laptop, a (dual-booted) desktop, another desktop at work and perhaps even a tablet. I would increase the maximum amount of devices even more but I realize that the stability of the service you're running is an important factor here.

    opened by alexbakker 12
  • Use Minio instead of the Amazon AWS library

    Use Minio instead of the Amazon AWS library

    Replace the proprietary Amazon AWS library with the Apache licensed Minio library (https://minio.io/). The Minio library allows to specify a host which exposes an Amazon S3 compatible API, allowing for self-hosting the attachment storage. In order to specify the host a yml configuration option has been added:

    s3:
      providerUrl: https://s3.amazonaws.com/
    

    where that's the URL of the official Amazon service. If providerUrl is not specified this default will be used, so this PR doesn't alter the current behavior of Signal-Server.

    opened by paride 7
  • Improve developer experience

    Improve developer experience

    This pull request was originally a code pull request which I thought might make people's life a bit easier as documentation. It also removes broken links from the readme.

    // FREEBIE
    
    opened by posix4e 6
  • refactoring and removing unused imports,some sonarlint fixes

    refactoring and removing unused imports,some sonarlint fixes

    • removed unused imports.
    • applied some sonar lint suggestion.

    Keeping this pull request small for ease of review. Can add create similar requests for sonarlint fixes and refactor in iterative manner in future.

    opened by sanket1411 5
  • Unit test fixes

    Unit test fixes

    I ran pitest and found two things:

    1. An order dependency in the WebsocketControllerTest due to the static fields
    2. Some assertThat lines that were not actually asserting anything

    Using the pitest results, I added some more assertions and tests - mostly for error cases - in a branch. If that help is appreciated, I can keep adding some more coverage and make another pull request. If not, no worries. If you're more interested in contributions to the client, I'd be happy to give that a shot.

    opened by mdietz198 5
  • Introduced Continuous Intgration

    Introduced Continuous Intgration

    Leveraging GitHub Actions introduced two pipelines


    • [x] Signal Server CI : for running on the master branch

    • [x] Signal Server Pull Request Builder : for running Pull Request jobs
    opened by ohbus 4
  • updated gitignore for supporting various IDE

    updated gitignore for supporting various IDE

    ✔️ Users can now work on the following IDE without worrying about the generated machine files by them.


    ✔️ On top of the existing gitignore files for IDEA. Some file types have been added.

    opened by ohbus 4
  • Allow configuring the S3 endpoint, region, and other parameters

    Allow configuring the S3 endpoint, region, and other parameters

    In the Amazon S3 yml configuration read and use the following parameters, here shown with sample values:

    s3:
      endpoint: https://my-host.net/
      region: us-east-1
      pathStyleAccess: true
      signerAlgorithm: AWSS3V4SignerType
    

    Being able to specify them allows to self-host an S3 service. The aws-sdk has been updated too, removing the calls to some deprecated methods.

    opened by paride 4
  • Developer improvement

    Developer improvement

    I wanted to get involved in Signal Server and I thought I could clean up the developer experience get started. Hopefully the // FREEBIE tag is how you signify that the money should be kept in the foundation. Happy if all, some or none of this is welcome.

    opened by posix4e 3
  • Fix Authorization header format validation to match RFC HTTP header specifications

    Fix Authorization header format validation to match RFC HTTP header specifications

    According to RFC 2616, HTTP header values may have leading and trailing whitespace.

    This fix may or may not address the 401 Unauthorized response in https://github.com/signalapp/Signal-iOS/issues/5114 . (I do not own a Mac to be able to run iOS app version 3.9.0 in Xcode Simulator in debug mode, in order to reproduce the issue.) Either way, HTTP clients may implement the Authorization header values according to the RFC spec with leading or trailing whitespace.

    Please comment on https://github.com/signalapp/Signal-iOS/issues/5114 if/when this fix is deployed in production. An important Signal contact of mine cannot access years of Signal messages on their old iPhone that can only run iOS 10, which is only supported up to app version 3.9.0. These messages contain important data such as passwords to accounts, photos, and messages to reconstruct a sequence of events that occurred in the past.

    opened by anomal 2
  • Migrate AppConfig to SDK v2 to detect and use web identify token

    Migrate AppConfig to SDK v2 to detect and use web identify token

    Hi,

    When setting up server in RBAC-enabled EKS cluster, the original AppConfig client cannot use web identity token for authentication. This commit make that possible, please consider merge the code.

    Thanks,

    opened by realturner 2
Tiny, easily embeddable HTTP server in Java.

NanoHTTPD – a tiny web server in Java NanoHTTPD is a light-weight HTTP server designed for embedding in other applications, released under a Modified

NanoHttpd 6.5k Jan 1, 2023
WildFly Application Server

WildFly Application Server https://wildfly.org Fast Startup Small Footprint Modular Design Unified Configuration and Management And of course Jakarta

null 2.8k Dec 29, 2022
Command-line and graphical implementations of 2048 game and solvers.

2048 This is a simple 2048 game implemented both as a command-line interface and a graphical Java applet, with a couple of basic auto-solving algorith

Radon Rosborough 4 Sep 25, 2022
Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more

Eclipse Jetty Canonical Repository This is the canonical repository for the Jetty project, feel free to fork and contribute now! Submitting a patch or

Eclipse Foundation 3.5k Dec 28, 2022
A mod loader such as Forge aimed at PVP clients and QoL mods

Feather This is a small project that I intend to work on in my free time. It is a mod loader similar to fabric or forge, but aimed at only making PVP

quickdaffy 19 Sep 3, 2022
🌄 Image editor using native modules for iOS and Android. Inherit from 2 available libraries, Brightroom (iOS) and PhotoEditor (Android)

React Native Photo Editor (RNPE) ?? Image editor using native modules for iOS and Android. Inherit from 2 available libraries, Brightroom (iOS) and Ph

Baron Ha. 243 Jan 4, 2023
A private messenger for Android.

Signal Android Signal is a messaging app for simple private communication with friends. Signal uses your phone's data connection (WiFi/3G/4G) to commu

Signal 23.2k Jan 7, 2023
Auto reply app helping you move away from less private messengers like WhatsApp and Facebook Messenger

Watomatic - Auto reply for WhatsApp so you can stop using it Watomatic sends an automated reply to everyone contacting you on WhatsApp. This is especi

Deekshith Allamaneni 335 Dec 28, 2022
Desktop/Android/HTML5/iOS Java game development framework

Cross-platform Game Development Framework libGDX is a cross-platform Java game development framework based on OpenGL (ES) that works on Windows, Linux

libgdx 20.9k Jan 1, 2023
Messenger - A Java based project making use of Sockets for communication between the applications running on different JRE

Messenger - A Java based project making use of Sockets for communication between the applications running on different JRE. Multiple clients can connect at the same time and can send messages to each other, they also get the information of status of their friends connected to the server .

Sarthak Aggarwal 1 Jan 2, 2022
This repository contains the code for the Runescape private server project, and this repo is soley maintained by @Avanae and @ThePolyphia and @Xeveral

Runescape: The private server project. A Runescape private server based on the 2009 era. This repository contains the code for the Runescape private s

ProjectArchitecture 4 Oct 1, 2022
Render After Effects animations natively on Android and iOS, Web, and React Native

Lottie for Android, iOS, React Native, Web, and Windows Lottie is a mobile library for Android and iOS that parses Adobe After Effects animations expo

Airbnb 33.5k Jan 3, 2023
A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations.

⚡ A powerful & easy to use chart library for Android ⚡ Charts is the iOS version of this library Table of Contents Quick Start Gradle Maven Documentat

Philipp Jahoda 36k Jan 9, 2023
A Java game development framework that deploys to JVM, HTML5, Android and iOS.

PlayN PlayN is a cross-platform Java game development library written in Java that targets HTML5 browsers (via GWT), desktop JVMs, Android and iOS dev

null 237 Dec 9, 2022
mobsfscan is a static analysis tool that can find insecure code patterns in your Android and iOS source code.

mobsfscan is a static analysis tool that can find insecure code patterns in your Android and iOS source code. Supports Java, Kotlin, Swift, and Objective C Code. mobsfscan uses MobSF static analysis rules and is powered by semgrep and libsast pattern matcher.

Mobile Security Framework 347 Dec 29, 2022
React wrapper for android and ios

Deepvue Aadhaar Offline e-KYC React Native SDK This is a wrapper over Android and iOS SDK for react native. Aadhaar Paperless Offline eKYC is a secure

null 2 May 10, 2022
Small app to create icon sets for Linux, Windows, OSX, Android and IOS from a single PNG image

FXIconcreator Small app to create icon sets (multi resolution) for Linux, Windows, OSX from a single PNG image Reason for creating such an app was tha

null 18 Aug 4, 2022
first open-source brawl stars private server written in java!

Java-Brawl first open-source brawl stars private server written in java! (and first open-source v23 private server!) some stuff you should read thank

HaccerCat 11 Dec 27, 2022
Metremenqeemi - Android/iOS app to teach the Coptic Language

ⲙⲉⲧⲣⲉⲙⲛ̀ⲭⲏⲙⲓ The Open Source Android/iOS app to learn how to read and understand the Coptic Language Join our Discord Channel About the Curriculum The

Mark Yacoub 8 Aug 30, 2022
Android Auto Apps Downloader (AAAD) is an app for Android Phones that downloads popular Android Auto 3rd party apps and installs them in the correct way to have them in Android Auto.

Android Auto Apps Downloader (AAAD) is an app for Android Phones that downloads popular Android Auto 3rd party apps and installs them in the correct way to have them in Android Auto.

Gabriele Rizzo 865 Jan 2, 2023