Skip to content
Snippets Groups Projects
  • View options
    • View options
  • Attributes

    Activity

    • All activity
    • Comments only
    • History only
    • Newest first
    • Oldest first
    • Georg Koppen

      Shane: could you take a look at that?

      Trac:
      Cc: igt0 to igt0, sisbell

    • Georg Koppen

      Trac:
      Parent: #24856 (moved) to N/A

    • Georg Koppen

      Moving tickets to October

      Trac:
      Keywords: TorBrowserTeam201809 deleted, TorBrowserTeam201810 added

    • Georg Koppen

      Moving our tickets to November.

      Trac:
      Keywords: TorBrowserTeam201810 deleted, TorBrowserTeam201811 added

      The Android part of this project is dependent on https://github.com/n8fr8/tor-android for the tor binaries. Will this be the official source of tor binaries or should we add android support to projects/tor?

    • Georg Koppen

      Trac:
      Cc: igt0, sisbell to igt0, sisbell, sysrqb

      We should cleanup the OnionProxyManager class. It loops/sleeps as it probes the port for bootstrap messages. This can be error prone and also slows down the bootstrap process significantly.

    • Pili Guerra

      Trac:
      Sponsor: N/A to Sponsor8

    • Georg Koppen

      Trac:
      Priority: Medium to High

      One area we should discuss is breaking out the Android tor installer from tor-onion-proxy/orbot.  An Android installer could be a separate Android project library and would be related to #28704 (moved) which creates the native libraries.

    • Georg Koppen

      Moving our tickets to December.

      Trac:
      Keywords: TorBrowserTeam201811 deleted, TorBrowserTeam201812 added

    • Georg Koppen

      Setting tag for third Tor Browser for Android alpha milestone.

      Trac:
      Keywords: N/A deleted, TBA-a3 added

    • Georg Koppen

      We are beyond TBA-a2, TBA-a3 is the new black.

      Trac:
      Keywords: TBA-a2 deleted, N/A added

    • Georg Koppen

      Trac:
      Priority: High to Very High

      Evaluation:

      1. Tor Installation: Tor Onion Proxy library is using tor-android-binary - Who is going to install the tor binary? Orbot or Tor Onion Proxy Libray. If orbot installs, we will need to configure the onion proxy to use those locations for tor files/libraries.
      2. Settings Screen: there is no settings screen: configure ports, delete/add onion addresses [these features need to be defined]
      3. Starting Proxy: This is a simple operation to start but we need to display the startup logs to the user. We also need to define UI to handle things like restart or shutdown.
      4. Stability: Its workable for an alpha, but we should cleanup up the threading and socket connections

      In summary: this is not a simply a drop-in. It will need a UI defined and built but core functionality is all there. Suggest cleanup of threading before a production release.

      Trac:
      Status: new to needs_review

    • Georg Koppen

      Let's add some evaluation as well for what we need to do to get Pluggable Transports integrated and running with this library.

      Trac:
      Status: needs_review to new

      Replying to sisbell:

      Evaluation:

      1. Tor Installation: Tor Onion Proxy library is using tor-android-binary - Who is going to install the tor binary? Orbot or Tor Onion Proxy Libray. If orbot installs, we will need to configure the onion proxy to use those locations for tor files/libraries.

      We'd use this instead of Orbot. This library would completely replace our Orbot implementation.

      1. Settings Screen: there is no settings screen: configure ports, delete/add onion addresses [these features need to be defined]

      Right. We'll need to create our own UI for Orbot and TOPL, so I don't consider this a blocker.

      1. Starting Proxy: This is a simple operation to start but we need to display the startup logs to the user. We also need to define UI to handle things like restart or shutdown.
      2. Stability: Its workable for an alpha, but we should cleanup up the threading and socket connections

      This is what I'm primarily worried about. Is the code quality where we need it. Is it tested? Is the code safe (for some value of safe)? With Orbot, we weren't exposing our users to new code (because Orbot was previously a dependency). If we use TOPL then we should be confident this won't be worse.

      In summary: this is not a simply a drop-in. It will need a UI defined and built but core functionality is all there. Suggest cleanup of threading before a production release.

      Can you estimate how much time this will require? Would we need to re-write much of the code and redesign it?

      Replying to sysrqb:

      Replying to sisbell:

      Evaluation:

      1. Tor Installation: Tor Onion Proxy library is using tor-android-binary - Who is going to install the tor binary? Orbot or Tor Onion Proxy Libray. If orbot installs, we will need to configure the onion proxy to use those locations for tor files/libraries.

      We'd use this instead of Orbot. This library would completely replace our Orbot implementation.

      1. Settings Screen: there is no settings screen: configure ports, delete/add onion addresses [these features need to be defined]

      Right. We'll need to create our own UI for Orbot and TOPL, so I don't consider this a blocker.

      1. Starting Proxy: This is a simple operation to start but we need to display the startup logs to the user. We also need to define UI to handle things like restart or shutdown.
      2. Stability: Its workable for an alpha, but we should cleanup up the threading and socket connections

      This is what I'm primarily worried about. Is the code quality where we need it. Is it tested? Is the code safe (for some value of safe)? With Orbot, we weren't exposing our users to new code (because Orbot was previously a dependency). If we use TOPL then we should be confident this won't be worse. I tested it back in February of this year and it works. While working on the code, I didn't see anything jumping out as unsafe. It's straight-forward.

      In summary: this is not a simply a drop-in. It will need a UI defined and built but core functionality is all there. Suggest cleanup of threading before a production release.

      Can you estimate how much time this will require? Would we need to re-write much of the code and redesign it?

      Its no more than one week to cleanup threading and the other async handling. So not much of the code would need to be re-written. I'm seeing TOPL library as more of a replacement for orbotservice.

      So far I see we need to bring in Orbot app features (not complete list)

      1. Build our pluggable transports (this is currently handled as part of orbot dependency)
      2. Transport lifecycle (start/stop)
      3. Onboarding flow
      4. Cookie management
      5. Hidden services management
      6. Additional permissions handling
      7. UI for bootstrap
      8. Tor, transports and other binary installations (some of this is already included in TOPL)
      9. Tor lifecycle/bootstrap (already there but needs some modification)

      We can break this into service components and front-end UI components.

      its hard to give exact estimate without going through full list of features first. Here is an initial estimate

      • Bring TOPL inline with orbotservice - 1 week
      • Pluggable transport build - ??? needs more investigation
      • Re-write of Orbot UI and providers - 3 weeks

      So best case would be about one-man-month. If we wanted to be keep Orbot but just integrate TOPL and remove orbotservice, we would be looking at more like 2 weeks.