常用软件使用代理科学上网方法

必要的准备

  1. 一台搭载了shadowsocks-libev的服务器。

假设条件

  1. 服务器端:

    管理用户名:admin
    IP:111.111.111.111
    SS端口:7890

  2. 本地:

    SS监听端口:1080

yum

/etc/yum.conf中添加如下内容:

1
proxy=socks5://127.0.0.1:1080

git

在使用git进行clone时主要用到的协议有ssh、http和https。

http协议

执行如下命令:

1
git config --global http.proxy "socks5://127.0.0.1:1080"

https协议

执行如下命令:

1
git config --global https.proxy "socks5://127.0.0.1:1080"

ssh协议

~/.ssh/config中添加如下内容:

1
2
3
4
5
6
Host github*
User git
Hostname github.com
Port 22
Proxycommand ssh admin@111.111.111.111 nc %h %p
IdentityFile ~/.ssh/id_rsa

注意需要更改其中的admin和IP,如果没有将本地公钥添加到服务器,则可删除最后一行用密码登录。

使用proxychains-ng工具

具体参看官方手册。

docker

  1. 创建override文件:

    1
    2
    mkdir /etc/systemd/system/docker.service.d
    touch /etc/systemd/system/docker.service.d/all-proxy.conf
  2. 编辑override文件:

    1
    2
    [Service]
    Environment="ALL_PROXY=socks5://127.0.0.1:1080/"
  3. 重新加载配置,并重启docker服务:

    1
    2
    systemctl daemon-reload
    systemctl restart docker

google chrome浏览器

1
google-chrome --proxy-server="socks5://127.0.0.1:1080"

需要注意的是,为了让代理生效,必须先关闭所有的chrome窗口后重新使用上述命令启动。该方法主要是为了在线更新chrome中的Flash Player。

apt-get

  1. 使用proxychains-ng工具

    具体参看官方手册。

  2. 使用http代理:

    由于apt-get命令并不直接支持socks5代理,因此,为了让apt-get能够走socks5代理,我们需要将http代理为socks5。

    这里我们使用privoxy工具来代理http流量至socks5。

    安装和配置privoxy的方法可以参考这一篇文章:搭建HTTP代理,并将所有流量通过socks5转发

    这里我们假设privoxy的http代理端口为1081

    如果想要让apt-get命令每次都走代理,则可直接配置/etc/apt/apt.conf文件,添加以下内容:

    1
    2
    3
    Acquire::http::proxy "http://127.0.0.1:1081/";
    Acquire::ftp::proxy "ftp://127.0.0.1:1081/";
    Acquire::https::proxy "https://127.0.0.1:1081/";

    如果只是想让当前的apt-get命令走代理,可以使用-o选项:

    1
    sudo apt-get -o Acquire::http::proxy="http://127.0.0.1:1081/" update

    参考:http://www.cnblogs.com/babykick/archive/2011/03/25/1996004.html


¶ The end

Share Link: http://d0u9.win/posts/1857690619.html