Linux下代理设置汇总

Table of Contents

1 使用ssh做代理

ssh -qTfnN -D 3389 username@host

3389为本地监听的端口号,然后把Socket代理设置为127.0.0.1:3389即可。

2 http_proxy环境变量

中端http_proxy环境变量指定HTTP代理地址让命令通过HTTP代理访问:

http_proxy=127.0.0.1:8118 curl www.shellcodes.org

3 Socket代理转HTTP代理

安装privoxy,配置/etc/privoxy/config:

# 设置HTTP代理监听地址和端口
listen-address  127.0.0.1:8118
# 设置转发到Socket代理的IP地址和端口
forward-socks5  /       127.0.0.1:3389  .

然后启动privoxy服务:

➜  sudo service privoxy start

将HTTP代理设置为127.0.0.1:8118即可,这会将8118端口收到的HTTP请求转发到3389端口上,。

4 proxychains4

proxychains4可让进程访问网络时强制走代理,安装后配置/etc/proxychains.conf:

# 设置代理IP地址和端口号
socks5  127.0.0.1 3389

使用:

➜  proxychains4 curl www.shellcodes.org

5 为Java设置代理

  1. HTTP代理:
export JAVA_OPTS="$JAVA_OPTS -Dhttp.proxyHost=yourserver -Dhttp.proxyPort=8080 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password"
  1. Socket代理:
export JAVA_OPTS="$JAVA_OPTS -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=3389"

6 Shadowsocks

6.1 配置服务端

服务端安装在一台FreeBSD上,通过包管理器安装:

# pkg install shadowsocks-libev

配置开机自动启动服务,在/etc/rc.conf追加:

shadowsocks_libev_enable="YES" shadowsocks_libev_flags="-c /usr/local/etc/shadowsocks-libev/config.json"

服务端配置(/usr/local/etc/shadowsocks-libev/config.json),注意删除“#”后面的注释,否则服务无法启动:

{
    "server":"0.0.0.0", # 监听IP
    "server_port":1024,
    "local_port":1080,
    "password":"password",
    "timeout":60,
    "method":"aes-256-cfb" # 推荐AES256加密
}

启动服务:

% sudo service shadowsocks_libev start

Fedora里安装客户端:

$ sudo pip install shadowsocks

连接服务端:

sslocal -s 45.76.68.78 -p 1024 -k 'welcome!' -l 3389 -m "aes-256-cfb"