evilcorpltd / aTox

Reasonable Tox client for Android
GNU General Public License v3.0
374 stars 60 forks source link

Feature request: add push notification service, possibly sef-hosted #358

Open Klagio opened 4 years ago

Klagio commented 4 years ago

Something on the line of Mattermost (or anything else that works), that would help in not needing to both party to be online at the same time in order to start a message chat or voice chat

https://developers.mattermost.com/contribute/mobile/push-notifications/service/

Klagio commented 4 years ago

As a possible workaround, maybe using an MQTT server?

I do have a self-hosted MQTT server (is pretty easy to have), so all friends could connect to the MQTT server and get the notification (message, phone call, attachment etc..)

The Atox client (of the sender) has just to publish to the MQTT server what is doing (messaging a specific TOX ID, calling a specific TOX ID) ...

The above should be relatively easy to implement.

Who does not want to have a self hosted MQTT server it can be used popular cloudmqtt .. of course not totally private, but it is used only to say that two TOX ID are communicating, not the actual message (or voice )

Nokia808 commented 4 years ago

@robinlinden Hi dear developer. I'm not programmer but I know that "push notification" is a centralized server which opposite to nature of Tox protocol ! It will undermine the Tox client ! So, it is better not to implement it at all .....

Can you kindly explain what is "self hosted MQTT server" ? Do you mean that user should build a server by himself ?

robinlinden commented 4 years ago

I think the request is something like

  1. User hosts a mqtt server
  2. aTox (you) subscribes to mqtt messages and goes to sleep
  3. aTox (friend) pings your mqtt server which wakes your phone up

I think using doing something like https://github.com/envsh/tox-homeserver is far more realistic and secure. That project runs the actual Tox core for your client on a server/desktop you own, and your phone speaks with that. That way you control your own Tox node and your phone can do something like a long-lived TCP-connection (or use one of many existing projects) for a kind of push messages. Then your phone can go to sleep and doesn't have to deal with onion routing or keepalive pings. A lot less data and battery used on your phone, but the phone itself doesn't run Tox.

Klagio commented 4 years ago

I think the request is something like

  1. User hosts a mqtt server
  2. aTox (you) subscribes to mqtt messages and goes to sleep
  3. aTox (friend) pings your mqtt server which wakes your phone up

I think using doing something like https://github.com/envsh/tox-homeserver is far more realistic and secure. That project runs the actual Tox core for your client on a server/desktop you own, and your phone speaks with that. That way you control your own Tox node and your phone can do something like a long-lived TCP-connection (or use one of many existing projects) for a kind of push messages. Then your phone can go to sleep and doesn't have to deal with onion routing or keepalive pings. A lot less data and battery used on your phone, but the phone itself doesn't run Tox.

thats cool, I will try it

Nokia808 commented 4 years ago

@robinlinden Dear - though I should asking developer of "tox-homeserver" - I understood only 1/2 ! What I did not understood are: 1) after run the tox-homeserver on my laptop, by which mobile applications can I communicate with it? By aTox or TRIFA ? or by what ? 2) I see on tox-honeserver release section an apk package ! What is this ? To run tox-homeserver from mobile or it is a mobile Tox client like aTox or TRIFA ? 3) on tox-homeserver repository home page there is "Web client (demo)". Is this how to communicate with tox-homeserver from within mobile (use mobile browser) ?

robinlinden commented 4 years ago

It was just thoughts on a possible future feature for aTox, I don't think any mobile clients aside from the ones in the tox-homeserver repo actually work with the homeserver idea yet.

I haven't tested it too much, so if you have questions about the tox-homeserver project you'll have to ask in that repo. :P

Klagio commented 4 years ago

It was just thoughts on a possible future feature for aTox, I don't think any mobile clients aside from the ones in the tox-homeserver repo actually work with the homeserver idea yet.

I haven't tested it too much, so if you have questions about the tox-homeserver project you'll have to ask in that repo. :P

Ohh ok,

That would be TOP TOP application:

lpslp commented 1 year ago

Just as a thought here are https://code.briarproject.org/briar/briar-mailbox some realisation of "same" ideas. And for user side it is interesting because it developed with thoughts in the background that "it must be simple" - for example one of idea is "for self hosting" can be used any android phone wich droped anywhere with wifi internet and for host it self can be started with "one button". From user no need learn shell commands in busybox or something else - just like other phone apps - simple run and you have your own hidden server (just connect it to power)

zoff99 commented 1 year ago

ToxProxy does exactly what https://code.briarproject.org/briar/briar-mailbox does, but for tox. It's still in beta though.

it was featured at ToxCon2019: https://github.com/zoff99/ToxCon2019/blob/master/slides/toxcon_2019_ToxProxy.pdf

robinlinden commented 1 year ago

ToxProxy does exactly what https://code.briarproject.org/briar/briar-mailbox does, but for tox. It's still in beta though.

it was featured at ToxCon2019: https://github.com/zoff99/ToxCon2019/blob/master/slides/toxcon_2019_ToxProxy.pdf

@zoff99 I've warned you before about recommending your weird forks of things in this repo without properly informing users about the IP-leaks and unreviewed forks of c-toxcore.