Bu günlerde Whatsapp sözleşme güncellemesi ile haberci uygulamalarında bir hareketlilik başladı. Bununla birlikte pandemi dolayısıyla bir çok şirket Whatsapp gruplarını kullanmaya başladı. Hindistan’da Whatsapp gruplarının Google tarafından indexlenmesi ve grup konuşmalarının ortalığa yayılması güvenlik endişelerini arttırdı. Hangi şirket maliyet fiyatlarını ve şirkettinin mali durumunu ve müşterilerini, rakiplerinin bilmesini ister ki? Her zaman açık kaynağı savunduğumuz için, sizin bilgileriniz sizde kalmalı, şirket bilgileriniz, şirket içi haberleşme, bilgi akışı şirket içinde kalmalıdır. Ağır bedeller ödemeden açık kaynak alternatifleri kullanın. Açık kaynak kodları rahatlıkla görebileceğiniz siz anlamasanız bile bir uzmandan danışmanlık alarak inceletebileceğiniz, güvene dayalı bir yapıdır. Kodlarını görmediğiniz yapıya güvenmek uçurumdan paraşütle atlamaya benzer, şansınız varsa suya yoksa kayaya çarparsınız. Kapalı kodlu yazılımlarda her zaman dayatmaya mecbur kalabilirsiniz. ABD, Venezuella sürtüşmesinde ERP ve CRM hatta Windows yazılımlarının desteğini kesti. Whatsapp kimseye sormadan sözleşmeyi onayla yoksa 8 Şubat’tan sonra kullanamazsın diye aba altından sopa gösterdi. Grup konuşmalarını Google üzerinde yayınladı. Bunların olmayacağını kim garanti edebilir. Açık Kaynakta bu söz konusu değildir. Buna en güzel örnek Open Office uygulamasıdır. Oracle, Sun Microsystem’i aldığında açık kaynak Open Office kodlarını kapatma ve ücretli bir şekilde satmaya kararı aldı, ancak hemen ardından Open Office kodlarıyla LibreOffice oluşturuldu. Şuan Open Office unutuldu, Libre Office yoluna devam ediyor. Günümüzde bilgi güçtür ve bu sizin bilginizdir, sizde kalmalıdır.

Signal Nedir?

Signal, Google Android, Apple IOS ,Linux için şifrelenmiş bir anlık mesajlaşma ve sesli arama uygulamasıdır. Görüntüleri ve video mesajlarını içerebilen bire bir ve grup mesajları göndermek ve bire bir sesli arama yapmak için İnternet’i kullanır. Signal, diğer Signal kullanıcılarıyla tüm iletişimleri güvence altına almak için tanımlayıcılar ve uçtan uca şifreleme olarak standart telefon numaralarını kullanır.

Signal, arkadaşlarla basit özel iletişim için bir mesajlaşma uygulamasıdır.

Signal, güvenli bir şekilde iletişim kurmak için telefonunuzun veri bağlantısını (WiFi / 3G / 4G) kullanır, isteğe bağlı olarak birleşik bir mesajlaşma aracı olarak işlev görmesi için düz SMS / MMS’i destekler ve ayrıca telefonunuzda depolanan mesajları şifreleyebilir.

Kurulum Adımları

Ana sunucu kaynak kodu burada bulunabilir:

https://github.com/signalapp/Signal-Server

Çalışmaya başlamadan önce kaynak kodunu klonlayalım:

https://github.com/signalapp/Signal-Server.git

Proje klasörü arasında:

cd Signal-server

Ana sunucu sunucu kavanozunu oluşturun

mvn install -DskipTests	

Önkoşullar

Programların en son sürümüne sahip olduğunuzdan emin olun.

sudo apt-get update

Java’yı yükleyin

sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update 
sudo apt-get install -y oracle-java8-installer
sudo apt-get install -y oracle-java8-unlimited-jce-policy 

Redis’i yükleyin

sudo apt-get install -y redis-server

Veritabanını kur

sudo apt-get install postgresql postgresql-contrib -y

Postgres kök kullanıcısı oluşturun:

sudo -i -u postgres
createdb accountdb
createdb messagedb 

createuser --interactive
psql
ALTER USER "Signal" WITH PASSWORD 'Signal!!';

## postgresql veritabanına uzaktan erişim 5432 numaralı bağlantı noktasını açmak için /etc/postgresql/9.*/main/postgresql.conf dosyanızı düzenleyin ve değiştirin

listen_addresses='localhost

İçin

listen_addresses='*'

Düzenle

/etc/postgresql/9.*/main/pg_hba.conf

Ve Ekle

host all all * md5

Ve DBMS’yi yeniden başlatın veya yeniden başlatın

invoke-rc.d postgresql restart

Yapılandırma dosyaları

Burada sahte değerlerle dolu çalışan bir sunucu dosyası . Kendi değerlerinizi sağlamalısınız:

twilio: # Twilio gateway configuration
  accountId: AC0a435e5bc49AC0a435e5bc49AC0a435v
  accountToken: bdc211b8a91990988166a82a65f0aafv
  numbers: [+10133273922]
  messagingServicesId: 
  localDomain: akdev.tech

push:
  queueSize: # Size of push pending queue

turn: # TURN server configuration
  secret: test
  uris: ["turn:127.0.0.1:3478"]

cache:
  url: http://127.0.0.1:6379

directory:
  url: http://127.0.0.1:6379

messageStore: # Postgresql database configuration for message store
  driverClass: org.postgresql.Driver
  user: Signal
  password: Signal!!
  url: jdbc:postgresql://akdev.tech:5432/messagedb

attachments: # AWS S3 configuration
  accessKey: AKIAIHGXT3LQBZVVMH5A
  accessSecret: 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
  bucket: Signal

profiles: # AWS S3 configuration
  accessKey: AKIQBZVVMH5QAIHGXT3A
  accessSecret: TAA2Wy1mGRiHzOCCMlB8TVu7zOiNX2OR/JmzvWSx
  bucket: Signal
  region: eu-west-1

database: # Postgresql database configuration
  driverClass: org.postgresql.Driver
  user: Signal
  password: Signal!!
  url: jdbc:postgresql://akdev.tech:5432/accountdb

apn:
  bundleId: com.nevermynd.messenger
  pushCertificate: config/certs/Certificates.p12
  pushKey: aqnouch

gcm:
  senderId: 90077701463
  apiKey: AIzaSyAHNIwGE0yKG9QnDZQMcziNAF-0zliXOtH

server:
  applicationConnectors:
    - type: http
      port: 8080
  adminConnectors:
    - type: http
      port: 8081

Veritabanı geçişi

Kullanıcı adı, parola, messagesdb ve accountsdb ile PostresSQL Up & Running (iki db aynı olabilir) ve bu parametreler, yukarıda jdbc dizesi olarak görüldüğü gibi TSS’nin yml dosyası içinde iyi kodlanmışsa, artık uygulama tarafından ihtiyaç duyulan veri yapılarını oluşturabilirsiniz. .

java -jar ../jars/Signal-2.1.jar  messagedb migrate  ../config/Signal.yml
java -jar ../jars/Signal-2.1.jar  accountdb migrate  ../config/Signal.yml

S3 yapılandırması

S3 demeti bir IAM kullanıcısı oluşturun ve onu S3FullAccess grubuna ekleyin

Ters vekil

sudo a2enmod proxy proxy_http proxy_wstunnel

Mevcut siteyi eklemek için yapılandırma: apache / etc / apache2 / sites-available /

ServerAdmin aqnouch.mohammed@gmail.com SunucuAdı kalam.app
    DocumentRoot /var/www/kalam/

    <Directory /var/www/tkalam>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>	

SSLCertificateFile /etc/letsencrypt/live/kalam.app/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/kalam.app/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

Sunucu kurulumunu çevirin

sudo apt-get install -y coturn
sudo apt-get install -y build-essential
sudo turnserver -a -o -v -n  --no-dtls --no-tls -u test:test -r "someRealm"

SSL Sertifikası

SSL sertifikasını oluşturun

sudo add-apt-repository ppa:certbot/certbot -y
sudo apt-get update -y
sudo apt-get install python-certbot-apache  -y
sudo certbot --authenticator standalone --installer apache -d <yourdomain> --pre-hook "systemctl stop apache2" --post-hook "systemctl start apache2"

Signal Android uygulaması, IOS ve Masaüstü Uygulaması için github adresinden indirip sunucunuz için yapılandırmanız gerekir. Konu hakkında bilginiz yoksa bir uzmana danışmanına başvurmanızda yarar vardır. Kodları incelemek ve geliştirmek için Anadolu Panteri Geliştirici Sürümünü tavsiye ederim.

Signal Github

By Ortanca Samuray

1990'dan beri Unix- GNU Linux kullanıcısı

Translate »