apt-get install python-pip
pip install shadowsocks
sudo ssserver -p 443 -k password -m aes-256-cfb --user nobody -d start
- Install Shadowsocks Client, e.g. run
brew cask install shadowsocksx
in Mac OSX. - SwitchSharp
Only config
SOCKS Host
to127.0.0.1:1080
and selectSOCKS v5
# `-N`: do not execute commands
# `-D`: bind 1080 port and forward 1080 port to 22 port
# `-i`: use pre-shared key `hello.pem`
# `-p`: specify port used to connect to remote server
ssh -ND 1080 -i ~/.ssh/hello.pem <username>@<your-remote-server-ip> -p 22
- Install
proxychains-ng
by runningbrew install proxychains-ng
. - Config
/usr/local/Cellar/proxychains-ng/4.7/etc/proxychains.conf
, modify the following parameters.
[ProxyList]
socks5 127.0.0.1 1080
- Add
proxychains4
to the front of every command, e.g.proxychains4 curl ipecho.net/plain
Also works for Application like
Google Chrome
whileSafari
does not work, tryproxychains4 /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
. But this might slow down Chrome.
You can also use dsocks for mac(which does not work for me), tsocks for linux.
Add this script to ~/.bash_profile
.
export http_proxy=socks5://127.0.0.1:1080
export https_proxy=socks5://127.0.0.1:1080
Add the following line to ~/.curlrc
. Since homebrew
use curl
to download the package, this will also enable homebrew
to use SOCKS5.
socks5 = "socks5://127.0.0.1:1080"
There are no environment variables for SOCKS5 proxy servers in unix, so in order to use SOCKS5 in other utilities, check the man pages for existing tools to see if they have a configuration option for a SOCKS5 proxy and whether they have a configuration file that the configuration can be added to.
- For
https://
andhttp://
(e.g.http://github.com
,https://github.com
), run the following script.
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'
- For
git://
(e.g.git://github.com
), rungit config --global core.gitproxy 'socks5://127.0.0.1:1080'
- For ssh(e.g.
git@github.com
,ssh://git@github.com
), addProxyCommand nc -x localhost:1080 %h %p
to~/.ssh/config
file.
git config --global
is stored in~/.gitconfig
while local config settings is in./.git/config
. To remove a configuration, e.g. rungit config --global --unset core.gitproxy
.
- how to set socks5 proxy in the terminal by askubuntu
- OS X Terminal Ignoring SOCKS Proxy Setup
- Git proxy through SOCKS 5 by cms-sw
- git proxy on segmentfault
curl --socks5-hostname 127.0.0.1:1080 http://wtfismyip.com/json