Some applications do not support proxy by default. Other applications might support HTTP proxy but fail when using SOCKS. As Tor provides a SOCKS proxy, you can not use it with your update or download client. Sure you can set up proxy variables (not SOCKS) in the shell, but there is a better alternative, Proxychains.
Proxychains is a tool for Linux or UNIX-Like systems that allows you to run almost any program behind a proxy, even SOCKS. You can use it to update your system, download something using wget, push to remote using git, and with several applications while you are behind a proxy server. It can even chain several proxies together, so, if you want to hack something without losing your cover, chain together several proxies and it would get very difficult to trace you back.
Proxychains is available in the official repository of almost every Linux variant. I would rather recommend Proxychains-ng (new generation) aka proxychains4 as it is a latest and more stable release. You can download the source code from Github. To install proxychains4, download the zip folder and extract that in a separate directory. Now, cd to that directory and type:
./configure –prefix=/usr –sysconfdir=/etc
sudo make install
sudo make install-config
This would install proxychains4 in your system.
If you want to use proxychains with tor settings, it should work right away (the defaults are set for tor proxy). If you are using network tunnelling, then you will have to make some changes in proxychains.conf. Open the file named proxychains.conf (in /etc directory) in your favorite text editor. Like this:
sudo vi /etc/proxychains.conf
And, at the end of the file, change the default settings. For example, if you are using SOCKS proxy with port 13580, replace 9150 with 13580.
Same goes for http proxy. Just replace the default proxy settings at the end of that file with the desired settings.
In order to tunnel desired application through proxy, chain the application with proxychains4. For example, if you want to update your Linux (for instance Ubuntu), open a terminal window and type:
sudo proxychains4 apt-get upgrade
(Remember to put sudo before proxychains4), or want to push some changes to your remote repository using git, type:
proxychains4 git push origin master
That should be sufficient for basic Proxychains usage. If you have any specific questions, please post a comment.