1. 安装编译环境

Ubuntu在默认情况下没有提供C/C++的编译环境,因此需要手动安装。如果单独安装gcc以及g++比较麻烦,为了方便,我们直接安装Ubuntu提供的build-essential软件包,下面是命令:

sudo apt-get install build-essential

2. 安装libsodium

Shadowsocks需要libsodium这个包才能安装成功,所以我们输入下面的命令进行安装:

sudo wget https://github.com/jedisct1/libsodium/releases/download/1.0.16/libsodium-1.0.16.tar.gz
tar xf libsodium-1.0.16.tar.gz
cd libsodium-1.0.16/
sudo ./configure
sudo make -j3 && sudo make install

这一步其实就是进入libsodium这个包的位置,然后解压,再进入解压后的路径,编译一下就可以了。

3. 安装Shadowsocks-libev

我们先看一下Shadowsocks-libev官方的介绍--Shadowsocks-libev,里面介绍到了各种版本的Linux下的安装方法,我这里用的是Ubuntu 16.04,按照官方的介绍:

For Ubuntu 14.04 and 16.04 users, please install from PPA:

sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:max-c-lv/shadowsocks-libev -y
sudo apt-get update
sudo apt install shadowsocks-libev

这样就可以安装成功了。

4. 编写json文件

下面我们创建一个服务器配置文件,命名为shadowsocks.json,里面内容的格式为:

{
"server":"服务器 IP 或是域名",
"server_port":端口号,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"密码",
"timeout":300,
"method":"加密方式 (chacha20-ietf-poly1305 / aes-256-cfb)",
"fast_open": false
}

你一定要记住这个json文件在哪个位置,比如我就放在了/home/xxx/shadowsocks文件夹下面。

5. 终端运行shadowsocks

接下来我们就可以在终端运行shadowsocks了,命令是:

ss-local -c /home/xxx/shadowsocks/shadowsocks.json

启动shawdowsocks服务后,发现并不能FQ上网,这是因为shawdowsocks是socks 5代理,需要客户端配合才能FQ。

为了让整个系统都走shawdowsocks通道,需要配置全局代理,可以通过polipo实现。

6.安装polipo:

sudo apt-get install polipo
接着修改polipo的配置文件/etc/polipo/config

logSyslog = true
logFile = /var/log/polipo/polipo.log

proxyAddress = "0.0.0.0"

socksParentProxy = "127.0.0.1:1080"
socksProxyType = socks5

chunkHighMark = 50331648
objectHighMark = 16384

serverMaxSlots = 64
serverSlots = 16
serverSlots1 = 32

重启polipo服务:

sudo /etc/init.d/polipo restart
为终端配置http代理:

export http_proxy="http://127.0.0.1:8123/"
接着测试下能否FQ:

curl www.google.com
如果有响应,则全局代理配置成功。

注意事项

服务器重启后,下面两句需要重新执行:

sudo sslocal -c shawdowsocks.json -d start
export http_proxy="http://127.0.0.1:8123/"

参考:
https://www.jianshu.com/u/e1c843b42353
https://zhuanlan.zhihu.com/p/47706985

ubuntu/deepin 下 Sha 哈 dow 哈 socks 全局配置的更多相关文章

  1. 3.Ubuntu/Deepin下安装Monaco/Menlo字体

    前段时间在一家公司实习,让IT给电脑安装了Ubuntu系统,用着挺好,但总感觉字体不太好看,网上小伙伴说Monaco字体不错,所以计划安装试试. 看了好多教程,不得不说,一些教程走下来真心是装不成功, ...

  2. Ubuntu系统下的多路径软件 DM Multipath 配置。

    Ubuntu系统下的多路径软件是操作系统自带的 DM Multipath工具.------------------------------------------------------------- ...

  3. Debian/Ubuntu/Deepin下AndroidStudio2/3打开AVD模拟器无反应

    Debian系AS无法启动模拟器 问题描述 早在半年前将开发环境从windows迁移到了Linux:当时用的是Debian系统,也是在安装完成AndroidStudio之后无法开启模拟器,也没出现什么 ...

  4. ubuntu/deepin 下下载wxpython

    1 输入apt-cache search wxpython 如果有返回信息 则输入 sudo apt-get install python-tools 2 否则 1.添加软件源地址到apt列表中.输入 ...

  5. Ubuntu/Deepin下常用软件汇总(持续更新)

    最近开始用Ubuntu了,好多软件都不是常用的了,在这边留底,以免忘记.如果没有写安装方法,则直接在软件源中可以找到 UNetbootin U盘制作工具,制作Ubuntu的安装U盘超好用 Braser ...

  6. Debain/Ubuntu/Deepin 下使用 ss

    如果你有一台 ss 的服务器,在 Debian Like 的环境下要如何***呢? 安装 ss 客户端 如果还没安装 pip 就得先安装 sudo apt-get install python-pip ...

  7. Ubuntu环境下利用ant编译nutch2.2.1 & 配置nutch2.2.1

    /×××××××××××××××××××××××××××××××××××××××××/ Author:xxx0624 HomePage:http://www.cnblogs.com/xxx0624/ ...

  8. 在Ubuntu 15下搭建V/P/N服务器pptpd安装和配置

    在Ubuntu 15下搭建VPN服务器pptpd安装和配置 在ubuntu下配置vpn的方式有很多种,其中比较常见的是pptpd,它配置简单,但是安全性不高,不过对于一般使用来说足够了,我按照程搭建了 ...

  9. [ubuntu][deepin]系统增加自定义开机启动项

    [ubuntu][deepin]系统增加自定义开机启动项 进行配置 cd /etc/init.d/ ls vim myScript nginx实例 #! /bin/sh # chkconfig: # ...

随机推荐

  1. Python+Selenium+Unittest+HTMLTestRunner生成测试报告+发送至邮箱,记一次完整的cnblog登录测试示例,

    测试思路:单个测试集.单个测试汇成多个测试集.运行测试集.生成测试报告.发送至邮箱. 第一步:建立单个测试集,以cnblog登录为例. 测试用例: cnblog的登录测试,简单分下面几种情况:(1)用 ...

  2. pyQt5不让进度条卡住

    这里我们用一个更新程序做示例, 下载文件的过程中让进度条实时显示下载进度. 如果下载和更新进度条的工作都放在一个线程中,会出现进度条卡顿的情况. Qt中正确的做法是把界面刷新和工作任务交给不同的线程去 ...

  3. 好奇,项目根目录下的.editorconfig文件

    一..editorconfig文件是什么? 在项目里,大多时候都能看到.editorconfig文件,刚开始总是忽视掉它,认为它不太重要.但是,它的存在,必定有它的理由,于是,抽空来研究一下,它是什么 ...

  4. Linux中查看端口占用情况

    1.lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口的使用情况: # lsof -i:8000 2.netstat -tunlp | grep 端口号,用于查看指定的端口号的进 ...

  5. python 中 dlib库的安装

    安装 dlib 库的时候需要用到 CMake 进行本地编译,而Cmake又是基于Visual Studio运行的,我在装这个库的时候,各种找不到教程,就想着分享一下自己的经验. 32位 python3 ...

  6. 【easy】108. Convert Sorted Array to Binary Search Tree

    Given an array where elements are sorted in ascending order, convert it to a height balanced BST. Fo ...

  7. ptmalloc内存分配释放

    出处 分配: 1)获取分配区的锁,为了防止多个线程同时访问同一个分配区,在进行分配之前需要取得分配区域的锁.线程先查看线程私有实例中是否已经存在一个分配区,如果存在尝试对该分配区加锁,如果加锁成功,使 ...

  8. linux环境变量问题

    在使用jenkins进行自动化部署的时候遇到一个问题,通过jenkins进行自动化部署的时候执行java命令时,提示java不知道是啥命令,确定是装好了java的,猜测是环境变量问题,但是在/etc/ ...

  9. go语言中使用defer、panic、recover处理异常

    go语言中的异常处理,没有try...catch等,而是使用defer.panic.recover来处理异常. 1.首先,panic 是用来表示非常严重的不可恢复的错误的.在Go语言中这是一个内置函数 ...

  10. 修改Maven仓库路径

    我自己新建的地址:D:\apache-maven-3.6.0\repository 找到:localRepository,修改为自定义的位置 在IDEA里面进行配置 这样项目的maven仓库地址就修改 ...