Coder Social home page Coder Social logo

javajens / textsecure Goto Github PK

View Code? Open in Web Editor NEW

This project forked from signalapp/signal-android

72.0 28.0 9.0 74.58 MB

A secure text messaging application for Android.

License: GNU General Public License v3.0

Java 11.84% Python 0.06% IDL 0.01% Prolog 0.01% HTML 0.01% Makefile 0.57% C 61.01% C++ 11.88% MATLAB 0.06% Shell 0.44% Perl 7.51% Assembly 6.58% XS 0.02% eC 0.01% Batchfile 0.01%

textsecure's Introduction

Signal Android

Signal is a messaging app for simple private communication with friends.

Signal uses your phone's data connection (WiFi/3G/4G) to communicate securely, optionally supports plain SMS/MMS to function as a unified messenger, and can also encrypt the stored messages on your phone.

Currently available on the Play store.

Get it on Google Play

#WebSocket Support#

This branch adds rudimentary WebSocket-ONLY support to Signal Private Messenger. In order to build a modified version of libtextsecure is needed, for that checkout my fork

and run: ./gradlew tasks installArchives to install in local maven directory.

Contributing Bug reports

We use GitHub for bug tracking. Please search the existing issues for your bug and create a new one if the issue is not yet tracked!

https://github.com/WhisperSystems/Signal-Android/issues

Joining the Beta

Want to live life on the bleeding edge and help out with testing?

You can subscribe to Signal Android Beta releases here: https://play.google.com/apps/testing/org.thoughtcrime.securesms

If you're interested in a life of peace and tranquility, stick with the standard releases.

Contributing Translations

Interested in helping to translate Signal? Contribute here:

https://www.transifex.com/projects/p/signal-android/

Contributing Code

Instructions on how to setup your development environment and build Signal can be found in BUILDING.md.

If you're new to the Signal codebase, we recommend going through our issues and picking out a simple bug to fix (check the "easy" label in our issues) in order to get yourself familiar. Also please have a look at the CONTRIBUTING.md, that might answer some of your questions.

For larger changes and feature ideas, we ask that you propose it on the unofficial Community Forum for a high-level discussion with the wider community before implementation.

This repository is set up with BitHub, so you can make money for committing to Signal. The current BitHub price for an accepted pull request is:

Current BitHub Price

Contributing Ideas

Have something you want to say about Open Whisper Systems projects or want to be part of the conversation? Get involved in the community forum.

Contributing Funds

Donate

You can add funds to BitHub to directly help further development efforts.

Help

Support

For troubleshooting and questions, please visit our support center!

http://support.whispersystems.org/

Documentation

Looking for documentation? Check out the wiki!

https://github.com/WhisperSystems/Signal-Android/wiki

Legal things

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 2011 Whisper Systems

Copyright 2013-2016 Open Whisper Systems

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

textsecure's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

textsecure's Issues

Websocket development stalled?

Hello,
please what is current status of Websocket support in TextSecure? Is your fork dead (there hasn't been any activity for a long time)? Are you planning to continue and merge it into official TextSecure?

Thanks for your answers.

No notification on receiving message

Hi,

when I send a message from Signal with websocket support to another user who has Signal with GCM installed, the other user doesn't get a notification that he received a message. The second user always has to open his version of Signal to check if there are new messages. When a message is sent from Signal with GCM to Signal with websocket support it is no problem at all.
Does anyone know why there are no notifications?

Thanks.

Merge upstream 2.28.0 into websocket-reborn + Signal update

Folks,

Again still too busy to do this right now, but upstream has had a major update. If someone wants to step in again to do the merge from upstream, go for it otherwise in a few weeks I will finally get back to it.

If someone does step in to do the merge, BE CAREFUL, MANUALLY TEST THE NEW CODE WORKS - there's gonna be a huge diff and stuff will probably break because of it.

Huge message delays

Hi!

I recently downgraded/switched from Signal (off of Google Play) to the Jolla Edition, version 3.3.1, and noticed messages are sometimes delayed.

Since Moxie doesn't like different builds (open-source cat-herding can be a pain) I'll ask here first: is there any kind of wake-up delay interval thingies for polling messages? Do the sockets get closed and not often reopened?

Anything that might explain having only one tick on sending messages and not receiving anything, until three hours' worth of messages come in as a burst?

The missus and I would really love to get off Whatsapp and I wanted to get off Google so this fork is pretty much the only hope we have currently.

Thanks!

Permanent TextSecure communication failure

Latest code, Permanent TextSecure communication failure! notification again. After updating TextSecure with latest ws patches, I got two "bad coded" push messages from my friend (sent few days ago). Sending push messages don't work, also (there's no received mark).

Building websockets-reborn-branch

Trying to build the websockets-reborn branch I get the following error:

mh@x200:~/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn$ ./gradlew build
signing.properties not found
Verifying me.leolin:ShortcutBadger
Verifying se.emilsjolander:stickylistheaders
Verifying com.google.android.gms:play-services-base
Verifying com.astuetz:pagerslidingtabstrip
Verifying org.w3c:smil
Verifying org.apache.httpcomponents:httpclient-android
Verifying com.github.chrisbanes.photoview:library
Verifying com.makeramen:roundedimageview
Verifying com.afollestad:material-dialogs
Verifying com.soundcloud.android:android-crop
Verifying com.android.support:appcompat-v7
Verifying com.android.support:recyclerview-v7
Verifying com.melnykov:floatingactionbutton
Verifying com.google.zxing:android-integration
Verifying com.android.support:support-v4-preferencefragment
Verifying com.squareup.dagger:dagger
Verifying com.doomonafireball.betterpickers:library
Verifying com.madgag.spongycastle:prov
Verifying org.whispersystems:jobmanager
Verifying org.whispersystems:libpastelog
Verifying com.android.support:support-annotations
Verifying com.nineoldandroids:library
Verifying javax.inject:javax.inject
Verifying com.madgag.spongycastle:core
Verifying org.whispersystems:axolotl-android
Verifying com.googlecode.libphonenumber:libphonenumber
Verifying com.google.protobuf:protobuf-java
Verifying com.squareup.okhttp:okhttp
Verifying com.fasterxml.jackson.core:jackson-databind
Verifying org.whispersystems:axolotl-java
Verifying org.whispersystems:curve25519-android
Verifying com.squareup.okio:okio
Verifying com.fasterxml.jackson.core:jackson-annotations
Verifying com.fasterxml.jackson.core:jackson-core
Verifying org.whispersystems:curve25519-java
Verifying com.android.support:support-v4
:preBuild
:compileDebugNdk
:preDebugBuild
:checkDebugManifest
:preReleaseBuild
:prepareComAfollestadMaterialDialogs0731Library
:prepareComAndroidSupportAppcompatV72103Library
:prepareComAndroidSupportRecyclerviewV72103Library
:prepareComAndroidSupportSupportV42211Library
:prepareComAndroidSupportSupportV4Preferencefragment100Library
:prepareComAstuetzPagerslidingtabstrip101Library
:prepareComDoomonafireballBetterpickersLibrary153Library
:prepareComGithubChrisbanesPhotoviewLibrary123Library
:prepareComGoogleAndroidGmsPlayServicesBase6587Library
:prepareComMakeramenRoundedimageview150Library
:prepareComMelnykovFloatingactionbutton110Library
:prepareComSoundcloudAndroidAndroidCrop0910Library
:prepareMeLeolinShortcutBadger102WS2Library
:prepareOrgWhispersystemsAxolotlAndroid131Library
:prepareOrgWhispersystemsCurve25519Android022Library
:prepareOrgWhispersystemsJobmanager0110Library
:prepareOrgWhispersystemsLibpastelog106Library
:prepareOrgWhispersystemsTextsecureAndroid161Library
:prepareSeEmilsjolanderStickylistheaders220Library
:prepareDebugDependencies
:compileDebugAidl
:compileDebugRenderscript
:generateDebugBuildConfig
:generateDebugAssets UP-TO-DATE
:mergeDebugAssets
:generateDebugResValues
:generateDebugResources
:mergeDebugResources
/home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/exploded-aar/com.doomonafireball.betterpickers/library/1.5.3/res/drawable-xxhdpi/ic_recurrence_bubble_outline_disabled.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/exploded-aar/com.doomonafireball.betterpickers/library/1.5.3/res/drawable-xxhdpi/ic_recurrence_bubble_outline.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/res/drawable-hdpi/abc_ab_share_pack_holo_light.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/res/drawable-hdpi/abc_ab_share_pack_holo_dark.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/res/drawable-xhdpi/abc_ab_share_pack_holo_dark.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/exploded-aar/com.doomonafireball.betterpickers/library/1.5.3/res/drawable-xxhdpi/ic_recurrence_bubble_disabled.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/res/drawable-hdpi/abc_spinner_mtrl_am_alpha.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/res/drawable-mdpi/abc_ab_share_pack_holo_dark.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/exploded-aar/com.doomonafireball.betterpickers/library/1.5.3/res/drawable-xxhdpi/ic_recurrence_bubble_fill.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/res/drawable-xhdpi/abc_ab_share_pack_holo_light.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
:processDebugManifest
:processDebugResources
/home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/res/debug/values/values.xml:2862: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Dialog.Alert'.

/home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/res/debug/values-v11/values.xml:173: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Dialog.Alert'.

/home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/res/debug/values-v21/values.xml:258: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Dialog.Alert'.

/home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/res/debug/values/values.xml:2873: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.Dialog.Alert'.

/home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/res/debug/values-v11/values.xml:190: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.Dialog.Alert'.

/home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/res/debug/values-v21/values.xml:269: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.Dialog.Alert'.

:processDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processDebugResources'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
        /home/mh/Downloads/android-sdk-linux/build-tools/22.0.1/aapt package -f --no-crunch -I /home/mh/Downloads/android-sdk-linux/platforms/android-22/android.jar -M /home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/manifests/full/debug/AndroidManifest.xml -S /home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/res/debug -A /home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/assets/debug -m -J /home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/generated/source/r/debug -F /home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/res/resources-debug.ap_ -G /home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/proguard-rules/debug/aapt_rules.txt --debug-mode --custom-package org.thoughtcrime.securesms -0 apk --output-text-symbols /home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/symbols/debug
  Error Code:
        1
  Output:
        /home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/res/debug/values/values.xml:2862: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Dialog.Alert'.

        /home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/res/debug/values-v11/values.xml:173: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Dialog.Alert'.

        /home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/res/debug/values-v21/values.xml:258: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Dialog.Alert'.

        /home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/res/debug/values/values.xml:2873: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.Dialog.Alert'.

        /home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/res/debug/values-v11/values.xml:190: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.Dialog.Alert'.

        /home/mh/textsecurejavajens/textsecure-websockets-reborn/TextSecure-feature-websocket-reborn2/TextSecure-feature-websocket-reborn/build/intermediates/res/debug/values-v21/values.xml:269: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.Dialog.Alert'.



* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 1 mins 8.069 secs

The normal textsecure builds without problems. libtextsecure-java-fix-maven_local with ./gradlew tasks installArchives as well.
Before coming so far I had to update the versions and checksums for a couple of packages in the build.gradle file. I took the versions from the current whispersystems-textsecure respository.

In case the large debug log is needed I can generate and upload it as well

I the above error a problem of my setup or a general problem? Any help is appreciated.
Thanks and best regards.

Network failure when calling with websocket-reborn

Hello

First of all: Your work (I mean all the contributors) is really appreciated. The websockets is really nice if one does not want to rely on google ;)
Thanks for the effort and pls keep up the good work. Maybe this will eventually integrated to the original.

To the problem:
I built your fork today from source and tried to make a call between two websocket-reborn versions (3.0.1-dev).
But I got the error about a network failure:

W/SignalingSocket( 6132): Connected to: 52.1.187.175
D/QC-QMI ( 202): Calling cooked async Callback
D/QC-QMI ( 202): Inside qmi_client_decode_msg_async Callback
D/CellBroadcastConfigService( 3602): enabled emergency cell broadcast channels
D/CellBroadcastConfigService( 3602): disabling cell broadcast channel 50
D/IccSmsInterfaceManager( 2748): [IccSmsInterfaceManager] Failed to remove GSM cell broadcast subscription for MID range 50 to 50 from client com.android.cellbroadcastreceiver
D/CellBroadcastConfigService( 3602): disabling channels 919-928
D/IccSmsInterfaceManager( 2748): [IccSmsInterfaceManager] Failed to remove GSM cell broadcast subscription for MID range 919 to 928 from client com.android.cellbroadcastreceiver
D/CellBroadcastConfigService( 3602): disabling cell broadcast ETWS test messages
D/IccSmsInterfaceManager( 2748): [IccSmsInterfaceManager] Failed to remove GSM cell broadcast subscription for MID range 4355 to 4355 from client com.android.cellbroadcastreceiver
D/CellBroadcastConfigService( 3602): disabling cell broadcast CMAS test messages
D/IccSmsInterfaceManager( 2748): [IccSmsInterfaceManager] Failed to remove GSM cell broadcast subscription for MID range 4380 to 4382 from client com.android.cellbroadcastreceiver
D/IccSmsInterfaceManager( 2748): [IccSmsInterfaceManager] Failed to remove cdma broadcast subscription for MID range 4100 to 4100 from client com.android.cellbroadcastreceiver
W/PhoneNumberFormatter( 6132): Got local CC: DE
D/SignalingSocket( 6132): Sending signal...
W/LineReader( 6132): Chomped line: 48 54 54 50 2f 31 2e 30 20 34 30 33 20 45 72 72 6f 72
W/LineReader( 6132): Buffer length: 22
W/LineReader( 6132): Writing remaining to buffer, offset: 20 Length: 2
W/LineReader( 6132): Chomped line:
W/LineReader( 6132): Buffer length: 2
W/InitiatingCallManager( 6132): org.thoughtcrime.redphone.signaling.SignalingException: Unknown response: 403
W/InitiatingCallManager( 6132): at org.thoughtcrime.redphone.signaling.SignalingSocket.initiateConnection(SignalingSocket.java:187)
W/InitiatingCallManager( 6132): at org.thoughtcrime.redphone.call.InitiatingCallManager.run(InitiatingCallManager.java:77)
D/NuPlayerDriver( 204): reset(0xb830a6e0)
D/NuPlayerDriver( 204): notifyResetComplete(0xb830a6e0)
E/MediaPlayer-JNI( 6132): QCMediaPlayer mediaplayer NOT present
W/RedPhone( 6132): Got message from service: 2
W/RedPhoneService( 6132): termination stack
W/RedPhoneService( 6132): java.lang.Exception
W/RedPhoneService( 6132): at org.thoughtcrime.redphone.RedPhoneService.terminate(RedPhoneService.java:340)
W/RedPhoneService( 6132): at org.thoughtcrime.redphone.RedPhoneService.notifyServerFailure(RedPhoneService.java:467)
W/RedPhoneService( 6132): at org.thoughtcrime.redphone.call.InitiatingCallManager.run(InitiatingCallManager.java:106)
D/LockManager( 6132): Entered Lock State: PARTIAL
D/AccelerometerListener( 6132): enable(false)
D/org.thoughtcrime.redphone.audio.IncomingRinger( 6132): Cancelling vibrator
E/MediaPlayer( 6132): stop called in state 4
E/MediaPlayer( 6132): error (-38, 0)
E/MediaPlayer( 6132): Error (-38,0)
D/WifiService( 644): releaseWifiLockLocked: WifiLock{RedPhone Wifi type=3 binder=android.os.BinderProxy@2a49ecea}
D/LockManager( 6132): Entered Lock State: SLEEP
D/AccelerometerListener( 6132): enable(false)
I/FFmpegExtractor( 204): android-source:0xb8184350
I/FFMPEG ( 204): [mp3 @ 0xb81f1bd0] Skipping 0 bytes of junk at 0.
I/FFMPEG ( 204): [mp3 @ 0xb81f1bd0] Estimating duration from bitrate, this may be inaccurate
I/FFMPEG ( 204): Input #0, mp3, from 'android-source:0xb8184350':
I/FFMPEG ( 204): Duration: 00:00:00.50, start: 0.000000, bitrate: 127 kb/s
I/FFMPEG ( 204): Stream #0:0: Audio: mp3, 22050 Hz, mono, s16p, 128 kb/s
D/FFmpegExtractor( 204): FFmpegExtrator, url: android-source:0xb8184350, format_name: mp3, format_long_name: MP2/3 (MPEG audio layer 2/3)
D/FFmpegExtractor( 204): suppoted codec(mp3) by official Stagefright
D/FFmpegExtractor( 204): ffmpeg detected media content as 'audio/mpeg' with confidence 0.08
D/ExtendedUtils( 204): extended extractor not needed, return default
E/MediaPlayer( 6132): Should have subtitle controller already set
D/NuPlayerDriver( 204): start(0xb830a6e0)
I/GenericSource( 204): start
W/Utils ( 204): bool android::canOffloadStream(const android::spandroid::MetaData&, bool, const android::spandroid::MetaData&, bool, audio_stream_type_t) No sample bit depth info in meta data
I/ExtendedUtils( 204): No channel mask, try channel count
I/NuPlayer( 204): Could not offload audio decode, pcm offload decided :0
W/Utils ( 204): bool android::canOffloadStream(const android::spandroid::MetaData&, bool, const android::spandroid::MetaData&, bool, audio_stream_type_t) No sample bit depth info in meta data
I/ACodec ( 204): sampleRate=22050 channels=1 bits=16
D/ALSAStreamOps( 204): setParameters(): keyRouting with device 0x1
D/ALSAStreamOps( 204): setParameters(): keyRouting with device 0x1
D/ALSADevice( 204): route: devices 0x1 in mode 0
D/ALSADevice( 204): No valid input device: 0
D/alsa_ucm( 204): snd_use_case_set(): uc_mgr 0xb8156830 identifier _enadev value Earpiece
D/alsa_ucm( 204): Set mixer controls for HiFi enable 1
D/alsa_ucm( 204): Setting mixer control: SLIMBUS_0_RX Audio Mixer MultiMedia1, value: 1
D/ALSADevice( 204): switchDevice: mCurTxUCMDevivce None mCurRxDevDevice Earpiece
D/ALSAStreamOps( 204): setParameters(): keyRouting with device 0x1
D/ALSAStreamOps( 204): setParameters(): keyRouting with device 0x1
D/ALSADevice( 204): route: devices 0x1 in mode 0
D/ALSADevice( 204): No valid input device: 0
D/alsa_ucm( 204): snd_use_case_set(): uc_mgr 0xb8156830 identifier _enadev value Earpiece
D/alsa_ucm( 204): Set mixer controls for HiFi enable 1
D/alsa_ucm( 204): Setting mixer control: SLIMBUS_0_RX Audio Mixer MultiMedia1, value: 1
D/ALSADevice( 204): switchDevice: mCurTxUCMDevivce None mCurRxDevDevice Earpiece
E/AudioTrack( 204): AudioTrack::set : Exit
D/ALSAStreamOps( 204): setParameters(): keyRouting with device 0x1
D/ALSAStreamOps( 204): setParameters(): keyRouting with device 0x1
D/ALSADevice( 204): route: devices 0x1 in mode 0
D/ALSADevice( 204): No valid input device: 0
D/alsa_ucm( 204): snd_use_case_set(): uc_mgr 0xb8156830 identifier _enadev value Earpiece
D/alsa_ucm( 204): Set mixer controls for HiFi enable 1
D/alsa_ucm( 204): Setting mixer control: SLIMBUS_0_RX Audio Mixer MultiMedia1, value: 1
D/ALSADevice( 204): switchDevice: mCurTxUCMDevivce None mCurRxDevDevice Earpiece
D/ALSAStreamOps( 204): setParameters(): keyRouting with device 0x1
D/ALSAStreamOps( 204): setParameters(): keyRouting with device 0x1
D/ALSADevice( 204): route: devices 0x1 in mode 0
D/ALSADevice( 204): No valid input device: 0
D/alsa_ucm( 204): snd_use_case_set(): uc_mgr 0xb8156830 identifier _enadev value Earpiece
D/alsa_ucm( 204): Set mixer controls for HiFi enable 1
D/alsa_ucm( 204): Setting mixer control: SLIMBUS_0_RX Audio Mixer MultiMedia1, value: 1
D/ALSADevice( 204): switchDevice: mCurTxUCMDevivce None mCurRxDevDevice Earpiece

Making Better Decisions

We need to make a decision about who is in control of this repo and the direction of this project as a whole (is JavaJens a Linus-style benevolent dictator? Are we a quasi democratic orgo like Debian?), and then we also need to make a hard decision on this, because there are issues that are collecting dust while we waffle on these decisions. Additionally, I am of the opinion we should have a mailing list or some other way of getting in contact with each other.

@JavaJens, opinions?

instructions incomplete?

thanks for your efforts in getting signal working without gcm!

Somehow the instructions seem incomplete:

https://github.com/JavaJens/TextSecure/wiki/Building-the-Websockets-reborn-fork

i tried to follow them, but noticed some differences:

  • cd ~/.m2/repository/org/whispersystems/textsecure-android/2.8.1

that is 2.8.2 now (minor)

  • fixing the sha256 of that textsecure-android.aar in build.gradle was not enough, the build later complained about a wrong hash for textsecure-java (note: -java, not -android), so I applied same procedure to textsecure-java.jar also.
  • " You'll probably want "Production" and "WS" (Websocket) for your build options."

Not sure what that means, where do I configure "build options"? I used android studio.

Especially, where do I need to tell it to be a "websockets" build?

  • I tried a signed apk build, it worked, but after copying it to my android device and installing it, it said it can not work without google play services (which I do not have installed).

wasn't working without them the whole point of this?

PullRequest to upstream

I'd like to use this issue to discuss any changes required before submitting a pull request to upstream.

Default Branch

Hey @JavaJens I know this sounds stupid but can you set the default branch under the repo settings to feature/websocket-reborn

It's the repo with active development on it, and I (and probably other people too) have to click every time to change to it to inspect things.

build fails with:

Checksum failed for org.whispersystems:textsecure-android:28d3cb7ee8ac8437f148b9b4f689546d1393287798f0f09acbe21716c8aee8d0

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Rename repository to LibreSignal

Hi there @JavaJens, first of all: Huge THANKS for making this possible and for rocking the code without Google spy crap for us privacy geeks! I have found your work while reading the article Android: Signal ohne Google Cloud Messaging on the awesome Kuketz Blog. I am sure that if you would rename your fork, much more people would start to use it and contribute. Please do so and never stop raving for us!

Retrieving messages does not work

Hi!
When testing your websocket-reborn branch (including your forked libtextsecure), I wasn't able to receive any messages.
There was not much Textsecure-related log output, except this:

03-05 15:16:48.843 W/MessageRetrievalService(31143): Active Count: 1
03-05 15:16:48.861 W/MessageRetrievalService(31143): Network requirement: true
03-05 15:16:48.861 W/MessageRetrievalService(31143): Active Count: 0
03-05 15:16:48.864 W/MessageRetrievalService(31143): Network requirement: true
03-05 15:16:48.930 W/MessageRetrievalService(31143): Active Count: 1
03-05 15:16:48.932 W/MessageRetrievalService(31143): Network requirement: true
03-05 15:16:51.073 W/MessageRetrievalService(31143): Active Count: 0
etc.

Is there anything I can do to help you debug this issue?

Implement OFFLINE SMS encryption

I know that WhisperSystems out offline SMS encryption from their apps, but maybe you'd be able to re-enable SMS encryption from SMSSecure within LibreSignal? This for sure would make LibreSignal the ULTIMATE app for encrypted communication and I'm sure others would enjoy an "app for everything".

Pull from upstream to get Signal for Chrome

OpenWhisperSystems recently added Signal for chrome, and therefore allows to connect your phone with Signal with it. It does require to bind them with a QRCode, and the menu is not present in the current version on F-Droid. Is that possible to get that compatibility?

Force close when sending image.

The actual version force closes if I hit the send button for a picture. Whe I restart the app it sends the picture without a problem. I do not need to hit the send button again.

3.10.0

just compiled 3.10.0 and its installed next to 3.9.1.
and i need to signup again to signal.

Create a more verifiable or transparent process for websocket releases?

I'd love to see a more verifiable and more transparent process to keep this repo up-to-date with master and also would love to better understand if other patches appart from websocket support get merged and so on.

So perhaps we could start discussing in this issue to get ahead with the above. You all could add further suggestions, outline problems and all that. I'd like to help this fork, as long as Moxie refuses to integrate websocket support into the upstream master.

Collect battery statistics comparing websocket usage to vanilla

See my comment in #21.

If we have some people with spare phones that can dedicate their phones to the cause, and can really really strictly run the phone under exact same conditions, that would be ideal for testing.

Something like (on a testing phone that you don't do ANYTHING else on during the test):

  1. Install Vanilla TextSecure
  2. Charge to full overnight, take phone off charger
  3. Every hour on the hour alternate between sending a message, recieving a message, send picture, recieve picture
  4. at 10 hours, take note of battery drain.
  5. Install Websockets
  6. repeat steps 2-4

Then get that shit into a spreadsheet and make some pretty graphs and that should be useful. It's important to do this right, because give Moxie a statement like "I haven't noticed bad battery drain" - and that's not helpful because its anecdotal. But if we can present aggregated properly taken stats showing the battery drain is on an order of X% worse, we might have a better chance of being merged.

At some point in a few days I will attach a spreadsheet on google docs for people to add their stats so that we can collect aggregate data across multiple devices, although the data is self-reported which is not optimal because people can lie, but please don't do that

the future of this fork?

Sry, if this is the wrong place.

Since Textsecure and Redphone for Android are now just Signal: What will be the future of this fork?

  • Provide Signal with WebSockets
  • Provide Textsecure like now and be compatible to the Signal app

Thanks for your work!
A Jolla user

Could not compile

Error:

:generateDebugSources
:compileDebugJava
/home/mladen/Preuzimanja/TextSecure-master/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java:104: error: constructor TextSecureCipher in class TextSecureCipher cannot be applied to given types;
      TextSecureCipher cipher       = new TextSecureCipher(axolotlStore, new AxolotlAddress(envelope.getSource(), deviceId));
                                      ^
  required: AxolotlStore
  found: AxolotlStore,AxolotlAddress
  reason: actual and formal argument lists differ in length

Tried with non patched TextSecure and no such error occurs.

Get determininistic builds working

Another issue reminded me that that OWS has with fdroid is that, by default, the APKs are signed by the buildserver rather than the developers. F-droid has a means to allow the developer to sign if the builds are byte for byte deterministic and repeatable:

https://f-droid.org/wiki/page/Deterministic,_Reproducible_Builds

Just creating this issue to track any efforts there, as that might make the OWS team more amenable to allow fdroid builds

Here's an example of an app built deterministically:
https://github.com/guardianproject/lildebi#build-setup

Websocket-reborn 3.0.1-dev cannot communicate with signal 3.0.2

I remember that it was possible to communicate between websocket-reborn 2.27 and textsecure 2.27.

I tried today to send some text from websocket-reborn 3.0.1-dev to signal 3.0.2 (on android) but the text never arrives. This also does not work vice versa.

Unfortunately I cannot attach a useful log.

Could not build.

I get this error:

Error:A problem occurred configuring root project 'TextSecure'.
> Failed to notify project evaluation listener.
   > Could not resolve all dependencies for configuration ':_debugCompile'.
      > Could not find org.whispersystems:textsecure-android:1.1.1.
        Searched in the following locations:
            https://repo1.maven.org/maven2/org/whispersystems/textsecure-android/1.1.1/textsecure-android-1.1.1.pom
            https://repo1.maven.org/maven2/org/whispersystems/textsecure-android/1.1.1/textsecure-android-1.1.1.jar
            https://raw.github.com/whispersystems/maven/master/preferencefragment/releases/org/whispersystems/textsecure-android/1.1.1/textsecure-android-1.1.1.pom
            https://raw.github.com/whispersystems/maven/master/preferencefragment/releases/org/whispersystems/textsecure-android/1.1.1/textsecure-android-1.1.1.jar
            https://raw.github.com/whispersystems/maven/master/smil/releases/org/whispersystems/textsecure-android/1.1.1/textsecure-android-1.1.1.pom
            https://raw.github.com/whispersystems/maven/master/smil/releases/org/whispersystems/textsecure-android/1.1.1/textsecure-android-1.1.1.jar
            https://raw.github.com/whispersystems/maven/master/shortcutbadger/releases/org/whispersystems/textsecure-android/1.1.1/textsecure-android-1.1.1.pom
            https://raw.github.com/whispersystems/maven/master/shortcutbadger/releases/org/whispersystems/textsecure-android/1.1.1/textsecure-android-1.1.1.jar
            https://jcenter.bintray.com/org/whispersystems/textsecure-android/1.1.1/textsecure-android-1.1.1.pom
            https://jcenter.bintray.com/org/whispersystems/textsecure-android/1.1.1/textsecure-android-1.1.1.jar
            file:/home/jmf/.m2/repository/org/whispersystems/textsecure-android/1.1.1/textsecure-android-1.1.1.pom
            file:/home/jmf/.m2/repository/org/whispersystems/textsecure-android/1.1.1/textsecure-android-1.1.1.jar
            file:/home/jmf/Android/sdk/extras/android/m2repository/org/whispersystems/textsecure-android/1.1.1/textsecure-android-1.1.1.pom
            file:/home/jmf/Android/sdk/extras/android/m2repository/org/whispersystems/textsecure-android/1.1.1/textsecure-android-1.1.1.jar
            file:/home/jmf/Android/sdk/extras/google/m2repository/org/whispersystems/textsecure-android/1.1.1/textsecure-android-1.1.1.pom
            file:/home/jmf/Android/sdk/extras/google/m2repository/org/whispersystems/textsecure-android/1.1.1/textsecure-android-1.1.1.jar
        Required by:
            :TextSecure:unspecified
   > Could not resolve all dependencies for configuration ':compile'.
      > Could not find org.whispersystems:textsecure-android:1.1.1.
        Required by:
            :TextSecure:unspecified

Playstore Error

Hi

I got a problem with the Signal Fork without the Google Play Store.
If i try to register my phone number I get the Error that I have to install the Playstore in order to use this app but shouldn't it work without the google Playstore?

I cant get around this error message. Is there any fix for this?

Import SMS from SMSSecure

Hi there, me again! This will be my last Issue on your repo for today, promised. I am currently playing with LibreSignal and would like to import my SMS from SMSSecure, backed up in cleartext. Seems like LibreSignal does not recognize the backup file yet, would be lively if it did in the future. Also, maybe it would be possible to add support to directly import the SMS from SMSSecure while it is unlocked? Thanks for considering all these things. Cheers and greetings from Germany!

ZRTP key continuity check removed from Signal/RedPhone

One of key security features of ZRTP encrypted phone calls - key continuity - has been removed from RedPhone when it has been integrated into Signal. See this issue for more info:

#4226: No warning when getting a call from contact with new key

Moxie closed it without explanation why it has been removed (with simple "yes you have to verify the sas every time").

Would you agree to reimplement it (well, it seems to be only commented out in the code, so it shouldn't be that hard) in your WebSocket fork? I can look into it when I get time if you are interested in it.

Redphone

I know this has nothing to do with Textsecure,
But I'd like to know if we could do the same for redphone. I'm not sure if redphone is GCM or Google framework dependent though.
Because I'd very much like to see it on F-Droid aswell :)

Registration without Google Services installed impossible

I've tried to register my phone number with LibeSignal 3.1.1 on my purely ASOP Android device (CM 12) but it states that the Google Play Services it too old. In fact there is nothing from Google Install, no GAPPS.

Is there any way to use LibreSignal without Google Services ?

Can read old messages despite no password was entered

Hi

I searched for this bug upstream but couldn't find it there, so I post it here.
I switched from upstream Signal a few weeks ago (Version 3.7) and now I noticed a unwanted behaviour of the websockets fork that wasn't in upstream.

Sometimes when I get a new message and I double tap on the notification in my phones lockscreen and enter my phones pin, I end up directly in the conversation without having my signal password entered. There I can scroll through older messages, only the message I just got is replaced with a message saying "decryption in progress" (or similar, my signal is german). It happens not often, but still sometimes.
Is this after all an upstream bug? Did this happen to someone else?

Our relationship with LibreSignal

After #71 is solved, we need to come to the following decisions moving forward:

A) Do we acknowledge this repo as the source for LibreSignal, or do we tell @xmikos to create his own repo, and stop sending people with issues our way? If we acknowledge this repo as the source for LibreSignal, what level of support do we provide to people posting issues?

B) Do we start incorporating new feature requests that diverge with upstream, e.g. #40.

We should decide these issues one way or another, and then address the repo in that direction. If we decide that we still want to remain as close to upstream as possible, then we should close the offending issues, tell @xmikos to stop pointing at us for support, and start working on getting merged upstream, whatever that would take. If we decide the opposite, then we should merge #40, perhaps start working on LibreSignal features, and make it more transparent how LibreSignal releases are being made.

Building fails

Building fails on ubuntu 15.04; Java: Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Tested with Java 7 with same result.

Output:
:dexProdWebsockets
AGPBI: {"kind":"SIMPLE","text":"Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar ","position":{},"original":"Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar "}
AGPBI: {"kind":"SIMPLE","text":"Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000797c80000, 95420416, 0) failed; error\u003d\u0027Cannot allocate memory\u0027 (errno\u003d12)","position":{},"original":"Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000797c80000, 95420416, 0) failed; error\u003d\u0027Cannot allocate memory\u0027 (errno\u003d12)"}

FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':dexProdWebsockets'.

    com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-8-oracle/bin/java'' finished with non-zero exit value 1

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 2 mins 44.742 secs

LibreSignal

So I noticed LibreText is now LibreSignal.
Can someone clarify?
The play store version does not seem to be renamed to signal yet. And calling doesn't work either yet. So what's up whit this update?

Signal calling not working for 3.3.1-websocket

Using "LibreSignal" from eutopia.cz/experimental/fdroid/repo
Version: 3.3.1-websocket

Calling does not work between websocket and GCM, I have not tested websocket <--> websocket, gcm <--> gcm works.

On the GCM end, the call continues to ring until failure.
On the websocket end, the call starts and then immediately fails.

Any idea if this will ever work?

Crash in GcmRefreshJob

As @pejakm mentioned here: signalapp#1960 (comment) the latest build crashes with

E/AndroidRuntime( 1120): FATAL EXCEPTION: JobConsumer-3
E/AndroidRuntime( 1120): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
E/AndroidRuntime( 1120):    at android.os.Handler.<init>(Handler.java:205)
E/AndroidRuntime( 1120):    at android.os.Handler.<init>(Handler.java:119)
E/AndroidRuntime( 1120):    at android.widget.Toast$TN.<init>(Toast.java:324)
E/AndroidRuntime( 1120):    at android.widget.Toast.<init>(Toast.java:91)
E/AndroidRuntime( 1120):    at android.widget.Toast.makeText(Toast.java:238)
E/AndroidRuntime( 1120):    at org.thoughtcrime.securesms.jobs.GcmRefreshJob.onRun(GcmRefreshJob.java:41)
E/AndroidRuntime( 1120):    at org.whispersystems.jobqueue.JobConsumer.runJob(JobConsumer.java:72)
E/AndroidRuntime( 1120):    at org.whispersystems.jobqueue.JobConsumer.run(JobConsumer.java:46)
E/AppErrorDialog(21625): Failed to get ILowStorageHandle instance

Usability of this fork

Hi,

I have a question about the usability of this fork, do you use it daily? I see that the commit diff is really short (the websocket-reborn branch), so I suppose it is a pretty stable feature. Is it usable for a user that is capable of compiling new version regularly?

(I am stuck with a pretty old version I have compiled myself to ensure I have SMS support, but I really want to upgrade to a new one)

Adding microg Gsm support / switching from websockets ?

Hello @JavaJens and @ALL

First of all, thanks for this websocket-version. I am running 3.3.1 at the moment and you did great work! Really appreciate it.

To the technical situation:

We all know that it might take a long time to have websocket support integrated into Signal. There is a lot of discussion with the Signal developers but they refuse the integration for several reasons. It's unclear at the moment if it will ever be integrated. A pity but fair enough - it's their decision.

I read a talk on newscombiner the other day where Moxie Marlinspike stated that he would be pleased to see a 'API-compatible open source implementation of play services' 1 to make it possible to use signal with GMS without the need to install GAPPS.

Well, there is now good progress in this direction with the project microG GmsCore. This aims to be a 'framework to allow applications designed for Google Play Services to run on systems, where Play Services is not available' 2.

So here's the idea: Websocket support is great and really helpful - no doubt about that. But what about modifying Signal that it uses microg Gsm as an alternative? Maybe as a compiling option. There would be a higher possibility to have this integrated into the main app. Wouldn't this comply with your goal to create a solution for people that do not have proprietary play store installed?
And as far as I can see you are well familiar with adjusting and changing the Signal code - so this might not be a huge thing for you guys.

What do you think about that? I'd really like to read your thoughts about this idea.

Thanks a lot and kind regards.

update signal 3.6.0

Hello,

first i want to thank you all for making a signal version without the need of GCM.
with the websocket version iam able to use signal on my BB10.

iam wondering if its possible to upgrade signal 3.3.1 to a newer version.
as i dont have any experiance with programming iam depinding on you guys to update te to a newer version.

regards

Merge upstream 2.27.0 into websocket-reborn

This needs to be done, I'm too busy to do it right now but when my life settles down, I'll get to it and do it.

alternatively someone else can step up to merge in the new commits, but if nobody does, I'll do it in a week or so

F-Droid repository with builds of WebSocket fork

Just to let you know, I have published experimental F-Droid repository with your WebSocket-based TextSecure fork, it can be found here:

https://fdroid.eutopia.cz

Sources (F-Droid build scripts) for this repo are here:

https://github.com/xmikos/fdroiddata

App ID is still same as original TextSecure (org.thoughtcrime.securesms), so anyone can upgrade from my TextSecure build to this WebSocket fork build without loosing app data (private keys, message history, etc.). I will actively maintain this repository.

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.