Coding Island

编码之岛

Centos 使用 ShadowSocks + Privoxy 代理

 

前言

富强 民主 文明 和谐 自由 平等 公正 法制 爱国 敬业 诚信 友善

之前都是使用带有gui界面的***,但是如果在服务器上面,需要用纯命令行来操作的时候,又应该怎么办呢?

方法

解决方案就是 Shadowsocks+ Privoxy。 使用Shadowsocks建立一个本地sock5代理, 但因为在命令行中不能直接使用sock5,所以所以需要使用privoxy把sock5代理转为http代理。

Shadowsocks

安装SS

pip install shadowsocks # pip安装ss客户端

如果提示 -bash: pip: command not found
运行 yum -y install python-pip

《Centos 使用 ShadowSocks + Privoxy 代理》

编辑 SS配置文件:

vim /etc/shadowsocks.json

《Centos 使用 ShadowSocks + Privoxy 代理》

{
    "server":"SERVER-IP",   # 你的服务器ip
    "server_port":PORT,    # 服务器端口
    "local_address": "127.0.0.1",
    "local_port":1080,
    "password":"PASSWORD",    # 密码
    "timeout":300,
    "method":"aes-128-cfb", # 加密方式
    "fast_open": false,
    "workers": 1
}

《Centos 使用 ShadowSocks + Privoxy 代理》

运行sslocal。我比较喜欢在screen中运行命令,所以在screen中运行运行sslocal。如果不在screen中运行的话,可以在前面加*nohup*。

sslocal -c /etc/shadowsocks.json &

《Centos 使用 ShadowSocks + Privoxy 代理》

Privoxy篇

安装Privoxy

yum -y install privoxy

《Centos 使用 ShadowSocks + Privoxy 代理》

配置Socks5全局代理

修改privoxy的config文件,打开 /etc/privoxy/config

vim /etc/privoxy/config

《Centos 使用 ShadowSocks + Privoxy 代理》

找到类似于这样的,listen-address  localhost:8118然后把它注释掉。前面加#即可注释 。

然后在最后一行加这些内容,并保存关闭:

forward-socks5 / 127.0.0.1:1080 .
listen-address 127.0.0.1:8118

配置http,https代理:

(1)临时配置,可以先直接export一下临时用着,只不过重启电脑之后,又需要再次export一遍。

export http_proxy=http://127.0.0.1:8118 # privoxy默认监听端口为8118
export https_proxy=http://127.0.0.1:8118

《Centos 使用 ShadowSocks + Privoxy 代理》

(2)也可以有个一劳永逸的方法:

(2.1)设置当前用户的全局代理

修改bashrc文件

vim ~/.bashrc

《Centos 使用 ShadowSocks + Privoxy 代理》

添加下面的内容,wq保存

export http_proxy=http://127.0.0.1:8118
export https_proxy=http://127.0.0.1:8118
export ftp_proxy=http://127.0.0.1:8118

《Centos 使用 ShadowSocks + Privoxy 代理》

立即生效

source ~/.bashrc

《Centos 使用 ShadowSocks + Privoxy 代理》

(2.2)设置当前用户的全局代理

# 修改profile文件

vim /etc/profile

《Centos 使用 ShadowSocks + Privoxy 代理》

# 添加下面的内容,wq保存。

export http_proxy=http://127.0.0.1:8118
export https_proxy=http://127.0.0.1:8118
export ftp_proxy=http://127.0.0.1:8118

《Centos 使用 ShadowSocks + Privoxy 代理》

# 立即生效

source /etc/profile

《Centos 使用 ShadowSocks + Privoxy 代理》

至此Privoxy配置完成。

运行Privoxy:

sudo service privoxy start

《Centos 使用 ShadowSocks + Privoxy 代理》

还有几个命令:

关闭: sudo service privoxy stop
显示运行状态:  sudo service privoxy status

测试

执行命令:

http_proxy=http://localhost:8118 curl ip.gs

《Centos 使用 ShadowSocks + Privoxy 代理》

或者

curl ip.gs

《Centos 使用 ShadowSocks + Privoxy 代理》

根据地区可以判断成功与否:

Current IP / 当前 IP: *.*.*.*
ISP / 运营商:  *.com
City / 城市:  London
Country / 国家: United Kingdom

/\_/\
=( °w° )=
)   (  //
(__ __)//
————————————————

这里有一个问题是,用ping依然是拼不通Google的,因为ping不是走http这些通道。

 

为了方便使用,可以自定义简称加到配置文件里面去:

# 修改profile文件

sudo vim /etc/profile

alias ssinit=’nohup sslocal -c /etc/shadowsocks.json >/dev/null 2>%1 &’

alias sson=’export http_proxy=http://127.0.0.1:8118 && export https_proxy=http://127.0.0.1:8118 &&sudo service privoxy start’

alias ssoff=’unset http_proxy && unset https_proxy && sudo systemctl stop privoxy && pkill sslocal’

# 立即生效

source /etc/profile

 

富强 民主 文明 和谐 自由 平等 公正 法制 爱国 敬业 诚信 友善

参考:

https://www.cnblogs.com/straycats/p/8452354.html

https://gist.github.com/alexniver/9a4f1791fe4305b0750a

http://404-notfound.cn/CentOS命令行使用SS代理的方法/

https://blog.forecho.com/ubuntu-use-shadowsocks-and-privoxy.html

 

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注