Normally the plugins launch inside the web browser are using the proxy settings of the browser. However, the Flash plugin is not taking it into account, if it manage to find a direct Internet connexion. Therefore even your web browsing is going through the proxy all the connexion initiated inside the Flash plugin are not going through it, that may prevent the connexion if proxy is the only way to go out or change the IP of connexion preventing a correct service.

proxchains the wrapping of all connexion of a program to a proxy

To work around it, a solution is to use a SOCKS wrapping library to wrap any calls to the network stack with SOCKS wrappers and send them through the proxy. proxychain is such a tool. To install it:

# sudo apt-get install proxychains

You can configure it in /etc/proxychains.conf file. For example to use the SOCK 5 proxy running on localhost listening on port 8080:

dynamic_chain

tcp_read_time_out 15000
tcp_connect_time_out 10000

[ProxyList]
socks5 127.0.0.1 8080

SSH as a SOCK proxy

The classic way to have a SOCK 5 proxy server running locally is a SSH tunnel that is launch with the -D port option:

$ ssh -D 8080 user@server.net

This way all connexion going locally will be going out on server.net. The connexion need to be running so the launch application can use it.

Loading of the wrapping for a program

proxychains manage to capture all the network calls by loading a specific wrapping around the network call function. The easiest way to do it is just to run the proxychains program followed by the name of the program which connexion need to be pass to the proxy. For example to launch Iceweasel:

$ proxychains iceweasel