Closed Bug 1337647 Opened 7 years ago Closed 6 years ago

Make a prototype of Fennec connecting to Tor network

Categories

(Firefox for Android Graveyard :: General, defect, P3)

defect

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: jhao, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [tor-mobile])

Attachments

(1 file, 1 obsolete file)

We'd like to have a prototype of Fennec connecting to Tor network using NetCipher's OrbotHelper.
Priority: -- → P2
Whiteboard: [tor-mobile]
Since it's just a prototype, I copied OrbotHelper.java and TorServiceUtils.java from https://github.com/guardianproject/NetCipher.  I'm not sure how we actually use third party libraries.
I looked through guardian project's patches in https://github.com/guardianproject/tor-browser/commits/orfox-tor-browser-38.5.0esr-5.5-2 but I couldn't find where it makes Gecko use Orbot as a proxy.  I guess there are probably patches in tor-browser which does that.

Hi, Arthur.  Do you have any idea where that is?
Flags: needinfo?(arthuredelstein)
Flags: needinfo?(arthuredelstein) → needinfo?(amoghbl1)
Hi Amogh -- wondering if you might be able to answer Jonathan's question. Thanks! :)
Thanks, Tom.  Actually I already applied those patches locally, but when I go to http://whatismyipaddress.com, my IP still doesn't change.  I was guessing that those patches are for connections open in Java, but not for connections in Gecko.  I was trying to find how Gecko connections was hooked to Orbot.
Thanks, Tom.  That's it!
Attachment #8834735 - Attachment is obsolete: true
Flags: needinfo?(amoghbl1)
After analyzing the FF for Android codebase, we realize that there are two ways of network communications that take place:
1) Gecko Layer
For the Gecko layer, we set the proxy in preferences and let it get handled there.
Ref: https://github.com/guardianproject/tor-browser/commit/0cd1d08340cd4545d7fd23f20c5857b09ec59adc
There are a bunch of TorBrowser specific settings there, the lines that interest you would be 968-973.
But I would also recommend that you go through other settings just to be sure.

2) Java Layer
These links might be useful:
A network audit of all the FF45 ESR Java code that does any kind of network communications:
https://gitweb.torproject.org/tor-browser-spec.git/commit/?id=208cad5532fc28e797860e8b82446066f5136e8a
Based on the audit, I've made changes to some classes and applied proxy there. Right now, we have it centralized so that it's easy to handle.
Another point to note in the Java layer is that on Orfox, we've moved entirely to ch.boye whereas the last time I checked, FF for Android used two different http clients, not entirely sure about the state of that now though.

Hope this helps, feel free to ask more questions if you have any!
Thanks, Amogh, for the information.  They're helpful.
Blocks: 1357994
Assignee: jonathan → nobody
Status: ASSIGNED → NEW
Priority: P2 → P3
With the new strategy for mobile, this sort of feature is a WONTFIX
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
Product: Firefox for Android → Firefox for Android Graveyard

Thanks, Tom. Actually I already applied those patches locally, but when I go to https://htlmadras.com, my IP still doesn't change. I was guessing that those patches are for connections open in Java, but not for connections in Gecko. I was trying to find how Gecko connections was hooked to Orbot.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: