Android App for a secure communication

Android specific usage questions

Android App for a secure communication

Postby zunami » Fri Oct 05, 2012 5:15 am

Hello!

i know about this Android Client https://github.com/electron128/RetroShare-Android-Client
but that's not what I'm looking

I'm looking for something similar to this:
http://retromessenger.sourceforge.net/

I am looking for a simple messenger of the communication is encrypted. with the messenger I want to download any data. it should serve purely for communication in a secure network.

sms wahtsapp and other insecure because they have to be purchased from third parties.
zunami
 
Posts: 6
Joined: Sat Sep 29, 2012 8:16 am

Re: Android App for a secure communication

Postby fallada » Fri Oct 05, 2012 11:45 pm

I would also like this. As far as I see it, one would have to:
* Reimplement the core (DHT, Authentication) in Java
* Take care of the mobile-standby and wake up the device via google push if a message is incoming

Also a mobile can be in various networks and behind NAT. If enough participants open their app for relaying (TURN), that should be managable. For chat messages bandwith should not be an issue.
fallada
 
Posts: 2
Joined: Fri Oct 05, 2012 11:36 pm

Re: Android App for a secure communication

Postby fallada » Tue Oct 09, 2012 3:54 pm

Hi,

I played a bit with the DHT and I have some questions. Maybe a developer from retroshare can help?

1. In Retroshare I see beside the DHT: "432 (18.9 M)". So this means I have 432 Retroshare nodes and 18.9 million other nodes? I really need to keep 18.9 million nodes in my dht-buckets? Isn't that a lot of memory? Maybe too much traffic for the android device...
2. I saw the user-agent "BD02RS51" for retroshare. Do you handle these nodes different in your DHT layer? Or do you act 100% the same as a bittorrent client?
3. You are only using "find_nodes" right? The "get_peers" query is only for the bittorrent filesharing and does not have to be implemented?

If you can point me to some documentation I would be very thankfull. Right now I am just using http://bittorrent.org/beps/bep_0005.html and my local retroshare-client as a test-node. Also if you can point me to the right place in the repository where I can see how you do the DHT it would be cool.

Daniel
fallada
 
Posts: 2
Joined: Fri Oct 05, 2012 11:36 pm

Re: Android App for a secure communication

Postby defnax » Tue Oct 09, 2012 7:57 pm

check the libbitdht code, there you find the answers.
you can check the example codes

bdexample.cc: and bdhandler.cc
Code: Select all
#include "bitdht/bdiface.h"
#include "bitdht/bdstddht.h"
#include "bdhandler.h"

int main(int argc, char **argv)
{

   /* startup dht : with a random id! */
        bdNodeId ownId;
        bdStdRandomNodeId(&ownId);

   uint16_t port = 6775;
   std::string appId = "exId";
   std::string bootstrapfile = "bdboot.txt";

   BitDhtHandler dht(&ownId, port, appId, bootstrapfile);

   /* run your program */
   while(1)
   {
           bdNodeId searchId;
           bdStdRandomNodeId(&searchId);

      dht.FindNode(&searchId);

      sleep(180);

      dht.DropNode(&searchId);
   }

   return 1;
}


retroshare-libbitdht.tar.gz
User avatar
defnax
Site Admin
 
Posts: 446
Joined: Fri Oct 24, 2008 10:28 pm

Re: Android App for a secure communication

Postby G10h4ck » Wed Oct 17, 2012 9:55 am

I am interested in developing this!

I have C++ skill and I am doing an university course on how to program for android, at the end of the course we must do an android application to pass the exam, I know that do this for an university course is quite big but I love so much the idea of communicating securely from my android phone, so do it for the exam is secondary to me.

I have not time at moment i'll write more soon!

See you
G10h4ck
 
Posts: 10
Joined: Mon Mar 05, 2012 6:55 pm

Re: Android App for a secure communication

Postby G10h4ck » Wed Oct 17, 2012 12:34 pm

We have to avoid the overead due to passing object from java to C++ and vice versa as much as possible, so what i am thinking is to do a little daemon in C++ on top of libretroshare, that talk with an android serveces trought a socket, the DHT stuff i think is quite battery draining so i think to keep it disabled by default

> Reimplement the core (DHT, Authentication) in Java
I think it is not necessary

> Take care of the mobile-standby and wake up the device via google push if a message is incoming
That's a good point to save battery in the descripted setup the android services should "wake" somehow the C++ daemon each time a google push is received

The java work will be more on the contacts list integration, configuration activity, little daemon talker services, and content provider for integration so in your contact list will appear call trought retroshare or send message trought retroshare
G10h4ck
 
Posts: 10
Joined: Mon Mar 05, 2012 6:55 pm

Re: Android App for a secure communication

Postby neagix » Sun Dec 15, 2013 4:27 pm

I agree, we need RetroMessenger on Android!

this would be a killer application for adoption. The available android app that connects to an existing server via SSH is not The Thing (TM)
neagix
 
Posts: 17
Joined: Sun Dec 15, 2013 3:12 pm

Re: Android App for a secure communication

Postby neagix » Sun Dec 15, 2013 4:32 pm

G10h4ck wrote:We have to avoid the overead due to passing object from java to C++ and vice versa as much as possible, so what i am thinking is to do a little daemon in C++ on top of libretroshare, that talk with an android serveces trought a socket, the DHT stuff i think is quite battery draining so i think to keep it disabled by default

Can you elaborate more on that? Could it work without DHT at all? If DHT is not there, then a central server would be needed (with related security weakening concerns)?
I agree that DHT could be a battery killer, but I don't get how one could achieve an IM functionality without DHT and without a central server.

G10h4ck wrote:The java work will be more on the contacts list integration, configuration activity, little daemon talker services, and content provider for integration so in your contact list will appear call trought retroshare or send message trought retroshare

This looks like a perfect task for new developers with Android skills, as it would be about UI design and interaction
neagix
 
Posts: 17
Joined: Sun Dec 15, 2013 3:12 pm

Re: Android App for a secure communication

Postby electron » Fri Dec 20, 2013 7:16 pm

neagix wrote:Can you elaborate more on that? Could it work without DHT at all?

The DHT is used for two things:
- find out IP of friends
- go through NATs
The DHT itself is not the problem. You can run the DHT for 5 mins, get a IP and quit. The problem is the whole Retroshare concept of being decentralized. When running from the mains, it is not a big deal to be connected to all the friends all the time. But on mobile phones you want Retroshare to sleep as much as possible. When the mobile Phone wakes up, it should only connect to one peer to check for new messages and then sleep again. For this it would be good to have a 24/7 node at home. I want Retroshare to run on small boxes like freedombox or a raspberry pi with arkOS.
electron
 
Posts: 96
Joined: Sun Aug 12, 2012 9:39 am

Re: Android App for a secure communication

Postby neagix » Sun Dec 22, 2013 9:38 pm

electron wrote:
neagix wrote:Can you elaborate more on that? Could it work without DHT at all?

The DHT is used for two things:
- find out IP of friends
- go through NATs
The DHT itself is not the problem. You can run the DHT for 5 mins, get a IP and quit. The problem is the whole Retroshare concept of being decentralized. When running from the mains, it is not a big deal to be connected to all the friends all the time. But on mobile phones you want Retroshare to sleep as much as possible. When the mobile Phone wakes up, it should only connect to one peer to check for new messages and then sleep again. For this it would be good to have a 24/7 node at home. I want Retroshare to run on small boxes like freedombox or a raspberry pi with arkOS.

Ok, I see where you stand, and I could do the same, but this is a different use-case than the one I was thinking about: usable for everybody without sucking too much battery. Perhaps it's not possible, but I'd like to frame the problem in its minimum terms
neagix
 
Posts: 17
Joined: Sun Dec 15, 2013 3:12 pm

Next

Return to RetroShare for Android

Who is online

Users browsing this forum: No registered users and 1 guest

cron