Orbot Data Tax (Updated!)

Orbot Data Tax (Updated!)

Update (6/26/12): I Found Orbot to have lower idle usage then previously recorded. The post now reflects the new statistics. The previous stats were based on idle usage at 92 bytes/s

There have been many inquiries about the cost of Orbot’s data usage. I ran five different tests to record the types of data tax a user might encounter. Heavy usage of Orbot combined with a low monthly data allotment could be an issue.

Below is the compiled data for 4 different use cases:

Test Scenario Data Usage Overhead
Web Traffic
Without Orbot 2.35 MiB
With Orbot 3.44 MiB 46%
Orweb 3.26 MiB 38%
Bulk Download
With Orbot 17.82 MiB 15%
Without Orbot 15.49 MiB
Idle 65 Bytes/s
228 KiB/hour
160 MiB/month
Client Start/Stop 37.8 KiB

Test Scenarios

The test cases were fairly straight forward. I used Droidwall to limit traffic on my phone to Orbot or the desired application and then recorded data.

  • Web Browsing: Browsed five common websites (guardianproject.info, boingboing.net, facebook.com, slashdot.org, twitter.com) with Orbot/Orweb and javascript OFF, the default browser with Orbot running as a transparent proxy, and just the default browser by itself
  • Idle: Started Orbot and began recording on Idle for ~10 minutes. The traffic graph clearly shows a small data spike approximately every minute.
  • Bulk Download: Downloaded a 5 MB file with the download manager 3 times both with Orbot’s transparent proxy and without
  • Client Stop/Start: Recorded traffic incurred by starting and stopping Orbot

Contextualizing the Data

This data suggests that Orbot could incur between  15 and 46 percent of additional data usage plus about 227 MiB of data a month for those that run Orbot 247. This tradeoff may significant to some, but it really depends on your data usage.

I have calculated how much data you could use for 3 different plans if you used Orbot for ALL your traffic. This means running it 247 over your data network AND using the transparent proxy to enforce all your applications to go through Orbot. This table represents the most extreme use case.

Monthly Plan Usable Data Orbot Data Tax
At 15% At 46% At 15% At 46%
5 GiB 4.21 GiB 3.31 GiB 16% 34%
1 GiB 751 MiB 588 MiB 27% 43%
500 MiB 295 MiB 233 MiB 41% 53%

Reducing Data Cost

These numbers may be high for some, but they represent very heavy usage of Orbot. If a user only wishes to use Orbot for a specific set of apps that have proxy support, there is no reason to leave Orbot running 247. Twitter is a great example of this because it caches its data asynchronously and would only need Orbot turned on to gather new tweets or search. If the application’s proxy is on but Orbot is off it will simply not be able to update rather then updating outside the Tor network.

Warning: Turning off Orbot to save data will also remove the transparent proxy rules. This means applications relying on the transparent proxy rules as opposed to proxy support (Twitter) will be free to broadcast data outside Orbot if you have not taken other precautions.

Note:  (Updated 6/26/12) I previously mentioned that Droidwall may have some issues in blocking certain outbound data. I filed a bug with the author and it turned out to be my mistake in recording the traffic. So, ignore my previous statement, Droidwall would be great application to enforce outbound traffic rules during periods in which Orbot is turned off.