Raspberry Pi Tor

I am a Linux rookie with a couple of weeks using Tor Bundle in Windows. I would like Tor Bundle on my Raspberry Pi (Linux ARM system). There is a Tor package in their repository and I just installed it. Was hoping ./start-tor-browser would be all I needed to do at this point .. but I must have been dreaming.

I don't think it was the 'bundle' ... because the install did not indicate what I expected (Vidalia, Firefox portable, etc.)

Actually, I don't know the command to start Tor. There is no GUI item for Tor .. saw no evidence of Vidalia or a Torified browser being installed ... which is why I have doubts this package is the full bundle.

Actually, I don't know the command to start Tor. There is no GUI item for Tor .. saw no evidence of Vidalia or a Torified browser being installed ... which is why I have doubts this package is the full bundle.

Firefox is configured to use Polipo as HTTP-proxy, and Polipo uses Tor as parent Socks5 proxy. You can use Tor's socks5 directly in any application that supports Socks5. Polipo is useless shit, Vidalia is pretty handy, but also not necessary.

/usr/sbin/tor is executable file, just run it & it will start discovering nodes.

'cept not sure how to run it ... rookie here. something about .start_tor ... something like that. I just don't know ... sorry,

/etc/tor - I guess, this is config file (# vim /etc/tor). But usually it's name is torrc, so try also # vim /etc/tor/torrc - maybe /etc/tor is a folder.

/etc/tor/torrc looks like config. Will I have to edit this????:

## Configuration file for a typical Tor user
## Last updated 22 April 2012 for Tor 0.2.3.14-alpha.
## (may or may not work for much older or much newer versions of Tor.)
##
## Lines that begin with "## " try to explain what's going on. Lines
## that begin with just "#" are disabled commands: you can enable them
## by removing the "#" symbol.
##
## See 'man tor', or https://www.torproject.org/docs/tor-manual.html,
## for more options you can use in this file.
##
## Tor will look for this file in various places based on your platform:
## https://www.torproject.org/docs/faq#torrc

## Tor opens a socks proxy on port 9050 by default -- even if you don't
## configure one below. Set "SocksPort 0" if you plan to run Tor only
## as a relay, and not make any local application connections yourself.
#SocksPort 9050 # Default: Bind to localhost:9050 for local connections.
#SocksPort 192.168.0.1:9100 # Bind to this adddress:port too.

## Entry policies to allow/deny SOCKS requests based on IP address.
## First entry that matches wins. If no SocksPolicy is set, we accept
## all (and only) requests that reach a SocksPort. Untrusted users who
## can access your SocksPort may be able to learn about the connections
## you make.
#SocksPolicy accept 192.168.0.0/16
#SocksPolicy reject *

## Logs go to stdout at level "notice" unless redirected by something
## else, like one of the below lines. You can have as many Log lines as
## you want.
##
## We advise using "notice" in most cases, since anything more verbose
## may provide sensitive information to an attacker who obtains the logs.
##
## Send all messages of level 'notice' or higher to /var/log/tor/notices.log
#Log notice file /var/log/tor/notices.log
## Send every possible message to /var/log/tor/debug.log
#Log debug file /var/log/tor/debug.log
## Use the system log instead of Tor's logfiles
#Log notice syslog
## To send all messages to stderr:
#Log debug stderr

## Uncomment this to start the process in the background... or use
## --runasdaemon 1 on the command line. This is ignored on Windows;
## see the FAQ entry if you want Tor to run as an NT service.
#RunAsDaemon 1

## The directory for keeping all the keys/etc. By default, we store
## things in $HOME/.tor on Unix, and in Application Data\tor on Windows.
#DataDirectory /var/lib/tor

## The port on which Tor will listen for local connections from Tor
## controller applications, as documented in control-spec.txt.
#ControlPort 9051
## If you enable the controlport, be sure to enable one of these
## authentication methods, to prevent attackers from accessing it.
#HashedControlPassword 16:872860B76453A77D60CA2BB8C1A7042072093276A3D701AD684053EC4C
#CookieAuthentication 1

############### This section is just for location-hidden services ###

## Once you have configured a hidden service, you can look at the
## contents of the file ".../hidden_service/hostname" for the address
## to tell people.
##
## HiddenServicePort x y:z says to redirect requests on port x to the
## address y:z.

################ This section is just for relays #####################
#
## See https://www.torproject.org/docs/tor-doc-relay for details.

## Required: what port to advertise for incoming Tor connections.
#ORPort 9001
## If you want to listen on a port other than the one advertised in
## ORPort (e.g. to advertise 443 but bind to 9090), you can do it as
## follows. You'll need to do ipchains or other port forwarding
## yourself to make this work.
#ORPort 443 NoListen
#ORPort 127.0.0.1:9090 NoAdvertise

## The IP address or full DNS name for incoming connections to your
## relay. Leave commented out and Tor will guess.
#Address noname.example.com

## If you have multiple network interfaces, you can specify one for
## outgoing traffic to use.
# OutboundBindAddress 10.0.0.5

## A handle for your relay, so people don't have to refer to it by key.
#Nickname ididnteditheconfig

## Define these to limit how much relayed traffic you will allow. Your
## own traffic is still unthrottled. Note that RelayBandwidthRate must
## be at least 20 KB.
## Note that units for these config options are bytes per second, not bits
## per second, and that prefixes are binary prefixes, i.e. 2^10, 2^20, etc.
#RelayBandwidthRate 100 KB # Throttle traffic to 100KB/s (800Kbps)
#RelayBandwidthBurst 200 KB # But allow bursts up to 200KB/s (1600Kbps)

## Use these to restrict the maximum traffic per day, week, or month.
## Note that this threshold applies separately to sent and received bytes,
## not to their sum: setting "4 GB" may allow up to 8 GB total before
## hibernating.
##
## Set a maximum of 4 gigabytes each way per period.
#AccountingMax 4 GB
## Each period starts daily at midnight (AccountingMax is per day)
#AccountingStart day 00:00
## Each period starts on the 3rd of the month at 15:00 (AccountingMax
## is per month)
#AccountingStart month 3 15:00

## Contact info to be published in the directory, so we can contact you
## if your relay is misconfigured or something else goes wrong. Google
## indexes this, so spammers might also collect it.
#ContactInfo Random Person
## You might also include your PGP or GPG fingerprint if you have one:
#ContactInfo 0xFFFFFFFF Random Person

## Uncomment this to mirror directory information for others. Please do
## if you have enough bandwidth.
#DirPort 9030 # what port to advertise for directory connections
## If you want to listen on a port other than the one advertised in
## DirPort (e.g. to advertise 80 but bind to 9091), you can do it as
## follows. below too. You'll need to do ipchains or other port
## forwarding yourself to make this work.
#DirPort 80 NoListen
#DirPort 127.0.0.1:9091 NoAdvertise
## Uncomment to return an arbitrary blob of html on your DirPort. Now you
## can explain what Tor is if anybody wonders why your IP address is
## contacting them. See contrib/tor-exit-notice.html in Tor's source
## distribution for a sample.
#DirPortFrontPage /etc/tor/tor-exit-notice.html

## Uncomment this if you run more than one Tor relay, and add the identity
## key fingerprint of each Tor relay you control, even if they're on
## different networks. You declare it here so Tor clients can avoid
## using more than one of your relays in a single circuit. See
## https://www.torproject.org/docs/faq#MultipleRelays
## However, you should never include a bridge's fingerprint here, as it would
## break its concealability and potentionally reveal its IP/TCP address.
#MyFamily $keyid,$keyid,...

## A comma-separated list of exit policies. They're considered first
## to last, and the first match wins. If you want to _replace_
## the default exit policy, end this with either a reject *:* or an
## accept *:*. Otherwise, you're _augmenting_ (prepending to) the
## default exit policy. Leave commented to just use the default, which is
## described in the man page or at
## https://www.torproject.org/documentation.html
##
## Look at https://www.torproject.org/faq-abuse.html#TypicalAbuses
## for issues you might encounter if you use the default exit policy.
##
## If certain IPs and ports are blocked externally, e.g. by your firewall,
## you should update your exit policy to reflect this -- otherwise Tor
## users will be told that those destinations are down.
##
## For security, by default Tor rejects connections to private (local)
## networks, including to your public IP address. See the man page entry
## for ExitPolicyRejectPrivate if you want to allow "exit enclaving".
##
#ExitPolicy accept *:6660-6667,reject *:* # allow irc ports but no more
#ExitPolicy accept *:119 # accept nntp as well as default exit policy
#ExitPolicy reject *:* # no exits allowed

## Bridge relays (or "bridges") are Tor relays that aren't listed in the
## main directory. Since there is no complete public list of them, even an
## ISP that filters connections to all the known Tor relays probably
## won't be able to block all the bridges. Also, websites won't treat you
## differently because they won't know you're running Tor. If you can
## be a real relay, please do; but if not, be a bridge!
#BridgeRelay 1
## By default, Tor will advertise your bridge to users through various
## mechanisms like https://bridges.torproject.org/. If you want to run
## a private bridge, for example because you'll give out your bridge
## address manually to your friends, uncomment this line:
#PublishServerDescriptor 0

There is also /etc/tor/tor-tsocks.conf ... will that need editing???

When I complete this, I should have Tor and Vidalia installed. Will I need Polipo???? It is in the repository too!!!

RE: Browsers ... at the moment, Pi has Chrome and Midori installed. Chrome keeps bugging me to install Flash. Which do you recommend to go along w/ Tor???

Thank you some more.

EDIT:

Looks like I have a lot of configuration editing to do. Ran Vidalia and got:

Jul 09 22:03:18.008 [Notice] Tor v0.2.3.25 (git-3fed5eb096d2d187) running on Linux.
Jul 09 22:03:18.009 [Notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
Jul 09 22:03:18.010 [Notice] Read configuration file "/home/pi/.vidalia/torrc".
Jul 09 22:03:18.052 [Notice] Initialized libevent version 2.0.19-stable using method epoll (with changelist). Good.
Jul 09 22:03:18.061 [Notice] Opening Socks listener on 127.0.0.1:9050
Jul 09 22:03:18.063 [Warning] Could not bind to 127.0.0.1:9050: Address already in use. Is Tor already running?
Jul 09 22:03:18.067 [Warning] /var/run/tor is not owned by this user (pi, 1000) but by debian-tor (107). Perhaps you are running Tor as the wrong user?
Jul 09 22:03:18.073 [Warning] Before Tor can create a control socket in "/var/run/tor/control", the directory "/var/run/tor" needs to exist, and to be accessible only by the user account that is running Tor. (On some Unix systems, anybody who can list a socket can connect to it, so Tor is being careful.)
Jul 09 22:03:18.074 [Warning] Failed to parse/validate config: Failed to bind one of the listener ports.
Jul 09 22:03:18.075 [Error] Reading config failed--see warnings above.

Yep, /var/run/tor is owned by Debian. I assume I need to change that to user pi ....but don't know how to do that.

Jul 09 22:03:18.067 [Warning] /var/run/tor is not owned by this user (pi, 1000) but by debian-tor (107). Perhaps you are running Tor as the wrong user?

Perhaps. Try to uninstall Tor and Vidalia completely, and then install them again, starting with Vidalia, not Tor. It should take all dependencies automatically, and then Tor should start under correct user.

I REALLY appreciate the help from everyone. Here is the situation ... been learning all about Tor/Onion/hidden web, etc etc on a windows machine for a few weeks. I installed the Tor BUNDLE. I was hoping to reproduce the same thing on the Raspberry Pi. If that means Tor, Vidalia, and a browser ... is what makes the 'bundle' then that is what I would like to use. On that basis ... I think Mr. Tor Hacker and I are on the same track. Even on the Pi, once I installed it, Vidalia came up ... something I am accustomed to. With all due respect, I would like to follow his lead ... and uninstall 'everything' .. and reinstall ... starting with Vidalia and so on.

I think you guys are Gods ... and I know there are different approaches to the same thing ... but at this point, I need to follow one person ... and I sort of feel he and I are after the same end. Thank you BOTH. Need to call it a night. Will work on this tomorrow, ... and come back here as needed. THANK YOU BOTH ... immensely.

PS: It seems, that your Tor doesnt stop when Vidalia stops. You should stop it manually before running Vidalia again:

# /etc/init.d/tor stop

"WacoJohn"

Uhmmm, .. true, I don't know EXACTLY what an exit relay is ... but from the choices .. seemed like a good way to support others using the network. I admit, I don't fully understand all the possibilities. I would like to use the network myself (with a browser) as well as contribute to the network as far as sharing the load on it. If I have done otherwise, please advise.

Ok .. I will stop Tor first. Do you think there is a problem with ownership of:

Jul 10 13:16:22.529 [Warning] /var/run/tor is not owned by this user (pi, 1000) but by debian-tor (107). Perhaps you are running Tor as the wrong user?
Jul 10 13:16:22.530 [Warning] Before Tor can create a control socket in "/var/run/tor/control", the directory "/var/run/tor" needs to exist, and to be accessible only by the user account that is running Tor. (On some Unix systems, anybody who can list a socket can connect to it, so Tor is being careful.)

As far as browser goes .. I choose Midori for the Tor browser .. mainly because it is more lean than Chrome. In Midori's settings ... I selected:

Uh dunno. uhm .... since this is not the bundle, ... with a preconfigured Firefox like on Windows ... I would use Midori .. which I ONLY THINK is now configured for Tor. Not sure about that. Tell me how to test it, please. All the errors have me confused ... do I start Tor manually? Do I use Vidalia? do I stop Tor manually when I am 'done'? If it is working, then all I need to know is the procedures .. being this ain't Windows.

As far as I can see in this FAQ http://midori-browser.org/faqs/ Midori doesn't support SOCKS proxy, only HTTP. So to use Midori together with Tor you'll need to install tsoks or torify or Privoxy or Polipo or whatever to "convert" tor http proxy.

Let's use Polipo, for example. I think you should have it in your Raspberry Pi repositories.
After installing open file /etc/polipo.conf (this is text configuration file), uncomment there "socksParentProxy" "socksProxyType" and write your Tor's address there:

socksParentProxy = "localhost:9050"
socksProxyType = socks5

Also find lines

proxyAddress = "127.0.0.1"
proxyPort = 8118

and remember the number of Port (in my case its 8118, we'll need it later).