[guardian-dev] how to do clean tor integration in Orfox

Amogh Pradeep amoghbl1 at gmail.com
Fri Sep 18 13:22:29 EDT 2015


> On Sep 18, 2015, at 10:45 PM, Nathan of Guardian <nathan at guardianproject.info> wrote:
> 
> 
> 
> On Fri, Sep 18, 2015, at 01:06 PM, Amogh Pradeep wrote:
>> 
>>> On Sep 17, 2015, at 6:52 PM, Hans-Christoph Steiner <hans at guardianproject.info <mailto:hans at guardianproject.info>> wrote:
>>> 
>>> 
>>> Orfox was working pretty well in general as a browser.  Amogh added NetCipher
>>> to get the automatic Tor starting.  That started Orbot fine, but Orfox errored
>>> out on any websites that it tried to load while waiting for Orbot to start
>>> Tor.  So I implemented an approach that makes the orbot starting stuff
>>> transparent, and tries to make Orfox transparently hold loading any pages
>>> until Tor is ready.  This used the internal Fennec event "Tab:Load".  The
>>> problem with that approach is that the Fennec UI blocks and waits for the
>>> Gecko engine to respond to any "Tab:Load" messages that have been sent.
>> I agree that we need to make major UI changes to integrate the two
>> applications properly.
>> I’d be able to implement it if someone gave me a clear idea on what
>> exactly to do, UI wise.
> 
> I strongly disagree that we need to make major UI changes, because once
> we do that, it becomes a much bigger problem to maintain and update
> Orfox.
That is a valid point. Maintenance
> 
> The problem you are trying to deal with is one that happens rarely for
> the typical Orbot user. Most people keep Orbot running all of the time
> in the background on their phone. This is how a typical VPN is used as
> well. They don't selectively start and stop it, and if they did, that
> would create a pretty poor user experience based on the time it takes to
> boostrap into the Tor network.
> 
>>> 
>>> I also tried queuing incoming Intents that cause a web page to be loaded, but
>>> that only works for new URLs coming in.  If Orfox is not running, then it is
>>> started and wants to load a few tabs from the previous session, those will all
>>> show the failure to connect page since they are not being started by Intents,
>>> but rather the internal Tab:Load messages.
>>> 
>>> I also thought about just going back to the old Orbot start Intent that
>>> launched Orbot itself, but upon thinking about that, I think it would really
>>> handle error conditions badly, like when Orbot fails to start properly,
>>> because going to Orfox would always just redirect to Orbot.
>>> 
>>> Now, I'm thinking the best approach includes two key pieces:
>>> 
>>> * remove the Tab:Load queuing that is there now, and switch back to the Intent
>>> queuing method I had going before.
>>> 
>>> * update the "proxy connection failed" page so that it shows the Tor status
>>> (OFF/STARTING/ON/STOPPING)  That page will also include the "Try Again" button
>>> that is there.  Also, when STATUS_ON is received from Orbot, that page can
>>> automatically try again.  We should probably also add a button that brings up
>>> the Orbot main screen so that users can easily troubleshoot the Tor connection
>>> in Orbot.
>> I think this would be awesome. If we could redirect to a help page in
>> case the proxy connection isn’t fine (Orbot isn’t fine) and we help the
>> user troubleshoot on that page, it would be a nice UX.
> 
> This sounds like a good small change that we could manage.

I guess managing this one page would be the best solution then, that shouldn’t be too hard to maintain either.

> 
> 
> --
>  Nathan of Guardian
>  nathan at guardianproject.info
> _______________________________________________
> List info: https://lists.mayfirst.org/mailman/listinfo/guardian-dev
> To unsubscribe, email:  guardian-dev-unsubscribe at lists.mayfirst.org


PS: Sorry for the triple reply for the earlier mail, I had email client problems!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.mayfirst.org/pipermail/guardian-dev/attachments/20150918/eda94879/attachment.sig>


More information about the guardian-dev mailing list