Hi all,
The next steps for torbutton and tor-launcher will be migrating from the restartless pieces to webextensions. This will be a requirement for the next ESR, and it is already the situation with the current Firefox releases. Also, they must be system add-ons.
Overall, we believe nearly everything torbutton and tor-launcher currently do can be accomplished with webextensions (assuming I remembered all the things they do). The key here is using a "Webextensions Experiment" for extending the Webextensions API for our needs.
https://firefox-source-docs.mozilla.org/toolkit/components/extensions/webext...
This should be enough for interacting with the XPCOM services the extensions currently use.
The one problem we will have is observing the profile-after-change topic. We'll likely need another Firefox patch so we can trigger the current functionality. The main reason we can't achieve this with webextensions is webextensions are run asynchronously, so a webextension won't block the browser start-up progress (needed for TorProcessService in tor-launcher, and parts of torbutton).
In torbutton, we may be able to provide domain isolation using the webRequest.onBeforeRequest event:
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/w...
On this event, we should receive information about the connection, including the ProxyInfo. I wonder if we can use the current implementation in torbutton and overwrite the ProxyInfo object we're given from the request with a new domain-isolated ProxyInfo object. I haven't looked at the Firefox code, so I'm not sure if Firefox will use the modifications or ignore it.
Personally, I think we should begin working on this within the next month or two, and begin testing the new implementation in the alpha series before we start rebasing Tor Brower onto the next ESR.
- Matt
On 12/6/18 3:56 PM, Matthew Finkel wrote:
Hi all,
The next steps for torbutton and tor-launcher will be migrating from the restartless pieces to webextensions. This will be a requirement for the next ESR, and it is already the situation with the current Firefox releases. Also, they must be system add-ons. ...
Does this mean that the idea of building Torbutton and Tor Launcher into Tor Browser will not work? Tell us more about what you learned in Orlando ;)
On Fri, Dec 07, 2018 at 09:15:16AM -0500, Mark Smith wrote:
On 12/6/18 3:56 PM, Matthew Finkel wrote:
Hi all,
The next steps for torbutton and tor-launcher will be migrating from the restartless pieces to webextensions. This will be a requirement for the next ESR, and it is already the situation with the current Firefox releases. Also, they must be system add-ons. ...
Does this mean that the idea of building Torbutton and Tor Launcher into Tor Browser will not work? Tell us more about what you learned in Orlando ;)
No, that should remain the goal. These steps are only for a (possible) stepping stone before we reach that stage.
After I sent this mail and I had another discussion about it, I realized I should've mentioned we should evaluate the effort/time required of migrating the current extensions to webextensions compared with directly moving the functionality into firefox patches. It may be the case moving/reimplementing the the logic in Firefox may be the easier path.
We should take a step back and consider this before we dive into this process.
Matthew Finkel:
On Fri, Dec 07, 2018 at 09:15:16AM -0500, Mark Smith wrote:
On 12/6/18 3:56 PM, Matthew Finkel wrote:
Hi all,
The next steps for torbutton and tor-launcher will be migrating from the restartless pieces to webextensions. This will be a requirement for the next ESR, and it is already the situation with the current Firefox releases. Also, they must be system add-ons. ...
Does this mean that the idea of building Torbutton and Tor Launcher into Tor Browser will not work? Tell us more about what you learned in Orlando ;)
No, that should remain the goal. These steps are only for a (possible) stepping stone before we reach that stage.
After I sent this mail and I had another discussion about it, I realized I should've mentioned we should evaluate the effort/time required of migrating the current extensions to webextensions compared with directly moving the functionality into firefox patches. It may be the case moving/reimplementing the the logic in Firefox may be the easier path.
We should take a step back and consider this before we dive into this process.
We've been in the process of integrating more and more Torbutton functionality into Tor Browser over the years. My sekrit plan has been that we use the current "opportunity" to get rid of the remaining bits of the Torbutton extension and include them directly in the browser. Not sure how this matches to Igor's idea with Torbutton's redesign but hopefully we find a way to align both.
For Tor Launcher I am less sure but we have some time allocated for Dec/Jan so that we can come up with a proper plan and start working on it.
As for the general timeline, I strongly agree that we should be ready with the transition _before_ we do the esr68 update dance.
Georg