MarioBoy

玩转Shadowsocks
玩转Shadowsocksshadowsocks简介一种基于Socks5代理方式的加密传输协议,也可以指实现这个协...
扫描右侧二维码阅读全文
24
2018/09

玩转Shadowsocks

玩转Shadowsocks

shadowsocks简介

一种基于Socks5代理方式的加密传输协议,也可以指实现这个协议的各种传输包。目前包使用Python、C、C++、C#、Go语言等编程语言开发,大部分主要实现(iOS平台的除外)采用Apache许可证、GPL、MIT许可证等多种自由软件许可协议开放源代码。Shadowsocks分为服务器端和客户端,在使用之前,需要先将服务器端部署到服务器上面,然后通过客户端连接并创建本地代理。

在中国大陆,本工具也被广泛用于突破防火长城(GFW),以浏览被封锁、遮蔽或干扰的内容。2015年8月22日,Shadowsocks原作者Clowwindy称受到了中国政府的压力,宣布停止维护此计划(项目)并移除其个人页面所存储的源代码4。因为移除之前就有大量的复制副本,所以事实上并未停止维护,而是转由其他贡献者们持续维护中。----------维基百科

shadowsocks有几种版本?区别是什么

首先要明确一点,不管 Shadowsocks 有几种版本,都分为服务端和客户端,服务端是部署在服务器(VPS)上的,客户端是在你的电脑上使用的。
Shadowsocks 服务端大体上有 4 种版本,按照程序语言划分,分别为 Python ,libev ,Go , Nodejs ,目前主流使用前 3 种。服务端是用来提供翻墙服务的,一般部署在国外。使用时,客户端会连接你的服务端,你所有的网络请求都会经过服务端,然后服务端把网络响应返回给你,从而实现代理。
Shadowsocks 客户端几乎包括了所有的终端设备,PC ,Mac ,Android ,iOS ,Linux 等。

shadowsocks server端安装环境

系统:Linux(推荐)

最低内存:128MB

shadowsocks客户端下载地址

Android

Windows

shadowsocksR客户端下载地址

Android

Windows

以上所有下载地址均来自Github

Shadowsock服务端安装

xshell连接服务器

首先你要有一台国外的服务器(去Vlutr、cloudcone、do ocean购买一台就好),购买好后记住你的主机IP和主机登录密码,然后用xshell这个软件通过ssh连接到你的服务器。这一步很简单,就不仔细说明了,或者你还可以看这个教程1。当然你也可以不使用xshell,那么请看这篇教程2

连接之后的截图

然后我们就可以远程控制服务器执行命令了

安装shadowsocks服务端

这里推荐使用一键安装脚本,当然如果你不嫌麻烦你也可以自己手动编译安装

脚本来自秋水逸冰大佬

  • 脚本说明

1、一键安装 Shadowsocks-Python, ShadowsocksR, Shadowsocks-Go, Shadowsocks-libev 版(四选一)服务端;
2、各版本的启动脚本及配置文件名不再重合;
3、每次运行可安装一种版本;
4、支持以多次运行来安装多个版本,且各个版本可以共存(注意端口号需设成不同);
5、若已安装多个版本,则卸载时也需多次运行(每次卸载一种);

使用脚本前请确认你是root用户,然后依次复制以下命令到你的xshell客户端里执行

  • 安装脚本

    wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh
  • 赋予脚本可执行权限

    chmod +x shadowsocks-all.sh
  • 执行脚本

    ./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log

执行脚本后,会有如下提示

Which Shadowsocks server you'd select:
1) Shadowsocks-Python
2) ShadowsocksR
3) Shadowsocks-Go
4) Shadowsocks-libev
Please enter a number (Default Shadowsocks-Python):

这是让你选择安装的shadowsocks的版本,直接输入相应数字就好,这里我们要按照shadowsockR,所以输入2,然后回车。

之后还会有一系列的选择过程。比如选择加密协议,推荐ace-256-cfb。还会让你输入以后客户端连接时用到的密码,还有端口等等

注意看一下脚本的默认配置

服务器端口:自己设定(如不设定,默认从 9000-19999 之间随机生成)
密码:自己设定(如不设定,默认为 teddysun.com)
加密方式:自己设定(如不设定,Python 和 libev 版默认为 aes-256-gcm,R 和 Go 版默认为 aes-256-cfb)
协议(protocol):自己设定(如不设定,默认为 origin)(仅限 ShadowsocksR 版)
混淆(obfs):自己设定(如不设定,默认为 plain)(仅限 ShadowsocksR 版)

安装完成后,shadowsocks会自动启动,并且有如下提示

Congratulations, your_shadowsocks_version install completed!
Your Server IP        :your_server_ip
Your Server Port      :your_server_port
Your Password         :your_password
Your Encryption Method:your_encryption_method

Your QR Code: (For Shadowsocks Windows, OSX, Android and iOS clients)
 ss://your_encryption_method:your_password@your_server_ip:your_server_port
Your QR Code has been saved as a PNG file path:
 your_path.png

Welcome to visit:https://teddysun.com/486.html
Enjoy it!

提示中有你的服务器ip,端口,密码,加密协议,还有你的ssr链接。你只要把脚本提示中的服务器ip,端口,密码,加密协议,混淆方式填入你的ssr客户端就可以科学上网了。如图

进阶

命令使用

启动脚本后面的参数含义,从左至右依次为:启动,停止,重启,查看状态。

Shadowsocks-Python 版:
/etc/init.d/shadowsocks-python start | stop | restart | status

ShadowsocksR 版:
/etc/init.d/shadowsocks-r start | stop | restart | status

Shadowsocks-Go 版:
/etc/init.d/shadowsocks-go start | stop | restart | status

Shadowsocks-libev 版:
/etc/init.d/shadowsocks-libev start | stop | restart | status

各版本配置文件

Shadowsocks-Python 版:
/etc/shadowsocks-python/config.json

ShadowsocksR 版:
/etc/shadowsocks-r/config.json

Shadowsocks-Go 版:
/etc/shadowsocks-go/config.json

Shadowsocks-libev 版:
/etc/shadowsocks-libev/config.json

Last modification:September 26th, 2018 at 12:25 pm
If you think my article is useful to you, please feel free to appreciate

3 comments

  1. 楼主你好,我用的是跟你一样的主题,但是我的代码高亮一直不能实现你的效果,就是后面带滚动条,而不是自动换行的效果。能否指点一下

    1. MarioBoy
      @邱

      确保你用的是最新版,还有你的markdown语法

      1. @MarioBoy

        用的是5.0最新版的,你是模板自带的高亮,还是使用插件后的效果?

Leave a Comment