配置Centos下的shadowsocksk客户端



centos下shadowsocks客户端配置翻墙:

之前安装Ghost死活装不上,才发现是被墙了,没办法又得想办法自己给服务器翻墙.

shadowsocks有免费服务,在需要的时候翻墙,很有用处,(成功翻墙在线安装好了最新版的Ghost,也是很心累的)

Centos要先pip安装shadowsocks

centos下要先有这么几步:

yum install python-setuptools && easy_install pip

pip install shadowsocks

(搞不定的时候基本上换上root用户就搞定了,没用root用户又搞了我半天)

shadowsocks的优化配置:

新建 /etc/sysctl.d/local.conf

然后也是抄别人的

# max open files
fs.file-max = 51200
# max read buffer
net.core.rmem_max = 67108864
# max write buffer
net.core.wmem_max = 67108864
# default read buffer
net.core.rmem_default = 65536
# default write buffer
net.core.wmem_default = 65536
# max processor input queue
net.core.netdev_max_backlog = 4096
# max backlog
net.core.somaxconn = 4096
# resist SYN flood attacks
net.ipv4.tcp_syncookies = 1
# reuse timewait sockets when safe
net.ipv4.tcp_tw_reuse = 1
# turn off fast timewait sockets recycling
net.ipv4.tcp_tw_recycle = 0
# short FIN timeout
net.ipv4.tcp_fin_timeout = 30
# short keepalive time
net.ipv4.tcp_keepalive_time = 1200
# outbound port range
net.ipv4.ip_local_port_range = 10000 65000
# max SYN backlog
net.ipv4.tcp_max_syn_backlog = 4096
# max timewait sockets held by system simultaneously
net.ipv4.tcp_max_tw_buckets = 5000
# turn on TCP Fast Open on both client and server side
net.ipv4.tcp_fastopen = 3
# TCP receive buffer
net.ipv4.tcp_rmem = 4096 87380 67108864
# TCP write buffer
net.ipv4.tcp_wmem = 4096 65536 67108864
# turn on path MTU discovery
net.ipv4.tcp_mtu_probing = 1
# for high-latency network
net.ipv4.tcp_congestion_control = hybla
# for low-latency network, use cubic instead
# net.ipv4.tcp_congestion_control = cubic

在当前用户的主目录下新建一个 ss/ssserver.json

{
    "server": "my_server_ip", // 这里输入本机的 IP 地址
    "server_port": 8388, // 为了安全,可修改为大于 1024 的数字
    "local_address": "127.0.0.1",
    "local_port": 1080, // 为了安全,可修改为大于 1024 的数字
    "password": "mypassword", // 设置一个密码
    "timeout": 300,
    "method": "aes-256-cfb",//这儿密码算法也可以自己选
    "fast_open": false
}

(为了安装Ghost临时用一下,暂时也不想给它长期翻墙,这还不如就把服务器放国外了)

免费随机ip只好每次都换咯, 谁叫自己不买呢,叫道理买个国外的VPS一年下来其实和国内云主机学生价差不多

启动sslocal:

sslocal -c /root/ss/sslocal.json -d start

(加个 -d 选项貌似就可以后台运行了,具体没有看说明...同理, 就是stop了)

但是,这还不够啊!!!

科普时间

"Shadowsocks仅仅是传输层的代理,也就是和socket相关的TCP/UDP层的代理,我们通常用的都是 http访问,所以是不能直接用的,还需要再次中转,把所有的http请求,给代理转发到对应TCP层或UDP层的端口上,才可以完全代理:比如在centos上执行 curl或者wget走的都是http,以及我们使用的浏览器都是http访问,不再配置个代理中转,是不正确翻墙的。Scoks代理和Http的区别:简单来说就是tcp/udp和http的区别,在7层网络模型中也是处于不同的分层中,因为http请求是明文传输,可以被拦截并过滤,所以当走socks代理后会对明文内容进行加密传输,对加密后的内容是没法或非常困难过滤的,所以可以安全传到服务端,同理,服务端响应的时候又是加密通过tcp/udp回复,这样就完成了翻墙。"

总之就是不行呗

那就接着装咯......

centos下安装 privoxy:

yum install privoxy -y

(好像root干这些比较方便,这个软件好像需要的不仅仅是root权限而已,总之登root搞这个没毛病)

再配置一下这个 vim /etc/privoxy/config

forward-socks5t / 127.0.0.1:1080 .

( 找到sock5t附近的加一行这个, 老司机说这个 . 不能省略,母鸡why...)

自己在服务器装了个EMACS再也不用VIM了...╮(╯▽╰)╭...之前每次都是VIM搞我:-(

配置shell

之前又把服务器默认的bash给改成了zsh, 和Mac保持一致了, 用起来舒服多了, 还在服务器上配的一个骚主题(~ ̄▽ ̄)~

所以我就开始骚操作了

e ~/.zshrc

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

(e是我的EMACS的别名,添加上面的几行,不过好像只加第一个http一般够用了,我开始就只加了第一个...一般也能用...)

配置好了要重新启动一下privoxy

systemctl restart privoxy.serivce

(运行要root权限, 当时没用root搞真的把我憋坏了)

但是啊

说不好防火墙又拦住了, 干脆把防火墙也给关了吧,反正就用一会儿,是吧?: systemctl stop firewalld

wget了一波Google, 看起来成功了, T_T泪奔;

更新甩个链接