#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@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs