Opened 3 years ago

Closed 3 years ago

#22499 closed task (fixed)

Include obfsproxy and fteproxy pluggable transports in tor-browser-build.git

Reported by: boklm Owned by: tbb-team
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords: TorBrowserTeam201708, tbb-rbm
Cc: dcf, mcs, kpdyer Actual Points:
Parent ID: #17379 Points:
Reviewer: Sponsor:


The build of the obfsproxy and fteproxy pluggable transports have not yet been converted to the new build system.

We should decide if we want to keep them, and convert them to the new build system, or if we want to not include them in Tor Browser anymore.

obfsproxy can be replaced by obfs4.

Child Tickets

Change History (12)

comment:2 Changed 3 years ago by mcs

Cc: mcs added

comment:3 Changed 3 years ago by boklm

Cc: kpdyer added

The build of obfsproxy and fteproxy is quite complex as it includes many dependencies, especially for the Windows build where we have to use py2exe with wine, so it will require some work to convert that to the new build system. Given the small number of users, it is not clear that we should spend the time to do it.

dcf, kpdyer: do you have an opinion about this?

comment:4 Changed 3 years ago by kpdyer

I, of course, would like fte to remain in Tor. However, I don't have any time to devote to converting it to the new build process.

Can you roughly describe the "new" build process? Do we have to keep py2exe? Maybe there's a different/easier way to build fteproxy?

comment:5 Changed 3 years ago by dcf

For reference, here are notes from when obfsproxy was ported to the Gitian-based build system initially, in 2013:

I would prefer to keep FTE in the browser. I know how hard it was to get Python windows builds going, though. As I remember, linux and mac were pretty easy, but Windows was really hard, requiring for example building under Wine (the right version of which was not in deb repositories, etc., etc.).

Currently FTE is only included in the linux and windows builds because of a packaging bug on mac: #18495 (also #21343 which removed FTE dependencies from the mac build).

A few users noticed on the blog when FTE disappeared from the mac builds:

  • Tor Browser 6.0.3 "How many Pluggable transports are there? The Torproject site shows 'FTE' but I don't have that trnasport."
  • Tor Browser 6.0.6 "On a Mac OS transport meek-azure does not work and the transport FTE is stil mising."
  • Tor Browser 6.0.7 "It is missing the transport FTE and scramblesuit yet scramblesuit is shown in the Torbrowser."
  • Tor Browser 6.5.1 "My Mac's torbrowser does not have the FTE transports ?"

comment:6 Changed 3 years ago by gk

Keywords: TorBrowserTeam201707 added; TorBrowserTeam201706 removed

Moving Tickets to July 2017.

comment:7 Changed 3 years ago by gk

Status: newneeds_information

boklm: How much time do you think would cost this conversion? One additional benefit I would see in doing it would be the option to test alpha building with a mixed rbm/Gitian setup before switching to rbm (it seems to me rbm- and Gitian-built bundles should have the same SHA-256 sums in that case). That way we might find harder to spot reproducibility issues while using rbm earlier (if there are any) and in a more controlled fashion.

comment:8 Changed 3 years ago by boklm

I am not sure how much time this conversion would take, but maybe it is not that much. Being able to compare builds from rbm and Gitian sounds like a good idea, to make sure nothing was forgotten.

comment:9 Changed 3 years ago by boklm

Summary: Decide what we want to do with python obfsproxy and fteproxy pluggable transportsInclude obfsproxy and fteproxy pluggable transports in tor-browser-build.git

comment:10 Changed 3 years ago by gk

Keywords: TorBrowserTeam201708 added; TorBrowserTeam201707 removed

Moving our Tickets to August.

comment:11 Changed 3 years ago by boklm

Keywords: tbb-rbm added

comment:12 in reply to:  5 Changed 3 years ago by boklm

Resolution: fixed
Status: needs_informationclosed

This is done with commits 7ebcf64903bf540504ff96dbe5324284957e1524 and 6221fac747287361a0e4432c3ebf6590461bbbcf.

Note: See TracTickets for help on using tickets.