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. m3u8下载转码一次完成

    最近看到有部分网站开始加入视频解析服务,虽然这种服务会损害土豆优酷等视频托管商的权益,但是,烦人的广告也让我们开始寻找有没有什么比较靠谱的解决方法~实际上很多网站都在使用m3u8文件格式,里面都是视频 ...

  2. C# 根据出生日期(年月日)计算年龄的代码

    public int GetAgeByBirthdate(DateTime birthdate) { DateTime now = DateTime.Now; int age = now.Year - ...

  3. Python爬虫基础之正则表达式

    一.Python正则表达式的基本使用 Python 3 使用re模块可以实现大部分的正则表达式情况. 1.re.compile(pattern, flags=0) re.compile构建匹配规则并返 ...

  4. js原型链+继承 浅析

    名称:    prototype--原型对象    __proto__--属性 原型链与继承网上搜索定义,看起来挺绕的 .先说继承: 所有的对象实例都可以共享原型对象包含的属性和方法  例如一个实例A ...

  5. pads layout 自动打地孔

    对于PCBLayout来说,后期处理也是一项费时操作,比如为了让板子耦合的更好,会在板子空旷位置打上很多地过孔.“自动打地孔”则会让你省时又省心,一不小心就提前了工期哦,哈哈! 一.下面打开一个简单的 ...

  6. 关键字static

    原文出处:http://cmsblogs.com/ 『chenssy』 一. static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Ja ...

  7. 给JS包写TypeScript用的类型申明文件

    TS (TypeScript)区别于JS (JavaScript)一个最大的不同是TS增加了类型.当一些TS代码要使用JS包的时候,最好这些JS包都有类型介绍,比如这个变量是什么类型,那个函数参数的什 ...

  8. 业务线接入前端异常监控sentry

    1.前端异常处理的框架对比   是否开源 收费 语言 监控范围 sentry 是 自己搭建服务器(免费)价格 英文 Angular.AngularJs.Backbone.Ember.JavaScrip ...

  9. Codeforces 939E Maximize! (三分 || 尺取)

    <题目链接> 题目大意:给定一段序列,每次进行两次操作,输入1 x代表插入x元素(x元素一定大于等于之前的所有元素),或者输入2,表示输出这个序列的任意子集$s$,使得$max(s)-me ...

  10. 硬核机器学习干货,手把手教你写KNN!

    机器学习相关概念 人工智能.机器学习和深度学习的关系 在探讨算法之前,我们先来谈一谈什么是机器学习.相信大家都听说过AlphaGo:2016年3月,AlphaGo与围棋世界冠军李世石进行围棋人机大战, ...