Bug #15709

Deal with Tor Launcher being integrated into Tor Browser 9.0 and Firefox 68esr possibly removing support for XUL/XPCOM extensions

Added by intrigeri 2018-07-03 16:15:52 . Updated 2019-06-19 12:07:42 .

Status:
Resolved
Priority:
Elevated
Assignee:
anonym
Category:
Tor configuration
Target version:
Start date:
2018-07-03
Due date:
% Done:

30%

Feature Branch:
feature/16356-tor-browser-9.0+force-all-tests
Type of work:
Test
Blueprint:

Starter:
Affected tool:
Tor Launcher
Deliverable for:

Description

For Tor Browser 9.0, based on Firefox 68esr, the plan is to integrate Tor Launcher into Tor Browser, while still allowing us to disable it at runtime, and to run it as a XUL/XPCOM extension. It’s not 100% clear to me if this implies we can still run it as a XUL app as we’ve been doing so far. This work “is planned for 9.0a1 which likely will ship in April”.

And once Tor Browser is ported to Firefox 68esr, we probably won’t be able to run it as a XUL app, since XUL/XPCOM extensions won’t be supported by Firefox anymore. See the dedicated ticket: Bug #16448.

https://trac.torproject.org/projects/tor/wiki/org/meetings/2018MexicoCity/Notes/TBBMeetingDays explains a bit the challenges & goals.

Upstream tickets:


Subtasks


Related issues

Related to Tails - Bug #14555: Migrate to Tor Launcher compatible with Firefox ESR60 Resolved 2017-08-30
Related to Tails - Bug #16448: Tor Launcher: deal with Firefox 68esr removing support for XUL/XPCOM extensions Rejected 2019-02-08
Related to Tails - Feature #15144: Consider migrating from Tor Launcher to anon-connection-wizard Confirmed 2018-01-03
Related to Tails - Bug #17215: Deal with Tor Launcher potentially disappearing entirely Confirmed
Blocks Tails - Feature #16209: Core work: Foundations Team Confirmed

History

#1 Updated by intrigeri 2018-07-03 16:16:07

  • related to Bug #14555: Migrate to Tor Launcher compatible with Firefox ESR60 added

#2 Updated by intrigeri 2018-07-03 16:16:18

  • related to Feature #15144: Consider migrating from Tor Launcher to anon-connection-wizard added

#3 Updated by intrigeri 2018-09-14 07:48:21

  • Target version set to 2019

#4 Updated by intrigeri 2018-10-12 16:24:10

  • Description updated

#5 Updated by intrigeri 2018-10-12 16:26:27

I’ve asked the Tor Browser team what’s their timing for this change is.

#6 Updated by intrigeri 2018-10-15 13:54:45

  • Description updated
  • Target version changed from 2019 to Tails_3.13
  • Parent task set to #16047
  • Type of work changed from Wait to Code

The current goal upstream is to have this done in time for Tor Browser 8.5 (March).

#7 Updated by intrigeri 2018-10-15 13:55:00

#8 Updated by anonym 2019-01-10 10:12:48

#9 Updated by sajolida 2019-01-31 18:47:25

I don’t understand the technicalities but it seems like they still want to make it possible to run it as a XUL app:

https://lists.torproject.org/pipermail/tbb-dev/2019-January/000951.html

#10 Updated by intrigeri 2019-02-06 14:31:24

  • Priority changed from Normal to Elevated
  • Type of work changed from Code to Communicate

Next step: check if this proposal works for us and reply.

#11 Updated by intrigeri 2019-02-06 15:21:15

  • Assignee set to intrigeri

I’ll handle the part about communicating with the TB team.

#13 Updated by intrigeri 2019-02-08 15:40:13

  • Subject changed from Deal with Tor Launcher being ported to a WebExtension to Deal with Tor Launcher being integrated into Tor Browser

#14 Updated by intrigeri 2019-02-08 15:44:19

  • Subject changed from Deal with Tor Launcher being integrated into Tor Browser to Deal with Tor Launcher being integrated into Tor Browser (60esr edition)
  • Description updated

(Clarified the scope of the problem for Tor Browser 8.5 and Tails 3.13.)

#15 Updated by intrigeri 2019-02-08 15:45:53

  • Affected tool set to Tor Launcher

#16 Updated by intrigeri 2019-02-08 15:48:05

  • related to Bug #16448: Tor Launcher: deal with Firefox 68esr removing support for XUL/XPCOM extensions added

#17 Updated by intrigeri 2019-02-08 15:48:28

  • related to deleted (Feature #15144: Consider migrating from Tor Launcher to anon-connection-wizard)

#18 Updated by intrigeri 2019-02-08 15:49:50

  • Description updated

#19 Updated by intrigeri 2019-02-08 15:55:40

sajolida wrote:
> I don’t understand the technicalities but it seems like they still want to make it possible to run it as a XUL app

Indeed. I’ve just reviewed this proposal and replied. At first glance the plan looks good for us, not too hard to implement on our side, and given this will be short-lived (until Bug #16048), we don’t need to bother on creating the perfect implementation.

I’ll handle the communication with Tor Browser folks for now (it’s not clear yet who’ll take care of Feature #16337 and I’m the only one of us who subscribed to the upstream ticket).

Note that they don’t mention “XUL app” and I don’t know if “XUL/XPCOM extension” implies we can run it as a XUL app. I don’t see why not (for 60esr) but as soon as the corresponding changes are ready in a Tor Browser alpha + Tor Launcher Git, we should test this.

#20 Updated by intrigeri 2019-02-08 18:17:25

This is for 3.14 (see email from geko on tails-dev) but I think we should work on this ASAP and not wait for post-3.13.

#21 Updated by intrigeri 2019-02-08 19:51:35

  • Subject changed from Deal with Tor Launcher being integrated into Tor Browser (60esr edition) to Deal with Tor Launcher being integrated into Tor Browser 8.5

#22 Updated by intrigeri 2019-02-09 09:51:23

  • Description updated
  • Target version changed from Tails_3.13 to Tails_3.14
  • Type of work changed from Communicate to Test

So this work upstream is now targeted at Tor Browser 9.0 (Firefox 68). So next steps are:

First, verify my assumption that we won’t be able to run Tor Launcher as a XUL app in Firefox 68 (it still works in Firefox 65). We can test this as soon as Firefox 68 is out (July 9). But we could check Mozilla’s plans right now if we wanted. I don’t plan to do this but I’ll do the bare minimum, i.e. test with Firefox 66 and 67 once they’re out.

Then:

  • If indeed we won’t be able to run Tor Launcher at all, then this ticket becomes: replace Tor Launcher with something else.
  • Else, if we can still run Tor Launcher, then this ticket remains about adjusting our stuff to Tor Launcher integration changes.

#23 Updated by intrigeri 2019-02-09 09:51:29

#24 Updated by intrigeri 2019-02-11 10:29:52

  • Subject changed from Deal with Tor Launcher being integrated into Tor Browser 8.5 to Deal with Tor Launcher being integrated into Tor Browser 9.0

#25 Updated by intrigeri 2019-02-11 10:30:30

  • Subject changed from Deal with Tor Launcher being integrated into Tor Browser 9.0 to Deal with Tor Launcher being integrated into Tor Browser 8.5

#26 Updated by intrigeri 2019-02-11 10:34:47

  • Subject changed from Deal with Tor Launcher being integrated into Tor Browser 8.5 to Deal with Tor Launcher being integrated into Tor Browser 9.0 and Firefox 68esr removing support for XUL/XPCOM extensions

#27 Updated by intrigeri 2019-02-11 10:34:58

  • related to Feature #15144: Consider migrating from Tor Launcher to anon-connection-wizard added

#28 Updated by anonym 2019-02-11 11:11:42

  • Assignee changed from intrigeri to anonym

Even if we won’t be able to run the new Tor Launcher as a XUL app we might be able to run it in a “full” browser dedicated to only Tor Launcher. We might have to put in some amount of work upstream for our “configure then quit” use case (e.g. a “Save settings and quit” button).

Whatever we end up with, let’s make sure it works in Wayland!

#29 Updated by intrigeri 2019-03-12 14:21:00

#30 Updated by intrigeri 2019-03-12 14:21:03

  • blocked by deleted (Feature #15507: Core work 2019Q1: Foundations Team)

#31 Updated by intrigeri 2019-04-05 12:49:35

  • Assignee deleted (anonym)
  • Target version deleted (Tails_3.14)

#32 Updated by anonym 2019-05-09 11:43:28

GeKo pinged me on IRC resulting in an impromptu discussion about Tails vs the integrated Tor Launcher.

So the integration is done by making Tor Launcher into a system add-on (like pdfjs). It’s unclear whether we can run that as a XUL standalone application. If we cannot the approach from comment #28 should work: we run a “full” browser with a dedicated profile where this system add-on enabled, and disable it in all other profiles. To achieve that we might have to add a “disable” pref to the add-on that makes it do nothing when set, because it seems difficult to disable such add-ons on a per-profile basis (according to GeKo, I don’t know the details).

Finally, like mentioned above, we probably will have to do some work to get our “configure then quit” use case covered, e.g. add a pref that only Tails should set which adds a “Save and quit” button that kills the browser.

In short, it doesn’t seem like this will be very scary work, so we can relax until 9.0a1 is out and we can see how it looks in practice.

#33 Updated by intrigeri 2019-05-19 06:25:50

@anonym ACK, thanks for the update! Note that we may have to disable Torbutton in that dedicated browser, which might be tricky due to Feature #16357 (see ongoing discussion on https://trac.torproject.org/projects/tor/ticket/10760 for details, feel free to add you to the CC list and take the lead there).

#34 Updated by intrigeri 2019-05-19 06:48:10

  • Description updated

#35 Updated by intrigeri 2019-05-19 06:53:31

Firefox 68.0a1 still supports running standalone XUL apps (see the tbb-dev thread for details).

#36 Updated by intrigeri 2019-05-23 08:41:16

  • Subject changed from Deal with Tor Launcher being integrated into Tor Browser 9.0 and Firefox 68esr removing support for XUL/XPCOM extensions to Deal with Tor Launcher being integrated into Tor Browser 9.0 and Firefox 68esr possibly removing support for XUL/XPCOM extensions

#37 Updated by intrigeri 2019-05-23 08:42:37

https://people.torproject.org/~gk/builds/9.0a1-build1/ has:

1) Tor Launcher is getting tighter integrated into the browser as a
preparation step for the switch to Firefox 68 ESR. That results in it
not showing up anymore on the about:addons page while still being
available (and we don't need to make a code-signing exception for it
either anymore, which is nice). See the underyling proposal for this
descision for full details.[1]

[…]

[1] https://gitweb.torproject.org/tor-browser-spec.git/tree/proposals/102-integrate-tor-launcher-into-tor-browser.txt

So we could now test how this works for us, in particular wrt. how we use Tor Launcher, how it impacts Tor Browser, and how things go wrt. the Unsafe Browser.

#38 Updated by intrigeri 2019-05-23 08:43:13

  • Target version set to Tails_3.15

I think we should do this test ASAP in order to give the Tor Browser team as much time as we can to help us.

#39 Updated by anonym 2019-05-29 14:15:44

  • Assignee set to anonym

I’ve successfully extracted Tor Launcher from Tor Browser 9.0a1 (it’s located inside Browser/browser/omni.ja) and managed to run it as a standalone XUL application in Tails. All that was needed was moving files around and adjusting some paths.

So, yay, it works! :)

#40 Updated by intrigeri 2019-05-29 16:09:13

> I’ve successfully extracted Tor Launcher from Tor Browser 9.0a1 (it’s located inside Browser/browser/omni.ja) and managed to run it as a standalone XUL application in Tails. All that was needed was moving files around and adjusting some paths.

> So, yay, it works! :)

:)

#41 Updated by anonym 2019-05-29 21:57:51

  • Status changed from Confirmed to In Progress

Applied in changeset commit:tails|af719e9dc1eaafb6d3ffd7ea2e75bae90012c7de.

#42 Updated by anonym 2019-05-30 09:48:04

  • % Done changed from 0 to 30
  • Feature Branch set to feature/16356-tor-browser-9.0

The feature branch has Tor Launcher running as a standalone XUL application, extracted from Tor Browser 9.0a1. My minimal testing indicates that everything works as it should, so as long as standalone XUL support remain in Firefox 68esr, we’re good! \o/

#43 Updated by anonym 2019-05-30 10:03:35

  • Feature Branch changed from feature/16356-tor-browser-9.0 to feature/16356-tor-browser-9.0+force-all-tests

#44 Updated by intrigeri 2019-06-01 05:46:13

  • Status changed from In Progress to Resolved

anonym wrote:
> The feature branch has Tor Launcher running as a standalone XUL application, extracted from Tor Browser 9.0a1. My minimal testing indicates that everything works as it should, so as long as standalone XUL support remain in Firefox 68esr, we’re good! \o/

Yeah! Jenkins agrees so I think we can call this done :)

#45 Updated by anonym 2019-06-19 12:07:42

  • Target version changed from Tails_3.15 to Tails_3.14.1

#46 Updated by intrigeri 2019-11-08 18:13:17

  • related to Bug #17215: Deal with Tor Launcher potentially disappearing entirely added