Linux下使用shadowsocks(以ubuntu16.04为例,非服务器)

2017年02月09日 17:59:38

系统环境:Ubuntu 16.04

安装

Linux不同的发行版执行的命令如下(最好在root下运行以下命令,原因我下面会说明):

Debian / Ubuntu:
apt-get install python-pip
pip install shadowsocks

CentOS:
yum install python-setuptools && easy_install pip
pip install shadowsocks

配置

sudo vim /etc/shadowsocks.json
//这里的json文件是自己创建的,不是系统自带

配置文件的内容大致如下:

{
    "server":"服务器的ip",
    "server_port":服务器的端口,
    "local_address":"127.0.0.1",
    "local_port":1080,
    "password":"密码",
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open":false
}

启动ss客户端

前两步很简单,可是有人就纳闷了安装好了不知道怎么用,其实可以用sslocal -help 来查看帮助就知道了

sslocal -c /etc/shadowsocks.json

一条命令代理就可以启动了。
这里仅仅是启动了shadowsocks还是不行的,我们还需要设置相关的代理。

转换HTTP代理

Shadowsocks默认是用Socks5协议的,对于Terminal的get,wget等走Http协议的地方是无能为力的,所以需要转换成Http代理,加强通用性,这里使用的转换方法是基于Polipo的。

输入命令安装Polipo:
sudo apt-get install polipo

修改配置文件:
sudo gedit /etc/polipo/config

将下面的内容整个替换到文件中并保存:

    # This file only needs to list configuration variables that deviate
    # from the default values. See /usr/share/doc/polipo/examples/config.sample
    # and "polipo -v" for variables you can tweak and further information.
    logSyslog = false
    logFile = "/var/log/polipo/polipo.log"

    socksParentProxy = "127.0.0.1:1080"
    socksProxyType = socks5

    chunkHighMark = 50331648
    objectHighMark = 16384

    serverMaxSlots = 64
    serverSlots = 16
    serverSlots1 = 32

    proxyAddress = "0.0.0.0"
    proxyPort = 8123

重启Polipo:
/etc/init.d/polipo restart

验证代理是否正常工作:
export http_proxy=”http://127.0.0.1:8123/”
curl www.google.com

如果正常,就会返回抓取到的Google网页内容。

另外,在浏览器中输入http://127.0.0.1:8123/便可以进入到Polipo的使用说明和配置界面。

配置浏览器

在firefox中

preference->advanced->network->connection->settings中选择手动设置代理,并将http代理设置为127.0.0.1 端口8123 (就是之前第二步配置的port)
做到这步应该就能通过shadowsocks访问了,但我遇到的电脑还是不行,后来将http代理下面的“Use this proxy server for all protocols(将代理应用到所有协议)”这个也钩上才可以了。

PS.如果跳过第二步,直接在第三部中配置http代理设置为127.0.0.1 端口1080,有些文章中是这样配置的,但是本人亲测这样无法连接上网。

Ubuntu开机后自动运行

现在可以科学上网了,可是每次开机都要手动打开终端输入一条命令,虽然这条命令并不长,但是每次都去手动输入,显得自己很low,而且关掉终端代理就关闭了。

写个脚本

我们可以在比如/home下新建个文件叫做shadow.sh,在里面写上我们启动ss客户端需要的命令,然后保存即可。

#!/bin/bash
#shadow.sh
sslocal -c /etc/shadowsocks.json

看可不可以我们到终端执行命令 sh /home/shadow.sh,如果成功的话会有信息输出的。你也可以到浏览器去试试。这个时候你虽然输入的少了,可是关了终端还是会掉的,我们可以让他在后台运行,nohup sh /home/shadow.sh &。

加入开机运行

这里我们需要在/etc下编辑一个叫rc,local的文件,需要root权限,在终端先su获取root权限。

这里问题来了,因为我们要开机启动,要使用root权限来执行前面写好的脚本,但如果你的shawdocks不是在root下装的话,执行脚本是就会报错:
“Traceback (most recent call last):
File “/home/gaoxw/.local/bin/sslocal”, line 7, in
from shadowsocks.local import main”
使用sudo安装还是会报上面这个错误。

如果你有root帐号的话,然后vim /etc/rc.local编辑,在exit之前输入nohup bash /home/shadow.sh>/home/d.txt & 保存。

这个时候你可以reboot重启了,测试下看看能不能后台自动运行,重启你可以先去看下我们要他输出d.txt,你竟然发现是 /home/shadow.sh line 3 :sslocal: command not found,打开浏览器果然是无法链接代理服务器。

经过一番搜索我们发现远离linux是找不到sslocal这条命令?需要添加路径,我们发现sslocal和ssserver这两个命令是被存在 /usr/local/bin下面的,其实不用去profile添加了,直接把这两个文件移动到/bin下,就可以了。

Ubuntu SS 搭建 ShdowSocks

1.首先需要更新你的所有软件sudo apt-get update2.安装pip(已经安装的可以忽略)sudo apt-get install python-pip(可能需要更新pip:sudo pi...
  • zhang44429824
  • zhang44429824
  • 2017-12-12 17:19:42
  • 1116

ubuntu下配置ss客户端

摘自:http://www.linuxdiyf.com/linux/17144.htm http://blog.csdn.net/u011774239/article/details/5390570...
  • ATYZ123
  • ATYZ123
  • 2017-03-19 15:47:40
  • 6202

ubuntu 配置ss客户端及终端代理等方法

测试环境:ubuntu 14.04 64bit; 1、安装shadowsocks qt5: sudo add-apt-repository ppa:hzwhuang/ss-qt5 s...
  • qq_35005229
  • qq_35005229
  • 2017-04-03 10:54:26
  • 1901

Ubuntu 下使用 Shadowsocks

最近电脑操作系统转到 Ubuntu 了,中间遇到很多问题,想把一些问题和解决方法记录起来发到博客,无奈没有固定的服务器,怕记得东西稍不注意就挂掉了,就先写在这儿。 1. 安装 ss 1. sudo...
  • Cyntec370
  • Cyntec370
  • 2016-09-22 08:58:41
  • 4000

ubuntu搭建ss服务器

需要准备: 一个墙外的VPS 1、安装shadowsocks服务器 更新软件源 sudo apt-get update1 安装PIP环境 sudo apt-get inst...
  • permike
  • permike
  • 2016-08-29 14:15:05
  • 5513

ubuntu16.04 + shadowsocks + Firefox/Chrome + switchomega+sslocal

一、使用sslocal与ss客户端连接最近shadowsocks出现了新的加密方式”chacha20-ietf-poly1305 “,导致原来ubuntu下SS qt客户端不能正常使用,因此需要寻找其...
  • u014593748
  • u014593748
  • 2017-12-14 11:34:17
  • 1172

Ubuntu 终端使用ss代理

用polipo软件,这个软件可以吧socket5转换成http代理 $ sudo apt-get install polipo $ sudo vim /etc/polipo/config 在文件中...
  • hl449006540
  • hl449006540
  • 2018-03-26 13:44:36
  • 44

ubuntu SS 配置

1、通过PPA源安装,仅支持Ubuntu 14.04或更高版本。 $ sudo add-apt-repository ppa:hzwhuang/ss-qt5 $ sudo apt-get update...
  • Stories_Untold
  • Stories_Untold
  • 2017-11-15 16:16:49
  • 159

Ubuntu下安装ss客户端

折腾了几个小时,终于搞定了。简要记录下,备忘。 安装ss sudo apt-get update sudo apt-get install python-gevent python-pip pip ...
  • noiary
  • noiary
  • 2015-10-18 01:07:33
  • 10334

Ubuntu - 使用 shadowsocks-qt5

由于 Hosts 不太靠谱,忍不住还是搞了花钱的. Ubuntu 下,通过PPA源安装shadowsocks-qt5,仅支持Ubuntu 14.04或更高版本。 sudo add-apt-reposi...
  • oJiMoDeYe12345
  • oJiMoDeYe12345
  • 2018-01-02 14:50:18
  • 1003
收藏助手
不良信息举报
您举报文章:Linux下使用shadowsocks(以ubuntu16.04为例,非服务器)
举报原因:
原因补充:

(最多只允许输入30个字)