GithubHelp home page GithubHelp logo

freesignal's Introduction

amazon free signal server

Installation

  • Needs git, docker, docker-compose
  • Checkout the submodules git submodule update --init && git submodule update
  • Apply patch to the source code cd Signal-Sever && git apply ../patches/patch1 ** The patch disables recapctha, APN and replaces the depency of amazon IAM to a local server version

build docker

  • Build the docker image docker-compose build

Setup

Setup the abuse database

  • docker-compose up -d postgresql-abuse
  • docker-compose exec -u postgres postgresql-abuse psql -c 'create database abusedb;'
  • java -jar ./Signal-Server/service/target/TextSecureServer-7.37.1-dirty-SNAPSHOT.jar abusedb migrate ./service/config/config_local.yml

Setup dynamodb

Configure

gcpAttachments

rsa Signing Key has to start with: -----BEGIN PRIVATE KEY-----

openssl genrsa -out keypair.pem 2048
openssl rsa -in keypair.pem -pubout -out publickey.crt
openssl pkcs8 -topk8 -inform PEM -outform PEM -nocrypt -in keypair.pem -out pkcs8.key

zkconfig

java -jar ./service/target/TextSecureServer-7.37.1-dirty-SNAPSHOT.jar zkparams

run docker

docker-compose up -d

developmet

java 1.17 openjdk + maven 3.8.4 apt install apt install openjdk-17-jdk

source apache-maven.sh

build

mvn -P exclude-abusive-message-filter -DskipTests -e install

run

Start the necessary services docker-compose -f docker-compose_dev.yml up -d

Propietary services

Amazon EC2

Dynamic configurations are coming from an ec2 instance

Amazon Elastic Compute Cloud (EC2) is a part of Amazon.com's cloud-computing platform, Amazon Web Services (AWS), that allows users to rent virtual computers on which to run their own computer applications. EC2 encourages scalable deployment of applications by providing a web service through which a user can boot an Amazon Machine Image (AMI) to configure a virtual machine, which Amazon calls an "instance", containing any software desired. A user can create, launch, and terminate server-instances as needed, paying by the second for active servers โ€“ hence the term "elastic". EC2 provides users with control over the geographical location of instances that allows for latency optimization and high levels of redundancy.[2] In November 2010, Amazon switched its own retail website platform to EC2 and AWS.

AmazonAppConfig

AWS AppConfig helps simplify the following tasks: Configure Source your configurations from Amazon Simple Storage Service (Amazon S3), AWS AppConfig hosted configurations, Parameter Store, Systems Manager Document Store. Use AWS CodePipeline integration to source your configurations from Bitbucket Pipelines, GitHub, and AWS CodeCommit.

Validate
While deploying application configurations, a simple typo could cause an unexpected outage. Prevent errors in production systems using AWS AppConfig validators. AWS AppConfig validators provide a syntactic check using a JSON schema or a semantic check using an AWS Lambda function to ensure that your configurations deploy as intended. Configuration deployments only proceed when the configuration data is valid.

Deploy and monitor
Define deployment criteria and rate controls to determine how your targets retrieve the new configuration. Use AWS AppConfig deployment strategies to set deployment velocity, deployment time, and bake time. Monitor each deployment to proactively catch any errors using AWS AppConfig integration with Amazon CloudWatch. If AWS AppConfig encounters an error, the system rolls back the deployment to minimize impact on your application users.

Monitoring by DataDog

Datadog is a monitoring service that provides real-time monitoring of your infrastructure, applications, and services.

Apple Push Notification Service

APN

freesignal's People

Contributors

nanu-c avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.