[tor-bugs] #33336 [Circumvention/Snowflake]: Trial deployment of Snowflake with Turbo Tunnel
Tor Bug Tracker & Wiki
blackhole at torproject.org
Fri Feb 21 23:13:09 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 dcf):
Replying to [comment:12 dcf]:
> Replying to [comment:11 dcf]:
> > * It may be my imagination, but I get the impression that everything
works better while the connection is being used. Initially my impression
was positive as I was trying to stress the system by having videos playing
in the background. Then the experience became more frustrating as I tried
normal text browsing and I encountered the occasional delays mentioned
above. It made me think that perhaps there is something in the proxy that
drops idle connections, but I didn't find anything like that. It's
possible that this is my imagination and that my initial impression was
just getting good luck with proxies.
>
> I think I know why idle browsing seemed to disconnect more, at least in
the quic case.
And I think I see what was going wrong with kcp as well. The keepalive
interval was fine, but the idle timeout was too low (30 s). Because it
takes over 30 s to realize that you have a bad proxy, the first bad proxy
would kill your connection. The effect was magnified because the
[https://gitweb.torproject.org/user/dcf/snowflake.git/tree/client/lib/snowflake.go?h
=turbotunnel-kcp&id=874a11f6779429246263522fc751f1cc0d9c3af0#n91 copyLoop]
function, when the session timed out due to idleness, would only exit the
socks←webRTC loop, but would keep running the webRTC←socks loop for about
another 2 minutes (might be tor SocksTimeout, not sure). So one bad proxy
would knock you out for at least 2.5 minutes, as well as killing all your
existing circuits.
I made these commits:
* [https://gitweb.torproject.org/user/dcf/snowflake.git/commit/?h
=turbotunnel-kcp&id=5973a6940147f6e69fe9d74ebc4a912c89a59fd0 5973a694] Set
the smux KeepAliveTimeout (idle timeout) to 10 minutes.
* [https://gitweb.torproject.org/user/dcf/snowflake.git/commit/?h
=turbotunnel-kcp&id=ec1468f841b7e40d7351e1426d4947ec2d3bead5 ec1468f8] Let
copyLoop exit when either direction finishes.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/33336#comment:14>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list