During fingerprinting, the following are taken:
- IP address / subnet / country / region
- User Agent
- Other HTTP headers
Now, for IP address, you can use:
- Tor
- I2P
- Public VPN service like OpenVPN, where many others users are as well it is having nodes across multiple networks
For User-Agent:
- Online anonymous proxy
- Your own proxy server, which does set User-Agent and some common headers
- Browser plugin which modify headers
- Browser plugin, which runs browser on remote, anonymity service
BUT, you will always be fingerprinted and identified in some way. It is because you normally connect from the same subnet, and you use the same browser. So to avoid these two, is really hard, because you would need VPN servers on endless number of networks, as well User-Agent generator, and header obfuscation, which does set different values each day, or each time you start it.
I for myself, I use Amazon EC2 free micro instance with free OpenVPN server, and it does self-stop and self-start every day in different region (by itself, it boots new server with a script to set it up thru AWS API), and updates DNS via Route 53 API. It is using SQUID as proxy, and there are many rules to block advertising, tracking as well some other things. It has also full BGP table, as these VPN servers are working in the network, but you dont need this, if you are not making cover-up.
You can also make EC2 instance change it's IP address without actually rebooting it. You can use AWS API to release Elastic IP and allocate a new one, and add to it. If you change User-Agent at the same time, you will avoid fingerprinting.
http://aws.amazon.com/
http://aws.amazon.com/articles/1346
http://www.squid-cache.org/
See this for example:
https://calomel.org/squid_ua_random.html
And indeed, with different IP number and user-agent every day, Google cant recognize me, so I can see ads which are not "tracking me".
ps. When you add new instance, you need at least 20GB of EBS root volume. Then you just do yum install squid or apt-get install squid, configure it thru /etc/, and there you go. If you want to change IP address, just change Elastic IP on it - it does work in both ways - the way you can access new instance or you get to the internet.
And then you will need only this:
http://openvpn.net/
Don't forget to update instance once a while yum update
I could produce maybe AMI image, which would work automatically. Simply you just launch instance, it setups OpenVPN, and thru AWS API it would configure IPs, DNS as well SQUID etc. Maybe there are some AMIs at Amazon already.
See this:
http://n00dlestheindelible.blogspot.co.uk/2010/05/secure-anonymous-browsing-with-your-own.html
Some websites will complain that you work over VPN. For example, some sites which serve music or video. While most of sites works OK, there are just few exceptions.