Opened 15 months ago

Last modified 13 months ago

#19569 new enhancement

DataChannel-only libwebrtc

Reported by: arlolra Owned by: arlolra
Priority: Medium Milestone:
Component: Obfuscation/Snowflake Version:
Severity: Normal Keywords:
Cc: dcf, serene Actual Points:
Parent ID: #19001 Points:
Reviewer: Sponsor:

Description

Equivalently, https://github.com/keroserene/go-webrtc/issues/10

This is my first working patch,
https://gist.github.com/arlolra/f43b3e980e88a534b61c7a5ef3903124

It applies against f33698296719f956497d2dbff81b5080864a8804, which was HEAD of branch-heads/52 when I started, and the current build of go-webrtc (see https://github.com/keroserene/go-webrtc/pull/42)

To use it,

gclient sync -r f33698296719f956497d2dbff81b5080864a8804
cd src/
git am the.patch
GYP_DEFINES="include_tests=0 include_examples=0" python webrtc/build/gyp_webrtc webrtc/api/api.gyp
ninja -C out/Release

Then do the usual concatenating stuff. It's important to note here that the patch ifdefs in a few headers, so be sure to update those or you'll get some segfaults.

All the go-webrtc / snowflake tests passed, and I was able to bootstrap a tor client with it.

I was also able to make this change to go-webrtc/webrtc-darwin-amd64.pc,

-       -framework AppKit \
-       -framework CoreAudio \
-       -framework AudioToolbox
+       -framework AppKit

This trimmed the build by about 10MB, and I assume with a little more work can be improved.

Child Tickets

Attachments (1)

0001-DataChannel-only-libwebrtc.patch (48.7 KB) - added by arlolra 13 months ago.

Download all attachments as: .zip

Change History (2)

Changed 13 months ago by arlolra

comment:1 Changed 13 months ago by arlolra

Attached is a patch to dcf's snowflake fork of tor-browser-bundle from #19001 that applies my libwebrtc patch, linked to above.

Some bundles built with it can be found here: https://paganini.erinn.org/~arlolra/snowflake/20160813-6.5a1-d499d997/

It reduces the size (on Linux) of snowflake-client from

15746976 Jan  1  2000 snowflake-client

to

 9717904 Jan  1  2000 snowflake-client

so, not insignificant. However, the tarred bundles only go from

75344292 Aug  6 16:49 tor-browser-linux32-6.5a1_en-US.tar.xz
73896836 Aug  6 17:17 tor-browser-linux64-6.5a1_en-US.tar.xz

to

73548680 Aug 13 23:49 tor-browser-linux32-6.5a1_en-US.tar.xz
72283512 Aug 13 23:49 tor-browser-linux64-6.5a1_en-US.tar.xz
Note: See TracTickets for help on using tickets.