Running the Tor client on Mac OS X


Note that these are the installation instructions for running a Tor client on Mac OS X. If you want to relay traffic for others to help the network grow (please do), read the Configuring a server guide.


Step One: Download and Install Tor


The latest stable release of Tor for Macintosh OS X is 0.1.0.15. Download it by clicking the link. You may be able to find experimental versions here, if you're looking for new features and new bugs.

Our Tor installer should make everything pretty simple. Below is a screenshot of the setup page:

tor installer splash page

By default, Tor is configured to run at startup. If you do not want Tor to run on startup, you can disable this by selecting "Customize" in the Installer, and then un-checking the "Tor Startup Script" box. Be sure to leave the other boxes checked.

Once the installer is finished and your computer restarts, Tor will start automatically. Tor comes configured as a client by default. It uses a built-in default configuration file in /Library/Tor/torrc, but most people won't need to change any of the settings. Tor is now installed.

Privoxy is installed as part of the Tor bundle package installer. Privoxy is a filtering web proxy that integrates well with Tor. Once it's installed, it will start automatically when your computer is restarted.

You do not need to configure Privoxy to use Tor. A custom Privoxy configuration for Tor has been installed as part of the installer package.


Step Two: Configure your applications to use Tor


After installing Tor and Privoxy, you need to configure your applications to use them. The first step is to set up web browsing.

If you're using Firefox (we recommend it), check out our Tor SwitchProxy howto to set up a plugin that makes it easy to switch between using Tor and using a direct connection.

Otherwise, you need to manually configure your browser to HTTP proxy at localhost port 8118. (That's where Privoxy listens.) In Mozilla, this is in Mozilla|Preferences|Advanced|Proxies. You should set both your Web Proxy (HTTP) and your Secure Web Proxy (HTTPS or SSL) to localhost port 8118, to hide your SSL traffic too. You should consider configuring your "FTP Proxy" too; see this note about Tor and ftp proxies.

If you want to use Tor with Safari, you need to change your Network Settings. Select your Network Preferences from the Apple | Location menu:

Network settings

Select the Network Interface on which you want to enable Tor. If you use more than one Interface you must change the proxy settings for each individually.

Network preferences

Select and enter 127.0.0.1 and port 8118 for both Web Proxy (HTTP) and your Secure Web Proxy (HTTPS). You should also do this for "FTP Proxy" and "Gopher Proxy"; see this note about Tor and ftp proxies. Leave your Use Passive FTP Mode (PASV) setting as is.

Proxy settings

Using privoxy is necessary because browsers leak your DNS requests when they use a SOCKS proxy directly, which is bad for your anonymity. Privoxy also removes certain dangerous headers from your web requests, and blocks obnoxious ad sites like Doubleclick.

To Torify other applications that support HTTP proxies, just point them at Privoxy (that is, localhost port 8118). To use SOCKS directly (for instant messaging, Jabber, IRC, etc), you can point your application directly at Tor (localhost port 9050), but see this FAQ entry for why this may be dangerous. For applications that support neither SOCKS nor HTTP, take a look at connect or socat.

For information on how to Torify other applications, check out the Torify HOWTO.


Step Three: Make sure it's working


ipid.shat.net and showmyip.com are sites that show what IP address and country you appear to be coming from.

If you don't know your current public IP address, this may not be a very useful test. To learn your IP address, run "ifconfig". If you are behind a NAT or firewall, though, you won't be able to learn your public IP address. In this case, you should 1) configure your browser to connect directly (that is, stop using Privoxy), 2) check your IP address with one of the sites above, 3) point your browser back to Privoxy, and 4) see whether your IP address has changed.

If you have a personal firewall that limits your computer's ability to connect to itself, be sure to allow connections from your local applications to local port 8118 and port 9050. If your firewall blocks outgoing connections, punch a hole so it can connect to at least TCP ports 80 and 443, and then see this FAQ entry.

If it's still not working, look at this FAQ entry for hints.


Step Four: Configure it as a server


The Tor network relies on volunteers to donate bandwidth. The more people who run servers, the faster the Tor network will be. If you have at least 20 kilobytes/s each way, please help out Tor by configuring your Tor to be a server too. We have many features that make Tor servers easy and convenient, including rate limiting for bandwidth, exit policies so you can limit your exposure to abuse complaints, and support for dynamic IP addresses.

Having servers in many different places on the Internet is what makes Tor users secure. You may also get stronger anonymity yourself, since remote sites can't know whether connections originated at your computer or were relayed from others.

Read more at our Configuring a server guide.


How To Uninstall Tor and Privoxy


The Tor 0.1.0.x series does not come with an uninstaller; this feature will be added in the 0.1.1.x series. If you want to remove Tor on OSX, here's how:

Change your application proxy settings back to their original values. If you just want to stop using Tor, you can end at this point.

To stop Tor and Privoxy from running on startup, remove the /Library/StartupItems/Tor and /Library/StartupItems/Privoxy directories respectively. If you just want to stop Tor from running, you can end at this point.

To erase all remaining Tor and Privoxy files from your computer, delete the following:


If you have suggestions for improving this document, please post them on our bugtracker in the website category. Thanks!

Webmaster - $Id$