# How do I get Squid to run as an anonymous proxy?

I have just installed Squid to make an anonymous proxy. I wasn't able to connect to it, so I used the following commands in this exact order.

1. start squid, the response: squid start/running, process 8988
2. status squid, the response: squid stop/waiting
3. stop squid or restart squid, the response: stop: Unknown instance:

I'm not sure what I could do to get it to run, but everything I have tried in the forums has led me nowhere.

-

### Clearing Up Conceptual Misunderstandings In Your Question

Squid isn't "anonymous"; you have to tweak the settings a lot to get it to stop advertising your host IP. There's actually an Internet standard called RFC 2616 which requires that proxies provide an HTTP header called Via: (Page 145 of RFC 2616 document). I quote:

The Via general-header field MUST be used by gateways and proxies to indicate the intermediate protocols and recipients between the user agent and the server on requests, and between the origin server and the client on responses.

In other words, the HTTP/1.1 Internet standard protocol says that proxies are required to tell the server the IP address of the proxied host. So if you're going to respect the HTTP protocol, your proxy cannot be anonymous.

However, Squid does allow you to violate the HTTP standard, for whatever purpose that may serve (in general it can only serve to hurt the Internet, because breaking standards is the first step towards incompatibility...). There are configuration settings within Squid that you can change in order to hide your local system's IP, so that Squid will not "tell on you" to the remote server. I can't recommend you do this any more than the Internet Engineering Task Force can recommend it, because it would violate the standard. So I suggest you google for "Squid disable via header".

Also, as a point of fact: even if you manage to get squid to hide your host IP, servers that you connect to are still going to see the immediate IP of the server that is running Squid on it. So if your home network connection has IP address 1.2.3.4 (for example), and you convince Squid not to show your 1.2.3.4 IP to the internet, then the internet will still see the IP address of your server, which may be 5.6.7.8. And from the IP address of your server, they can eventually tell the hosting company you're using, and from that, they can file abuse reports, and possibly get your name using a WHOIS record, etc.

If you are interested in true anonymity while surfing the Internet, I recommend you take a look at Tor instead. Tor actually changes your "perceived" IP address on the public internet very frequently, by using a large network of servers, so that your true identity is very difficult to track.

The only drawbacks of Tor are:

(1) It's slow;

(2) Many websites that require authentication (https://) will throw all kinds of errors if you try to use Tor, because your IP address keeps changing, which triggers security mechanisms... they think that someone is stealing your session cookies and hacking into your account. Which is basically true if you take the design of Tor literally, haha.

### Helping You Start Squid

Squid is probably failing to start because it's missing some vital configuration information. Can you check out the .log files in the /var/log/squid/ directory? Posting them in their entirety here is discouraged if they're longer than a few lines, but you can post them to a PasteBin and provide the link to the paste.

Also, refer to this Ubuntu Wiki page for general information about Ubuntu's integration of Squid.

-