FQ技术进阶之神器ShadowSocks

FQ技术进阶之神器ShadowSocks

什么是Shadowsocks?

Shadowsocks是一个轻量级的代理服务,轻巧方便,功能却非常强大。

它在广大FQ群众中非常流行,有许多基于shadowsocks搭建的付费VPN服务,用它在自己服务器上搭建代理的朋友则是更多。

为什么它能帮我们FQ?

Shadowsocks实质上也是一种socks5代理服务,类似于ssh代理。这部分介绍其背后实现的原理,引用了一位网友对此的解释,适合帮助非专业人士理解。(不感兴趣的朋友,可以直接跳过此节)

简单来说,Shadowsocks是将原来 ssh 创建的 Socks5 协议拆开成 server 端和 client 端。

具体通信步骤如下:

客户端发出的请求基于 Socks5 协议跟 ss-local 端进行通讯,由于这个 ss-local 一般是本机或路由器或局域网的其他机器,不经过XXX,所以解决了上面被XXX通过特征分析进行干扰的问题;

ss-local 和 ss-server 两端通过多种可选的加密方法进行通讯,经过XXX的时候是常规的TCP包,没有明显的特征码而且XXX也无法对通讯数据进行解密;

ss-server 将收到的加密数据进行解密,还原原来的请求,再发送到用户需要访问的服务,获取响应原路返回。

优点:

安全(所有的流量都经过加密算法加密,支持自定义算法)

支持移动客户端(专为移动设备和无线网络优化)

跨平台(可运行于包括PC,Mac,手机(Android和iOS)和路由器(OpenWrt)在内的多种平台上)

开源、易于维护

接下来,我们开始配置服务端和客户端。

安装服务端

yum install -y python-setuptools

easy_install pip

pip install shadowsocks

创建配置文件/etc/shadowsocks.json,默认没有

[root@localhost /]# touch /etc/shadowsocks.json

修改配置文件

[root@localhost /]# vim /etc/shadowsocks.json

{

"server":"0.0.0.0",

"server_port":8388,

"local_address": "127.0.0.1",

"local_port":1080,

"password":"MyPass",

"timeout":300,

"method":"aes-256-cfb"

"fast_open": false,

"workers": 1

}

备注:加密方式aes-256-cfb比rc4-md5更安全,但是RC4比AES速度快,各位根据需求选择。

各字段说明:

    server:服务器IP

    server_port:服务器端口

    local_port:本地端端口

    password:用来加密的密码

    timeout:超时时间(秒)

    method:加密方法,可选择 “bf-cfb”, “aes-256-cfb”, “des-cfb”, “rc4″等

启动并在后台运行shadowsocks服务

[root@localhost /]# ssserver -c /etc/shadowsocks.json -d start

备注:若无配置文件,在后台可以使用一下命令运行:

[root@localhost /]# ssserver -p 8388 -k MyPass -m rc4-md5 -d start

停止服务

[root@localhost /]# ssserver -c /etc/shadowsocks.json -d stop

设置开机自启动服务:

vi /etc/rc.local

ssserver -c /etc/shadowsocks.json -d start

配置多用户多端口

{

    "server":"0.0.0.0",

    "local_address":"127.0.0.1",

    "local_port":1080,

    "port_password":{

         "8989":"password0",

         "9001":"password1",

         "9002":"password2",

         "9003":"password3",

         "9004":"password4"

    },

    "timeout":300,

    "method":"aes-256-cfb",

    "fast_open": false

}

客户端连接

1、windows客户端连接方式

windows版本的shadowsocks客户端,下载地址如下:

打开https://github.com/shadowsocks/shadowsocks-windows/releases

找到Shadowsocks-3.0.zip并下载,解压后,双击打开Shadowsocks,任务栏右键Shadowsocks,

服务器---编辑服务器,如下图设置:

FQ技术进阶之神器ShadowSocks

上图点确定后,任务栏再次右键Shadowsocks,在以下地方打勾,如下图:

FQ技术进阶之神器ShadowSocks

2、Mac客户端连接方式

Mac下的客户端推荐ShadowsocksX,这是Shadowsocks的作者自己开发的。下载完Mac客户端后,具体设置与Windows平台下的操作类似。

3、iOS客户端连接方式

直接在Appstore搜索下载Shadowsocks,app打开后就是一个浏览器,内置了公共服务器,但是一般情况下,公共服务器不稳定,基本没啥用的。

这时你就可以设置自己的服务器了。设置方法和Windows版一样。相比Android版,iOS版只支持浏览器。

当然,你也可以搭建 Strongswan,实现在 iOS 上连接 VPN。具体流程请参考:http://www.jianshu.com/p/2f51144c35c9。

4、Android客户端连接方式

安卓下的Shadowsocks软件名称为“影梭”,下载后无需root,设置好服务器和帐号信息后即可直接使用。与iOS版本不同,android版是以VPN的方式运行的,也就是说不仅支持浏览器,而且支持其他App,简直好用到没人性。

FQ技术进阶之神器ShadowSocks

全局代理设置

我们也可以当前电脑设置为代理让局域网中其他用户使用,如下:

FQ技术进阶之神器ShadowSocks

经过上面设置后,只要局域网中的机器连接这台机器的1080端口,就可以使用代理FQ了。

1、windows客户端代理设置:

打开浏览器,在代理中进行以下设置,然后选择“使用代理服务器”

不同浏览器设置略有差异

192.168.0.101:1080@http

192.168.0.101:1080@ftp

192.168.0.101:1080@https

2、linux客户端代理设置

打开并编辑/etc/profile

vim /etc/profile

http_proxy=192.168.0.101:1080

export http_proxy

https_proxy=192.168.0.101:1080

export https_proxy

ftp_proxy=192.168.0.101:1080

export ftp_proxy

然后source /etc/profile使之生效

我们使用curl cip.cc进行测试如下:

curl cip.cc

FQ技术进阶之神器ShadowSocks

如果是代理服务器需要用户名和密码的话,可以使用如下格式:

export http_proxy=http://username:password@ip:port

这样就达到了我们对linux使用全局代理的功能。

参考:

http://ilanni.blog.51cto.com/526870/1682881

更多相关文章
  • 前言:因为XenDesktop 4和XenDesktop 5之间的架构变化非常大,很多以前在4中的命令,在5中失去了市场.只有重新学习,才能达到个人技术的登峰造极.DDC,全名为Desktop Delivery Controller,从英文字面的意思是桌面交付控制器,DDC在XenDesktop的作 ...
  • 通常,一个人对技术的掌握程度可以分为精通.熟练.熟悉.了解,详细解析如下: 精通:能够掌握此技术的85%技术要点以上,使用此技术时间超过两年,并使用此技术成功实施5个以上的项目.能使用此技术优化性能或代码,做到最大可能的重用. 熟练:能够掌握此技术的60%技术要点以上,使用此技术时间超过一年,并使用 ...
  • 爬虫技术--进阶学习七简单爬虫抓取示例附c#代码
    这是我的第一个爬虫代码...算是一份测试版的代码.大牛大神别喷... 通过给定一个初始的地址startPiont然后对网页进行捕捉,然后通过正则表达式对网址进行匹配. List<string> todo :进行抓取的网址的集合 List<string> visited :已经 ...
  • 爬虫技术--进阶学习八模拟简单浏览器附c#代码
    由于最近在做毕业设计,需要用到一些简单的浏览器功能,于是学习了一下,顺便写篇博客~~大牛请勿喷,菜鸟练练手~ 实现界面如下:(简单朴素版@_@||)   button_go实现如下: private void button_go_Click(object sender, EventArgs e) { ...
  • 爬虫技术--进阶学习九使用HtmlAgilityPack获取页面链接附c#代码及插件下载
    菜鸟HtmlAgilityPack初体验...弱弱的代码... Html Agility Pack是一个开源项目,为网页提供了标准的DOM API和XPath导航.使用WebBrowser和HttpWebRequest下载的网页可以用Html Agility Pack来解析. HtmlAgility ...
  • linux初级班(a) 1>linux图像界面使用 2>linux简单目录结构 3>常用命令 4>linux系统安装linux中级班(b) 1>linux用户/文件系统管理 2>linux网络管理 3>linux磁盘管理 4>linux系统和日志维护管 ...
  •   反向代理也是一种可以帮助实现网站静态化的重要技术,今天我就来讲讲反向代理这个主题.那么首先我们要了解下什么是反向代理.和反向代理相对应的是正向代理,正向代理也就是我们常说的代理服务,正向代理是非常常见的,例如在某些公司里我们想使用互联网,那么我们就得在浏览器里设置一个代理服务器,通过代理服务器我 ...
  • 不知怎么回事,一款优秀的开源,跨平台,安全的即时通讯工具 Telegram 就被 GG 了. 但是我们还得继续使用--那就 FQ 吧.用 ShadowSocks FQ 还不错. 安装 ShadowSocks Linux 下你需要在软件仓库里面安装即可. Debian 系: sudo apt-cach ...
一周排行
  • 定制带RAID阵列卡驱动的WINPE3.0系统
           最近一个朋友的服务器出现了问题,经了解他的服务器是组装的,且配置了RAID5 ...
  • 由于伟大的防火墙,android相关SDK在没有fanqiang之前是无法直接下载的.但安装了Android Studio后,第一次启动总是要fetch,就造成无法启动.这时可以修改bin目录下的idea.prope ...
  • 新安装的Centos5.2自带的firefox还是3.0beta5,版本有点老了.对于我这个追求新潮的人,如何能忍受这老版本?遂跑去官网下载了最新的3.63更新之.# tar jxvf firefox-3.6.3.t ...
  • Tachyon基本使用01-----Tachyon简介
    一.Tachyon介绍         Tachyon是一个高容错的分布式文件系统,允许文 ...
  • microsoftazureMediaServices媒体服务解决方案
    用安全的方式为您随时随地跨设备传送媒体内容.提供可伸缩的端到端媒体解决方案 可用于高级视频 ...
  • mysql> select ceil(2.44),round(2.44),floor(2.44);+------------+-------------+-------------+| ceil(2.44) | ...
  • exchange 2016版本只有两个角色邮箱角色边缘传输角色而在exchange 2016,有一个功能,就是在owa界面预览文档,包括excel .word . ppt . pdf .等常见文档,这个功能就是使用o ...
  • post 与 get区别 重点: *.Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示.*.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字 ...
  • iOS开发日记59-推荐两本好书
    年前一直在加班赶项目,断更一月有余,新年将至,在这里祝各位看官新年快乐,大吉大利 在这里推 ...
  • 既然是说json那就先简单介绍一下什么是json吧.   JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 ...