[tor-bugs] #30169 [Applications/Tor Browser]: Create repos on our infrastructure for TOPL related code
Tor Bug Tracker & Wiki
blackhole at torproject.org
Tue Sep 10 19:18:29 UTC 2019
#30169: Create repos on our infrastructure for TOPL related code
-------------------------------------------------+-------------------------
Reporter: gk | Owner: tbb-
| team
Type: task | Status: new
Priority: High | Milestone:
Component: Applications/Tor Browser | Version:
Severity: Normal | Resolution:
Keywords: tbb-mobile, tbb-8.5, | Actual Points:
TorBrowserTeam201905 |
Parent ID: | Points:
Reviewer: | Sponsor:
-------------------------------------------------+-------------------------
Comment (by sisbell):
Replying to [comment:7 eighthave]:
> Tthe basic idea is to make an Android-native TorService, which is a
subclass of android.app.Service and loads tor daemon as a shared library,
and starts it via JNI methods. This should be pretty close to how iOS
apps use tor. Then that TorService should then plug into Orbot, Tor
Browser, Briar, etc. Then based on that, I'll make a standalone, dead
simple "TorServices" app that only provides Tor. No PTs, HSs, etc., just
a tor daemon linked in as a shared library, providing a SOCKS and HTTP
CONNECT proxy via tor. So I won't really be working on the control port
stuff at all.
>
> Then I'll be working on the apps choosing which tor provider to use,
since we'll have a new TorServices, super minimal app, so apps that don't
include Tor will have to figure out how to use Orbot and/or TorServices.
Then that work will hopefully be extended into sharing tor between apps,
e.g. letting Briar, Tor Browser, etc share the tor SOCKS proxy to other
apps that want to use it. That would happen via Android mechanisms like
Intents to manage the discovery of SOCKS ports.
Thanks. This makes it clearer. Some basic ideas for discussion and further
consideration: I think the method that a TorService replaces is the
''OnionProxyManager.start'' method. This method takes three steps. It
spawns tor, it waits for the control connection to start up and then it
sends some tor control commands. TorService would replace these first two
steps (from my understanding).
''OnionProxyManager.spawnTorProcess'' method (currently private). This
basically starts up tor from the command line.
''OnionProxyManager.waitForControlPortFileCreation'' would be the other
potential method that TorService replaces, since I assume that that will
be part of the bootstrap.
We can make the OnionProxyManager.start method abstract, with different
implementations for desktop and for Android. I'm sure there is more that
would going on here since TorService is an AndroidService, with commands
and/or broadcast it needs to receive. But that's the basic idea.
https://github.com/thaliproject/Tor_Onion_Proxy_Library/blob/master/universal/src/main/java/com/msopentech/thali/toronionproxy/OnionProxyManager.java
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/30169#comment:8>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list