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. patindex

    功能:返回模式在字符串中第一次出现的位置 解释:patindex('%pattern%',expression) pattern:要查找的模式 expression:被找的字符串 例子:select ...

  2. C# 断言 Assert

    重构-断言 现象:某一段代码需要对程序状态做出某种假设 做法:以断言明确表现这种假设 动机: 常常有这种一段代码:只有某个条件为真是,该改名才能正常运行. 通常假设这样的假设并没有代码中明确表现出来, ...

  3. Java版InfluxDB工具类

    InfluxDB工具类 package com.influxdb.test; import java.util.Map; import org.influxdb.InfluxDB; import or ...

  4. htmlunit+fastjson抓取酷狗音乐 qq音乐链接及下载

    上次学了jsoup之后,发现一些动态生成的网页内容是无法抓取的,于是又学习了htmlunit,下面是抓取酷狗音乐与qq音乐链接的例子: 酷狗音乐: import java.io.BufferedInp ...

  5. SQL语句完整的执行顺序(01)

    一.sql语句的执行步骤:  1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义.  2) 语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限.  3)视图转换,将涉 ...

  6. selenium打开Chrome浏览器并最大化

    #打开Chrome浏览器并放大 from selenium import webdriver def BrowserOpen(): driver = webdriver.Chrome(); drive ...

  7. java爬虫实现爬取百度风云榜Top10

    最近在项目中遇到了java和python爬虫进行程序调用和接口对接的问题, 刚开始也是调试了好久才得出点门道. 而后,自己也发现了爬虫的好玩之处,边想着用java来写个爬虫玩玩,虽说是个不起眼的dem ...

  8. python3 字典(dictionary)(二)

    内置函数: len(dict):计算字典元素个数,即键的总数 str(dict):输出字典,以可打印的字符串表示. type(variable):返回输入的变量类型,如果变量是字典就返回字典类型.   ...

  9. buaaoo_first_assignment

    四周之前,我不懂面向对象是什么:四周之后,我依然不懂面向对象是什么. 一.第一次作业 (1)实现 说起来,本次作业是最惨烈的一次. 虽然它很简单,但由于未熟悉正则表达式的应用,导致判断wrong fo ...

  10. Org mode无法生成LaTeX公式预览图片

    最近需要在Cygwin平台下的Emacs Org mode中生成LaTeX数学公式的预览图片,从而得到图文并貌的笔记与任务管理文档.但当我执行org-toggle-latex-fragment命令后却 ...