Linux Centos7下安装使用Shadowsocks客户端,实现科学上网

准备

  • SS: 搭建一个可以连接外网的服务器 教程可见 自己动手搭梯子
  • 服务器:本人用的腾讯云服务器,系统为Centos7

开始

安装epel源、安装pip包管理、安装Shadowsocks客户端

 sudo yum install epel-release
sudo yum install python-pip
sudo pip install shadowsocks

若执行sudo pip install shadowsocks提示:
You are using pip version 8.1.2, however version 18.1 is available.
You should consider upgrading via the ‘pip install --upgrade pip’ command.
请执行 pip install --upgrade pip

配置Shadowsocks客户端

新建客户端配置文件

 sudo mkdir /etc/shadowsocks
sudo vi /etc/shadowsocks/shadowsocks.json

配置信息如下

{
"server": "x.x.x.x",
"server_port": 1035,
"local_address": "127.0.0.1",
"local_port": 1080,
"password": "password",
"timeout": 300,
"method": "aes-256-cfb",
"fast_open": false,
"workers": 1
}
[server]     提供ss服务的服务器的ip地址
[server_port]   提供ss服务的服务器的端口号
[local_address]  本地地址
[local_host]   本地监听端口
[password]    ss连接密码
[method]    加密方式

配置开机自启动

新建/etc/systemd/system/shadowsocks.service文件命令如下:

sudo vim /etc/systemd/system/shadowsocks.service

文件内容如下

[Unit]
Description=Shadowsocks
[Service]
TimeoutStartSec=
ExecStart=/usr/bin/sslocal -c /etc/shadowsocks/shadowsocks.json
[Install]
WantedBy=multi-user.target

文件创建完成后,依次执行如下命令:

systemctl enable shadowsocks.service
systemctl start shadowsocks.service
systemctl status shadowsocks.service

检查Shadowsocks是否正常运行

curl --socks5 127.0.0.1: http://httpbin.org/ip

客户端运行正常则展示结果为:
{
“origin”: “x.x.x.x” #ss服务器IP
}

privoxy
安装privoxy

yum install privoxy -y
systemctl enable privoxy
systemctl start privoxy
systemctl status privoxy

配置privoxy

sudo vim /etc/privoxy/config

listen-address 127.0.0.1:   #  是默认端口,不用改
forward-socks5t / 127.0.0.1: . #转发到本地端口,注意最后有个点 设置http、https请求代理
sudo vim /etc/profile 修改环境变量 PROXY_HOST=127.0.0.1
export all_proxy=http://$PROXY_HOST:8118
export ftp_proxy=http://$PROXY_HOST:8118
export http_proxy=http://$PROXY_HOST:8118
export https_proxy=http://$PROXY_HOST:8118
export no_proxy=localhost,172.16.0.0/,192.168.0.0/.,127.0.0.1,10.10.0.0/
source /etc/profile 使更新的环境变量生效

测试代理是否生效
curl -I www.google.com 返回如下结果,代理配置成功 HTTP/1.1 OK
Date: Thu, Jan :: GMT
Expires: -
Cache-Control: private, max-age=
Content-Type: text/html; charset=ISO--
P3P: CP=“This is not a P3P policy! See g.co/p3phelp for more info.”
Server: gws
X-XSS-Protection: ; mode=block
X-Frame-Options: SAMEORIGIN
Set-Cookie: 1P_JAR=---; expires=Sat, -Feb- :: GMT; path=/; domain=.google.com
Set-Cookie: NID==NxAhlbgz2a6wLNsxGp7leyPoUWSwbbVLu-K-8sbIqgVX27XWn6VTlo-pkU51crX_Fkhmcj_s4effQfanY8CoV_kLFbg_-iSU646OMrUE91S-KDo2kh31JOpFR2Du353eF-8LngCij1JN4LXfv9pWVMSVpzOhU_aUB6vu1n_rEoY; expires=Fri, -Jul- :: GMT; path=/; domain=.google.com; HttpOnly
Transfer-Encoding: chunked
Accept-Ranges: none
Vary: Accept-Encoding
Proxy-Connection: keep-alive

linux 使用sh@d0ws0cks client的更多相关文章

  1. linux 使用sh@d0ws0cks server

    [root@linux-node1 ~]# cat /etc/shadowsocks.json { "server":"x.x.x.x", , "lo ...

  2. linux执行sh脚本文件命令

    linux执行sh脚本文件命令 很多时候需要多个命令来完成一项工作,而这个工作又常常是重复的,这个时候我们自然会想到将这些命令写成sh脚本,下次执行下这个脚本一切就都搞定了,下面就是发布代码的一个脚本 ...

  3. 在linux下sh批处理文件调用java的方法

    解密 java -classpath collection-impl-0.0.1.jar com.ai.toptea.collection.message.DESEncrypt 1EFE4663895 ...

  4. Linux执行.sh文件,提示No such file or directory的问题的解决方法

    亲测有效:http://www.jb51.net/LINUXjishu/56395.html Linux执行.sh文件,提示No such file or directory的问题的解决方法 在win ...

  5. 【SHELL】Linux下安装Oracle Client

    一.新建Oracle脚本存储目录并上传文件 [root@A04-Test-172]# mkdir -p /tmp/instance_oracle #新建存储目录 [root@A04-Test-172 ...

  6. 在Linux中安装SEP Client

    1. 下载Symantec_Endpoint_Protection_12.1.5_Linux_Client_EN, 解压其中的sep-deb.zip   2. 若直接sudo ./install.sh ...

  7. Linux 下配置 SoftEther Client

    我经常使用的代理有 SSH, GoAgent, FreeGate, VPN, HttpProxy 等等,不过 SoftEther 应该是我用过的最快.最稳定的 VPN 协议. Windows 下配置 ...

  8. Linux 系统设置sh文件开机自启动

    工作中有一个linux下的服务需要启动,但是机器总是断电,导致需要反复启动,找了一下开机自启动的方法,解决了这个问题.Linux设置开机自启动非常简单,只要找到rc.local文件,将你需要自启动的文 ...

  9. linux编写.sh脚本并赋权限

    今日打包编译项目时,发现缺少一个git pull更新项目的脚本,所以在linux编写了一个gitpull.sh脚本,能够实现更新项目的需求. 1.首先vi  gitpull.sh或者使用vim编辑器. ...

随机推荐

  1. 十个推荐使用的 Laravel 的辅助函数

    壹. array_dot() array_dot () 辅助函数允许你将多维数组转换为使用点符号的一维数组. $array = [ 'user' => ['username' => 'so ...

  2. habse Region server挂掉

    2019-04-28 15:57:28,355 INFO org.apache.hadoop.hbase.regionserver.HeapMemoryManager: heapOccupancyPe ...

  3. 【算法】Bert预训练源码阅读

    Bert预训练源码 主要代码 地址:https://github.com/google-research/bert create_pretraning_data.py:原始文件转换为训练数据格式 to ...

  4. Django报错:OSError: raw write() returned invalid length 4 (should have been between 0 and 2)

    在使用Django时Django报错:Django报错:OSError: raw write() returned invalid length 4 (should have been between ...

  5. SQL对某个字段进行排名

    SELECT ( ) AS rowno, a.badge,a.NAME,a.direct_evaluate_rate,a.view_rate FROM ( SELECT * FROM `hrs_sta ...

  6. VMware虚拟机安装WIN7

    VMware在IT工作人员的学习之中,使用的较多,故聊一聊VMware中WIN7的安装: 第一步:安装VMware,这个软件百度就可以下载,但是是收费软件,注册码可以百度到. 第二步:VMware安装 ...

  7. Ubuntu 16.04.3 安装jenkins

    # 需要java环境wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - sudo sh -c ...

  8. javascript中的浅拷贝ShallowCopy与深拷贝DeepCopy

    拷贝,在js中,分为浅拷贝和深拷贝.这两者是如何区分的呢?又是如何实现的呢? 深浅拷贝的区分 首先说下,在js中,分为基础数据类型和复杂数据类型, 基础数据类型:Undefined.Null.Bool ...

  9. python 的os.getenv("PATH")和os.environ.get("PATH")的区别

    os.environ(x [,x]) raises an exception if the environmental variable does not exist. os.getenv(x) do ...

  10. vue基础4-数据绑定

    1.v-bind 只能实现数据额单向绑定,从M到V,无法实现数据的双向绑定 改变页面输入框的值,打印数据并未改变. 2.v-model 可以实现数据的双向绑定,从M到V.V到M.  注意:v-mode ...