[tor-dev] Uploading video over Orbot
nathan at freitas.net
Sun Dec 11 16:54:35 UTC 2011
Some progress to share on Tor-related efforts with our Secure Smart Cam
project with WITNESS. (More here:
I know that "uploading HD video over a mobile network on Tor" has long
been one of these cringe-inducing requests from NGOs, but at least for
short clips, it seems to be working fairly well, both to YouTube and to
the self-hostabled Videobin.org software.
SSCXfer is my reduction of the Vidiom.mobi (http://vidiom.mobi/) app to
be a focused, clean secure video uploader for YouTube and the
self-hostable videobin.org software.
Vidiom is pretty fantastic, but is a bit too kitchen sink, and also
included features like FTP and Facebook upload which I don't feel
comfortable putting a "secure" stamp on. The YouTube upload code comes
from the very interesting "YouTube Direct" project's Android client:
The basic user story for SSCXfer is:
"Alice has sensitive video evidence of a human rights crime recorded on
her smartphone and wants to upload it to YouTube, but is in a country
where YouTube is often blocked, and always monitored."
a more complex one is:
"Bob is a trained human rights defender working in a restrictive region,
using his smartphone to interview victims about their experiences, and
he needs to safely offload the videos from his phone to a secure private
site as soon as possible, without raising any flags in the internet
In this case "secure" and "safe", mean it will 1) use HTTPS as
available, 2) store any local data in SQLCipher, and 3) support upload
over proxy servers, specifically Orbot's built-in SOCKS or HTTP proxy
without requiring root. In addition, the uploader must support low-bw,
high latency connections, and support resumeable uploads. Finally, since
videobin.org can be self-hosted, it is possible that a server could be
run by WITNESS or any organization on a Tor hidden service .onion
address, or at least on their own, https site.
At this point, I've implemented support for Orbot/Tor working by
enabling HTTP proxying support in all the HTTP connection code, and it
is working quite well for both uploads to YouTube and the default
Videobin.org site instance. Resume and retry seem to work, but I have
not done extensive testing. I think the most extreme test scenario is
uploading over Tor over EDGE network, and then going up and down into
the subway. We'll see how we do in that case.
More information about the tor-dev