ios科学上网之shadowsocks

网络 by 神秘人 at 2015-03-14

VPS虚拟主机

  • 随GFW不断加高,以往常用的VPN及Goagent己经渐逐失去功能.
  • 一个新的穿墙软体shadowsocks出现了

Shadowsocks

  • 翻墙软件一般分为服务端及客户端.我举例说明,客户端在A,服务端在B地,google网站在C地.

  • 人在A,A在河东岸,B与C在河西岸.河东至河西有座桥,桥上有个守卫叫GFW,手上有份名单,标注能去地方.去B放行,去C阻止.所谓翻墙将人从A送到B,再从B转到C.

  • 问题来了,怎么把人从B送到C,这就要shadowsocks 服务端.服务端安装完成后进行密码设置,以免他人闯入.
  • 客户端设置,使人带密码前往B地.

具体步骤

  • 国内电脑大部份用windows系统,客户端只要下载shadowsocks-gui就可. 001
  • shadowsocks服务端布置在vps,vps为虚拟主机可以选择操作系统,我选用的是debian7 86

  • vps 请看这 搬瓦工3.99刀vps购买攻略

    因为大陆大多使用windows系统,不能直接连上linux vps,所以要下载putty,使用putty连接vps. putty

    002

    003

  • 将下面的方框禸数据输入光标,复制后点击右键

  • Debian & Ubuntu

    Install from repository

  • Add either of the following lines to your

       vim /etc/apt/sources.list 
    

加入系统选择系统源

 deb http://ftp.us.debian.org/debian sid main
  • 加入后,升级源文件目录

    apt-get update
    
    apt-get install shadowsocks-libev
    

安装成功

  • 安装成功后,Configure and start the service

  • Edit the configuration

    vim /etc/shadowsocks-libev/config.json
    

点击键盘“i",进入编缉模式,完成下面修改输入后,按“Esc”,退出编缉模式,再输入“:wq”,就可保存退出了 复制下面入文档

{
    "server":"my_server_ip",
    "server_port":8388,
    "local_port":1080,
    "password":"barfoo!",
    "timeout":600,
    "method":"rc4-md5",
}

下面只是对上面解释,不用复制 Explanation of each field:

server: your hostname or server IP (IPv4/IPv6).(一般填VPS的IP地址)
server_port: server port number.(VPS服务器的端口,最好设置小于1000的数)
local_port: local port number.(当地端口一般为1080)
password: a password used to encrypt transfer.(密码,用户客户端)
timeout: connections timeout in seconds.(超时时间,一般不用变)
method: encryption method, "bf-cfb", "aes-256-cfb", "des-cfb", "rc4", etc. Default is table, which is not secure. "aes-256-cfb" is recommended.(加密方式,客户端使用 )

Start the service

    /etc/init.d/shadowsocks-libev restart
  • 现在正在shadowsocks的程序,就像windows下运行的一样,一旦重启后就不会自动启动,所以还要进行主机重启后自动启动。

调整

Edit the limits.conf

vi /etc/security/limits.conf

增加下面两行

* soft nofile 51200
* hard nofile 51200

然后在SSH命令行下输入下行

   ulimit -n 51200

Start the service

    /etc/init.d/shadowsocks-libev restart

*可以通过下面查看shadowsocsk是否开启及端口是否正确

netstat -tlunp

修改/etc/rc.local及添加开机服务#(debain8以后从源安装默认自动启动shadowsocks,无须以下操作)

1、修改/etc/rc.local

   vi /etc/rc.local

2、在 exit 0 前面添加好脚本代码,以shadowsocks为例:

   /etc/init.d/shadowsocks-libev start
   exit 0

3、添加开机服务 首先需要要执行的脚本在/etc/init.d/目录下,然后采用如下方式添加服务

   update-rc.d xxx defaults

事实上该命令的作用是在rc0.d、rc1.d、、、rc6.d六个目录下建立软连接。

同样以shadowsocks为例,首先查看下/etc/init.d/目录下有没有shadowsocks-libev,经过查看确实有,然后执行以下命令:

   update-rc.d shadowsocks-libev defaults

这样就可以了。

如果想移除该开机服务,可以使用如下代码

  update-rc.d -f xxx remove

清理所有软件缓存:

apt-get clean

查shadowsocks-libev版本

dpkg -l | grep shadowsocks-libev

在IOS上安装shadowrock

Shadowrocket for iOS

027

028

下面暂且看看

现在我们来开启新特性OTA, One Time Authentication的服务端支持...

OTA是为了对抗CCA攻击而诞生的,和ssr分支采取的手段殊途同归...

vi /etc/default/shadowsocks-libev

找到下面这一行配置

 # Extra command line arguments
 DAEMON_ARGS="-u"

修改为

# Extra command line arguments
DAEMON_ARGS="-u -A"

-A参数就是为了开启OTA支持,顺便一说,-u参数是开启udp转发...

如果想安装最新的shadowsocks-libev,请到下面地址下载

https://packages.debian.org/experimental/shadowsocks-libev