Proxy Web Traffic
There is an assigned bug to sort out blocking webbugs and trackers, in the meantime there is Privoxy...
Privoxy
Follow Install Packages to install privoxy
, then start it:
apt-get install privoxy
service privoxy start
Edit /etc/environment
and add:
ftp_proxy=http://localhost:8118/
http_proxy=http://localhost:8118/
https_proxy=http://localhost:8118/
FTP_PROXY=http://localhost:8118/
HTTP_PROXY=http://localhost:8118/
HTTPS_PROXY=http://localhost:8118/
Reboot the phone to change the root filesystem to read-only and to ensure that sessions have the env vars above set (you can check in a terminal with printenv
).
Visit http://config.privoxy.org/ to test it is working.
SSH tunnel
Set the root file system to be read-write and edit /etc/privoxy/config
adding this line with the port the ssh tunnel will be on, in this case 3128:
forward-socks5 / 127.0.0.1:3128 .
Add a list of local networks you don't want the tunnel to be used for (so you can use the web browser to login to public wifi networks for example):
forward 192.168.*.*/ .
Create a script to start a ssh tunnel, eg ~/bin/proxy
containing something like this (remove the v
for non-verbose output in the terminal):
#!/bin/bash
if [[ $1 ]]; then
REMOTE_SERVER=$1
else
echo "Run this script like this:"
echo "/bin/bash $0 server-name-from-ssh-config-file"
exit
fi
ssh -vTnN -C -F "$HOME/.ssh/config" -D 3128 $REMOTE_SERVER
This works best if you have short names for servers in your ~/.ssh/config
and have ssh keys set up.
Start the tunnel (note you might need to run it as follows unless you ssh to localhost first and have ~/bin/
in your $PATH
, then you can simply type proxy
after you chmod 750 ~/bin/proxy
):
bash ~/bin/proxy your-ssh-server
Visit a page that reports your IP address, eg https://parrot.transitionnetwork.org/myip.shtml
Troubleshooting
If your network is very unreliable, try adding this to /etc/privoxy/config
:
keep-alive-timeout 300