On 12 May 2015 at 07:23, Andrew Sullivan <a...@anvilwalrusden.com> wrote:
> If the Tor Browser has its own resolver that is used just by it and
> that is not a separate service installed with the expectation that
> other clients will use it, then it seems to me the built-in Tor
> resolver is part of the application, even if it happens to be built
> out of components that _could_ be a name resolution API or library in
> the general case.  It is definitely my impression that (for instance)
> the Onion Browser installed on my iphone doesn't provide services to
> other applications, and has its very own resolution system as a
> result.  That suggests to me that there's more than one way to do
> this, and one of those ways is for the application to be special.
> It's not the only way, though, I agree.

Like you say there are a multitude of ways to do it, and there are
examples of most of them:

The tor daemon (often called little-t tor or just "tor") is a daemon
running on the OS that exposes a SOCKS service for anyone who speaks
SOCKS to connect to. You can point an unmodified browser at it, and
access .onion services. [0]  This is also how OrBot works on Android!

You can configure little-t tor to act as a DNS resolver, point
/etc/resolve.conf at it, and have all your DNS queries go through tor,
but not any of your actual traffic.[1][2]

You can use iptables and transparently proxy non-SOCKS traffic through
tor as either the main mechanism for internet access or as a backup to
prevent anything from not going through tor. TAILS and other anonymous
LiveDVD systems do this, and OrBot on Android supports this mechanism
also, if you have root access.

You can use TorBrowser, which bundles little-t tor, uses the SOCKS
access method, and requires no configuration to access .onion
services.

You can use a SOCKS aware program to access .onion services (or the
Internet) using TorBrowser's bundled tor, which is how Pond works.
Shutting down TorBrowser closes the connection to .onion services, and
Pond is stranded.

You can create a bundle, like Onion Browser on iPhone, which does
_not_ allow other applications to make use of the bundled daemon.

-tom


[0] As mentioned, this is a wholly insecure way to access sites
anonymously, as there are ways to a) get your real IP address b) link
you between TLDs c) correlate your browsing sessions and d)
fingerprint you uniquely.

[1] This is kind of a nifty way to get DNS privacy.

[2] If you attempt to resolve a .onion this way (as opposed to letting
SOCKS resolve it), this is the response:
dig @127.0.0.1 -p 5353 facebookcorewwwi.onion

; <<>> DiG 9.10.1-P1 <<>> @127.0.0.1 -p 5353 facebookcorewwwi.onion
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 41248
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;facebookcorewwwi.onion. IN A

;; Query time: 0 msec
;; SERVER: 127.0.0.1#5353(127.0.0.1)
;; WHEN: Tue May 12 09:31:31 EDT 2015
;; MSG SIZE  rcvd: 40

_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to