On 03/20/2014 08:33 AM, Aymeric Vitte wrote:
As Andreas wrote, there is the node-Tor [1] project, it's implementing
the OP and OR inside browsers, as well as on any js platform like node.
It's fully working, it does implement some other protocols on top of the
Tor protocol used for example for Peersm project [2], it is used too for
the Peersm clients and Websocket bridges [3], it can of course connect
to the Tor Websocket bridges (flash proxy), it implements whatever
necessary Tor, SSL/TLS, ws, socks, etc in js, ORDB1 to 3 are live in the
Tor network.
Impressive work!
The target of Peersm is to have the peers (ie browsers) implement the
Tor nodes using WebRTC.
So the Onion proxy is inside the browser, then the question is: how can
I browse things with the OR inside the browser? You can easily fetch
things connecting to a Tor or Peersm bridge via Websosckets but how to
browse?
If today, I wanted to build an HTML5/JS/REST app, say something like
Globaleaks or Crypto.cat, that had note-Tor built into it, that should
work fairly easily then? Both of these apps make single JSON-type HTTP
connections to a single server, so the need for general purpose
web-browsing is not necessary.
The idea is of course to get rid of the traditional SOCKS proxy, whose
configuration can be a bit painfull for some and depends on the
platform, this was the concept of [4], but definitely too much
complicate and not very user friendly for something that is implemented
inside browsers, then supposedly easy to use.
Yes, agreed, and on mobile devices the option for proxying seems to be
never there by default, at least as part of the browser app.
So the question remains, you should have a means to say "I am loading
http://www.example.com, direct all the requests that this page is
loading as you would do it using SOCKS to one of the x circuits I have
established with the Tor network"
This might look quite strange, but maybe something like
createObjectURL('example.com html code', reference to the transport
supporting my Tor circuits (ws, webrtc))
The issue will be (and I am sure there are many more) that when your
Gecko/WebView container loads up the page you request, all subsequent
requests for content for embedded images, js, etc will also need to be
routed over this new API, and all standard HTTP connections blocked.
It is pretty exciting to see that Tor now has viable implementations in
C, Java and Javascript.
+n