VPS+Shadowsocks科学上网

技术人员难免需要使用google查资料, 这时需要进行”翻墙”. 然后目前各种翻墙工具纷纷不好用了... 所以最好是自己动手用开源工具搭一个梯子. 本文所描述的方法是买一个国外的VPS(Virtual Private Server), 在上面安装shadowsocks服务端做为跳板, 然后在国内的PC或手机上安装shadowsocks客户端, 连接这个VPS进行科学上网.

购买VPS

可以使用搬瓦工VPS, 具体价格和配置见 参考链接 重要的是机房的选择, 香港或洛杉矶CN2应该是速度最快的.

买完之后(如果之前没账户购买过程中还会要求注册一个), 会拿到IP, SSH端口和默认的SSH密码, 接着进行如下操作:

  1. 登录 https://bandwagonhost.com, 选择右上角的”Client Area”
  2. 进入页面上方的”Service”下拉菜单, 点击”My Services”
  3. 这时会显示刚才购买的VPS, 点击最右边的”KiwiVM Control Panel”按钮

这时就进入KiwiVM Control Panel, 可以进行一些管理操作.

如果要修改默认的SSH密码, 需要使用远程登录工具以SSH方式登录到此VPS, 然后使用passwd命令修改root密码.

安装,配置shadowsocks

服务器端

shadowsocks服务端有多个变种, 这里使用python版本, 并使用一键安装脚本, 关于这个安装脚本的使用方法见 https://teddysun.com/342.html.

需要以SSH方式登录到服务器.

  1. 安装wget

  2. 下载shadowsocks:

    wget –no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh
    
  3. 添加可执行权限:

    chmod +x shadowsocks.sh
    
  4. 运行shadowsocks安装脚本:

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

    它会自动安装依赖的软件.

  5. 安装成功后会显示如下类似信息:

    Congratulations, Shadowsocks-python server install completed!
    Your Server IP        :  1.2.3.4
    Your Server Port      :  1234
    Your Password         :  xxxxxxxx
    Your Encryption Method:  aes-256-gcm
    
    Welcome to visit:https://teddysun.com/342.html
    Enjoy it!
    

安装过程中会提示输入服务器的密码等配置. 安装完成后, 配置文件为/etc/shadowsocks.json, 如果要修改端口, 密码等配置, 可以修改此文件并重启服务端.

安装完成后, 就可以启用shadowsocks服务端了, 命令如下:

  • 启动:/etc/init.d/shadowsocks start
  • 停止:/etc/init.d/shadowsocks stop
  • 重启:/etc/init.d/shadowsocks restart
  • 状态:/etc/init.d/shadowsocks status

客户端

以Windows为例:

  1. 下载 shadowsocks-windows
  2. 打开客户端, 填入之前配置好的服务器IP,端口,密码,加密方式等, 点击”确定”按钮. 此时客户端在本地生成了一个Sock5代理, IP和端口分别是127.0.0.1和1080
  3. 配置浏览器的代理设置, 以chrome为例, 输入chrome://setting打开配置, 搜索”代理”找到代理配置项, 出现”Internet属性”对话框, 点击右下方的”局域网设置”按钮
  4. 在弹出的”局域网(LAN)设置”中找到”代理服务器”选项, 勾选”为LAN使用代理器”, 并填写地址和端口, 也就是127.0.0.1和1080
  5. 确定后即可使用浏览器科学上网

这样设置完成后就可以科学上网了, 但强烈不推荐使用这种方法 , 因为它需要改动系统的代理服务器设置, 所有的上网流量都会走shadowsocks. 所以需要使用一个浏览器插件SwitchyOmega, 通过它可以配置哪些网站需要科学上网, 哪些直接连接就可以, 见下文.

其他技巧

对不同网站使用不同的连接方式: 直接/代理

经过前面的客户端配置后, 浏览网站时浏览器会通过代理访问所有的网站, 这是不必要的, 因为GFW没有屏蔽的网站直连即可; 另外公司的内网有可能使用非本地IP地址导致无法访问. 然后来回切换代理配置是很麻烦的, 这时候可以使用额外的插件来解决这个问题.

chrome有一个插件SwitchyOmega, 它可以配置规则列表, 配置哪些网站需要代理访问, 哪些网站直连即可, 非常方便.

Window下令无法设置代理的应用程序使用代理

SocksCap64是一个应用程序外壳代理软件, 可以使Windows应用程序通过SOCKS代理服务器来访问网络而不需要对这些应用程序做任何修改. 即使应用程序本身没有提供代理设置方式. 下载地址页面:https://sourceforge.net/projects/sockscap64/files/?source=navbar

参考: http://www.daxiblog.com/2016/09/23/解决电脑端版google-drive无法连接的问题/

参考链接