[tor-bugs] #3920 [GetTor]: macos tbb too big for gmail

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Tue Dec 6 14:02:31 UTC 2011

#3920: macos tbb too big for gmail
 Reporter:  arma      |          Owner:     
     Type:  defect    |         Status:  new
 Priority:  critical  |      Milestone:     
Component:  GetTor    |        Version:     
 Keywords:            |         Parent:     
   Points:            |   Actualpoints:     

Comment(by fpietrosanti):

 Hi all,

 made the following tricks that you can find attached to reduce the size
 of TBB/OSX from 32MB to 23MB .

 With this tricks it's possible to send TBB/OSX via Gmail using Gettor.

 It goes from:
  32M    /tmp/TorBrowser-2.2.34-3-dev-osx-x86_64-en-US.zip
  23M    /tmp/TorBrowser-7z-wrap2.2.34-3-dev-osx-x86_64-en-US.zip

 Probably it would require some better cleanup and integration, that's
 just a working poc.


 # Reducing TBB from 32MB to 23MB

 # Download TBB OSX
 cd /tmp/
 wget https://www.torproject.org/dist/torbrowser/osx/TorBrowser-2.2.34-3
 # Size is 32MB
 # du -sh /tmp/TorBrowser-2.2.34-3-dev-osx-x86_64-en-US.zip
  32M    /tmp/TorBrowser-2.2.34-3-dev-osx-x86_64-en-US.zip

 # Install p7zip binary on system
 # we use brew https://github.com/mxcl/homebrew
 brew install p7zip

 # Unzip TBB
  unzip TorBrowser-2.2.34-3-dev-osx-x86_64-en-US.zip

  cd TorBrowser_en-US.app/Contents/MacOS
  cp -pr /usr/local/Cellar/p7zip/9.20.1/ p7zip

 # Strip strippable files (-1MB of uncompressed size)
  find . -type f -exec strip -S -x -X {} \; 2> /dev/null

 # Compress Firefox.app, Vidalia.app and tor
 # Using those parameters we can save 1.5MB of additional size
  p7zip/lib/p7zip/7z a -mx=9 -md=64m -mfb=256 Firefox.app.7z Firefox.app
  p7zip/lib/p7zip/7z a -mx=9 -md=64m -mfb=256 Vidalia.app.7z Vidalia.app
  p7zip/lib/p7zip/7z a -mx=9 -md=64m -mfb=256 tor.7z tor
 # Delete the uncompressed version
  rm -rf tor Vidalia.app Firefox.app

 # Modify the Shell Script wrapper of TorBrowserBundle
 # To add automatic 1st launch 7zip decompression
  vim TorBrowserBundle

 # Decompress at first run
 # Move to TorBrowser_en-US.app/Contents/MacOS/ directory
 WORKDIR=`dirname $0`

 echo "Verifying if TBB still need to uncompress itself..."
 if [[ -f tor.7z && -f Vidalia.app.7z && -f Firefox.app.7z && -f
 p7zip/lib/p7zip/7z ]];
                 echo "Files tor.7z - Vidalia.app.7z - Firefox.app.7z
                 echo "Decompressing files..."
                 echo -n "...tor.7z..."
                 p7zip/lib/p7zip/7z x tor.7z
                 echo -n "...Vidalia.app.7z..."
                 p7zip/lib/p7zip/7z x Vidalia.app.7z
                 echo -n "...Firefox.app.7z..."
                 p7zip/lib/p7zip/7z x Firefox.app.7z
                 echo "Deleting archives..."
                 rm -f tor.7z
                 echo -n "...tor.7z..."
                 rm -f Vidalia.app.7z
                 echo -n "...Vidalia.app.7z..."
                 rm -f Firefox.app.7z
                 echo -n "...Firefox.app.7z..."
                 echo "Compressed files not found: TBB already

 # Make a new ZIP image (better to use DMG)
  cd ../../../
 # Current size with built-in 7zip compressed app

  du -sh TorBrowser_en-US.app
  35M    TorBrowser_en-US.app

 # Create compresed archive
 zip -r -9 TorBrowser-7z-wrap2.2.34-3-dev-osx-x86_64-en-US.zip

 # New size of Compressed file
  du -sh TorBrowser-7z-wrap2.2.34-3-dev-osx-x86_64-en-US.zip
  23M    TorBrowser-7z-wrap2.2.34-3-dev-osx-x86_64-en-US.zip

 # Now move the file in some other place and just download and run it as
 # The first run will compress and delete the internal .7z file

 I tried sending via GMAIL and it works fine.

 I am confident that playing another little bit, using this method and
 going further, it would be possible to make additional reduction in size.

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

More information about the tor-bugs mailing list