[guardian-dev] Thali, Orbot and requests for help

Yaron Goland yarong at microsoft.com
Wed Jun 4 18:23:18 EDT 2014


First, thanks for responding! I really do appreciate it. Orbot is absolutely critical for our project so having someone to discuss issues with is a big help.

Second, the first thing I did was check out Orbot.java. Specifically handleIntents and related code. What the code seems to say is that if we use Orbot our experience will be:

1) Our app will use helper to see if Orbot is there, if not, use Helper to get the user to install Orbot.
2) Send Orbot the start HS service intent with our port
3) Have the user get a UX asking them to confirm from Orbot
4) Ask the user if they could please go to Orbot and look up the hidden service address and maybe copy and paste it into some field for us since there doesn't appear to be a programmatic way to get at it from our app (within Orbot's code I can see pref_hs_hostname and getHiddenServiceHostname but those aren't available remotely)
5) Hope that no other app starts the hidden service since it would take away our hidden service

I hope you can see why this isn't exactly the experience we are looking for. 

But the real question is - what does Orbot want to do?

Does it want to remain a stand alone APK and provide some kind of more sophisticated intents based system to allow services to start and stop their own hidden services without interfering with each other or requiring user permission and support discovering the hidden service address their app has been assigned?

Does it want to become a library that apps can include and get provided with Tor functionality directly? I realize that something like Orchid can handle the client side of this but so far I haven't found anything outside of the Tor binary that handles hosting hidden services.

Help!

   Thanks,

     Yaron        

________________________________________
From: Nathan of Guardian <nathan at guardianproject.info>
Sent: Wednesday, June 04, 2014 9:06 AM
To: Yaron Goland; guardian-dev at lists.mayfirst.org
Subject: Re: [guardian-dev] Thali, Orbot and requests for help

Sorry busy week. Will respond shortly. Mainly checkout the Intent calls in Orbot.java

On June 4, 2014 11:38:01 AM EDT, Yaron Goland <yarong at microsoft.com> wrote:
>Um... anyone?
>
>
>________________________________
>From: Yaron Goland
>Sent: Monday, June 02, 2014 4:18 PM
>To: guardian-dev at lists.mayfirst.org
>Subject: Thali, Orbot and requests for help
>
>
>I'm going to make the wacky assumption that many people on this list
>are also on Tor Talk so rather than waste more electrons I'll just link
>to my introduction for Thali that I posted there -
>https://lists.torproject.org/pipermail/tor-talk/2014-May/033112.html
>
>
>A core part of Thali is that we run a background service on Android
>called the Thali Device Hub (TDH). The TDH is really just an embedded
>CouchDB server that accepts connections over mutual SSL auth and has
>some fun ACL logic, battery management and other logic. But the TDH is
>intended to be reached as a Tor hidden service.
>
>
>I started to work with Orbot and ran into some issues I really need
>help with.
>
>
>Issue #1 - How do I programmatically find the hidden service's name? -
>Near as I can tell there is no way for the TDH to programmatically
>figure out what the local hidden service's name is. I looked at
>NetCipher/OrbotHelper.java and I don't see any mechanism to retrieve
>the hidden service's .onion address. I dug around the Orbot code a bit
>and I could only find the hidden service name accessed via a shared
>preference stored in Orbot's context. I couldn't actually find a
>programmatic way for the TDH to ask for the hidden service name. The
>best I can come up with right now is to ask the user to please go over
>to Orbot and copy the onion name and paste it in the TDH. Obviously
>that isn't the best user experience so I figure I'm just slow and not
>finding the right way.
>
>
>Issue #2 - How does Orbot handle multiple hidden services? - Ideally we
>would live in a happy world where people can easily run a hidden
>service where and when necessary and appropriate. So this means that
>different apps could run their own hidden services without interfering
>with each other. But right now it looks like Orbot only supports having
>a single hidden service mapped to a single port on the whole handset.
>So if there are two apps that need hidden services then I guess who
>ever asks first wins? Is this by design or am I missing something?
>
>
>Thanks!
>
>
>            Yaron
>
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Guardian-dev mailing list
>
>Post: Guardian-dev at lists.mayfirst.org
>List info: https://lists.mayfirst.org/mailman/listinfo/guardian-dev
>
>To Unsubscribe
>        Send email to:  Guardian-dev-unsubscribe at lists.mayfirst.org
>Or visit:
>https://lists.mayfirst.org/mailman/options/guardian-dev/nathan%40guardianproject.info
>
>You are subscribed as: nathan at guardianproject.info



More information about the Guardian-dev mailing list