Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Push-Service for Custom ROMs without GCM #1106

Closed
SecUpwN opened this issue Mar 9, 2014 · 10 comments
Closed

Push-Service for Custom ROMs without GCM #1106

SecUpwN opened this issue Mar 9, 2014 · 10 comments

Comments

@SecUpwN
Copy link

SecUpwN commented Mar 9, 2014

Dear @moxie0, as much as I enjoy using TextSecure as a complete replacement for the standard SMS app, I am not happy with the registration process for the Push-Service of TextSecure. To be specific, I am running AOKP and TextSecure tells me that registering with the Push-Service is not possible without having the Google PlayStore-App installed. To be very clear about this: Google Play will NEVER EVER gain permission to land on my phone. The way I see it, being required to install Google Play (in my eyes one of the most dangerous privacy-breaking apps out there) just to be able to use the Push-Service of TextSecure (which focuses on PRIVACY) is like a snake biting its own tail. I guess TextSecure utiltizes Google Cloud Messaging (GCM), and as such Google Play is "absolutely necessary", am I right?

Don't get me wrong: Using TextSecure feels awesome. It just does feel that way leaving WhatsApp behind and knowing that TextSecure is being recommended by The Guardian Project and can be safely relied on to protect my data. But having to have Google Play just feels wrong. My intention is to DITCH Google completely (except for Android Custom ROMs) in the long run, not creating yet another tie for myself. So why don't we make an effort to find an alternative for this crappy Google Cloud Messaging?

@L3st3r
Copy link

L3st3r commented Mar 9, 2014

I'm not moxie, but maybe I can help anyway.

I guess TextSecure utiltizes Google Cloud Messaging (GCM), and as such Google Play is "absolutely necessary", am I right?

Yes, that's right. Google Play is at least necessary for PUSH messages, as I understood it.

There is a discussion going on about the dependency on Google Play: #127.

And there are already some efforts on implementing Web Socket support, see #1000 for that.

@SecUpwN
Copy link
Author

SecUpwN commented Mar 9, 2014

Thanks to you @L3st3r for letting me know this is being worked on! Scanning the ongoing discussion I spotted that a PoC with an alternative to GCM had been mentioned - is it available somewhere? If I can grab a bleeding-edge version other than the one featured on GPlay some place else, please let me know.

@L3st3r
Copy link

L3st3r commented Mar 9, 2014

As far as I know, there is only the code at the moment and it isn't fully working yet. But I'm sure it will be announced at #1000 when you can start using it.

BTW: You might want to know that @moxie0 commented on the performance (delay and battery usage) of WebSockets (this is from #127):

Substantially worse than GCM. It won't work well, but it's the only option short of building a worldwide push network.

@moxie0
Copy link
Contributor

moxie0 commented Mar 10, 2014

@SecUpwN We are not idiots, we are aware of GCM's limitations, and we would like to support an alternative. However, there is no alternative push network to switch to.

This is a collaborative open source project, and if you wish to influence such a project's direction, I recommend that you approach it from what you can contribute, not what you demand.

@moxie0 moxie0 closed this as completed Mar 10, 2014
@SecUpwN
Copy link
Author

SecUpwN commented Mar 10, 2014

Dear @moxie0, please accept my sincere apologies and let me clarify that I never intended to "demand" anything. I am thankful for your dedication and the heart blood you put into your projects and would love to see TextSecure be featured on PRISM BREAK, hence I filed an issue: prism-break/prism-break#896. Thank you!

@oiceberg
Copy link

Hi Everybody! Very modestly and respectfully, I would like to share a paragraph that is available in the proprietary software Threema https://shop.threema.ch/ :

"Threema uses Google Cloud Messaging (GCM) to notify the app of new messages in the background. If Google Apps are not installed, you will not be informed of new messages unless you enable polling in the app (the polling interval is fixed at 15 minutes and will cause some additional battery drain and data usage)." (my emphasis)

@moxie0, I read in the mail list your arguments about why the GCM is necessary. Maybe the alternative used by Threema be exactly that you always says about the difficulty to implement a free alternative to GCM. Anyway, I thinked that it could be a possibility: the message goes to the TextSecure database and the user without GCM can activate, himself, the polling to receive all the messages to him available in the cloud.

I'm not sure, but maybe be exactly here the impossibility: maybe the messages sent to GCM be stored in the GCM database, and there is no TextSecure database for messages (just for users etc.). If is it what happens, I apologize for taking your time with this nonsense.

Great Hub, and thanks for all the efforts to make TextSecure what it is! o/

@JavaJens
Copy link

Theoretically the server has support for a database that stores messages
which can be queried by the device or if an active WebSocket connection is
registered are sent over that connection.
However as far as I know the deployed server doesn't have this
functionality enabled and the client doesn't do polling because it's
resource hungry monster ;)

@moxie0 are you thinking about enabling WebSockets as soon as TheBlueMatt
is further along with the Chrome extension? And is his server federated
with yours?

@reezer
Copy link

reezer commented Mar 31, 2014

Speaking about GCM alternatives. I didn't really dive too deep into this yet, but OpenMobster might provide one:
https://code.google.com/p/openmobster/wiki/learnmore

@metbril
Copy link

metbril commented Jul 10, 2015

Another GCM alternative would be Pushy.

https://pushy.me

Which recently got implemented by Fastmail in their android app.

@Rui-Santos
Copy link

What about http://www.pushlets.com/ ? It's open source. And old. But maybe somewhere to get ideas from.
The whitepaper: http://www.pushlets.com/doc/whitepaper-toc.html

You should also take a look at MQTT (http://mqtt.org/). There is a Java library that is compatible with Android; the Eclipse Paho Client (http://www.eclipse.org/paho/). In very simplistic terms, MQTT is an asynchronous publish/subscribe mechanism that is well suited for what TS needs. It runs on top of TCP/IP. It needs to use a MQTT broker on the server side i.e. mosquitto (http://mosquitto.org) or RSMB (Really Small Message Broker)

@signalapp signalapp locked and limited conversation to collaborators Dec 27, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

8 participants