[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #28942 [Circumvention/Snowflake]: Evaluate pion WebRTC
#28942: Evaluate pion WebRTC
--------------------------------------------+------------------------------
Reporter: backkem | Owner: cohosh
Type: enhancement | Status: accepted
Priority: Medium | Milestone:
Component: Circumvention/Snowflake | Version:
Severity: Normal | Resolution:
Keywords: anti-censorship-roadmap-august | Actual Points:
Parent ID: | Points: 5
Reviewer: | Sponsor:
| Sponsor28-must
--------------------------------------------+------------------------------
Comment (by cohosh):
Replying to [comment:49 dcf]:
> Replying to [comment:46 cohosh]:
> > Update on this: I tried building with pion/webrtc v2.0.23 (using
pion/sctp v1.6.4 and otherwise sticking to the versions specified in
`go.mod` for webrtc v2.0.23) and it bootstraps fully.
>
> I tried this hint here:
> * [https://gitweb.torproject.org/user/dcf/tor-browser-build.git/log/?h
=pion-webrtc&id=6bfc0beea25295c04cb9a1753ea0a433786500e4 pion-webrtc]
branch
> * https://people.torproject.org/~dcf/pt-bundle/tor-browser-pion-
webrtc-20190901-6bfc0beea2/
>
> However it still doesn't work for me :/ Maybe I misunderstood what you
suggested. I re-ran the [attachment:gomodtorbm gomodtorbm] script with
pion-webrtc at v2.0.23 and restored the manual fixups. Then I singularly
upgraded pion-sctp to v1.6.4. You can see exactly the changes
[https://gitweb.torproject.org/user/dcf/tor-browser-build.git/commit/?h
=pion-webrtc&id=6bfc0beea25295c04cb9a1753ea0a433786500e4 here]. Does it
look right?
>
> It's also possible there's something wrong with my local network setup.
Can someone try one of the bundles in https://people.torproject.org/~dcf
/pt-bundle/tor-browser-pion-webrtc-20190901-6bfc0beea2/ and see if it
works?
Interesting...
I downloaded `https://people.torproject.org/~dcf/pt-bundle/tor-browser-
pion-webrtc-20190901-6bfc0beea2/tor-browser-linux64-9.0a4_en-US.tar.xz`
and extracted the `snowflake-client` executable and ran it in snowbox.
The client bootstrapped fully to 100%. Logs are:
{{{
2019/09/01 13:30:25 Negotiating via BrokerChannel...
Target URL:
Front URL: localhost:8080
2019/09/01 13:30:27 SOCKS accepted: {[scrubbed] map[]}
2019/09/01 13:30:30 BrokerChannel Response:
200 OK
2019/09/01 13:30:30 Received Answer.
2019/09/01 13:30:30 ---- Handler: snowflake assigned ----
2019/09/01 13:30:30 Buffered 316 bytes --> WebRTC
2019/09/01 13:30:30 WebRTC: DataChannel.OnOpen
2019/09/01 13:30:30 Flushed 316 bytes.
2019/09/01 13:30:30 Traffic Bytes (in|out): 742 | 316 -- (1 OnMessages, 1
Sends)
2019/09/01 13:30:35 Traffic Bytes (in|out): 925165 | 348793 -- (123
OnMessages, 49 Sends)
2019/09/01 13:30:40 WebRTC: At capacity [1/1] Retrying in 10 seconds...
2019/09/01 13:30:41 Traffic Bytes (in|out): 1813256 | 54848 -- (179
OnMessages, 48 Sends)
2019/09/01 13:30:48 Traffic Bytes (in|out): 5430 | 5430 -- (10 OnMessages,
10 Sends)
2019/09/01 13:30:49 WebRTC: closing DataChannel
2019/09/01 13:30:49 WebRTC: closing PeerConnection
2019/09/01 13:30:49 ConnectLoop: stopped.
2019/09/01 13:30:49 WebRTC: DataChannel.OnClose [locally]
2019/09/01 13:30:49 WebRTC: Closing
2019/09/01 13:30:49 WebRTC: melted all 1 snowflakes.
2019/09/01 13:30:49 copy loop ended
2019/09/01 13:30:49 ---- Handler: closed ---
2019/09/01 13:30:49 SOCKS listening...
2019/09/01 13:30:49 snowflake is done.
}}}
This was with a standalone proxy also running the pion library and with a
standalone proxy without pion.
Then I ran this in snowbox with only a browser-based proxy running and I
got the same failure where it doesn't bootstrap past 10%. Log:
{{{
2019/09/01 13:42:28 Negotiating via BrokerChannel...
Target URL:
Front URL: localhost:8080
2019/09/01 13:42:28 BrokerChannel Response:
200 OK
2019/09/01 13:42:28 Received Answer.
2019/09/01 13:42:38 WebRTC: At capacity [1/1] Retrying in 10 seconds...
2019/09/01 13:42:48 WebRTC: At capacity [1/1] Retrying in 10 seconds...
2019/09/01 13:42:50 SOCKS accepted: {[scrubbed] map[]}
2019/09/01 13:42:50 ---- Handler: snowflake assigned ----
2019/09/01 13:42:50 Buffered 321 bytes --> WebRTC
2019/09/01 13:42:55 Traffic Bytes (in|out): 0 | 321 -- (0 OnMessages, 1
Sends)
2019/09/01 13:42:58 WebRTC: At capacity [1/1] Retrying in 10 seconds...
2019/09/01 13:42:58 WebRTC: No messages received for 30 seconds -- closing
stale connection.
2019/09/01 13:42:58 WebRTC: closing PeerConnection
2019/09/01 13:42:58 WebRTC: Closing
2019/09/01 13:42:58 copy loop ended
2019/09/01 13:42:58 ---- Handler: closed ---
2019/09/01 13:42:58 SOCKS listening...
}}}
So a pion client must not be working well with the browser based proxies.
I tried running a non-pion client just to make sure it wasn't a problem
with the proxy code and that client bootstrapped fine.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/28942#comment:50>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs