[tor-bugs] #33336 [Circumvention/Snowflake]: Trial deployment of Snowflake with Turbo Tunnel

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Feb 24 15:48:53 UTC 2020


#33336: Trial deployment of Snowflake with Turbo Tunnel
-------------------------------------+--------------------------
 Reporter:  dcf                      |          Owner:  dcf
     Type:  task                     |         Status:  accepted
 Priority:  Medium                   |      Milestone:
Component:  Circumvention/Snowflake  |        Version:
 Severity:  Normal                   |     Resolution:
 Keywords:  turbotunnel              |  Actual Points:
Parent ID:                           |         Points:
 Reviewer:                           |        Sponsor:
-------------------------------------+--------------------------

Comment (by cohosh):

 Replying to [comment:15 dcf]:
 > The upgrade of quic-go was a bit of a gross process. The
 [https://gitweb.torproject.org/user/dcf/snowflake.git/commit/?h
 =turbotunnel-quic&id=42c07f2c140e4c6f1f752329a67fdf15cd6bd8c5 API changes]
 are mild. pion-quic is unfortunately incompatible with the newer version;
 but I worked around that with a patch in the tor-browser-build project. I
 selected a very specific commit of quic-go to upgrade to: we need at least
 [https://github.com/lucas-clemente/quic-
 go/commit/6407f5bf680283bf7e3755976306767da2c55e66 6407f5bf] because it
 has the keepalive fix for comment:12 and those in #33401. But I didn't
 want to use [https://github.com/lucas-clemente/quic-
 go/commit/572ef44cf2d1197428f493e90cdfdd161e584f2c 572ef44c] or later,
 because it adds a huge number of new transitive dependencies that I didn't
 have the ambition to start packaging for tor-browser-build. (It's a
 ''lot'' of dependencies—`go mod graph` goes from 59 lines to 283 lines.
 And one of the dependencies—google.golang.org/api—is over 550 MB!)
 Upgrading quic-go also requires upgrading go itself to 1.13, because the
 qtls library is coupled to crypto/tls in the standard library. The
 upgraded client was not compatible with the server I deployed in
 comment:8, so I rebuilt the server at commit
 [https://gitweb.torproject.org/user/dcf/snowflake.git/log/?h=turbotunnel&id=42c07f2c140e4c6f1f752329a67fdf15cd6bd8c5
 42c07f2c] and deployed it at 2020-02-22T04:13:
 [snip]
 > Overall, it's making me feel more and more meh about deploying quic-go;
 it and QUIC are still changing fast and I foresee maintenance and
 compatibility difficulties.
 >
 Ugh, is KCP likely to be more stable?

 The dependency problem applies to KCP too, right? Your
 [https://lists.torproject.org/pipermail/anti-censorship-
 team/2020-February/000069.html earlier mail] suggested that KCP would add
 ~16 new dependencies. Though this seems much less of an issue compared to
 what quic-go now requires.

 I wonder whether pion-webrtc will eventually force us to upgrade to this
 dependency-heavy version of quic-go anyway.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/33336#comment:18>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list