转载:使用Vultr搭建ShadowSocks/VPS搭建SS

实现原理

本地发起连接请求,由远程服务器响应后然后将我们需要的数据返回到本地。

最低消费

2.5美元(经常售罄),5美元。

网速自测

经过我个人测试后选择的Dallas节点,浏览youtube视频,网速能达到1MB/s ,玩美服lol的延迟是200ms-250ms,这个速度已经很不错了。

PS:浏览其他人的博客都推荐的是LosAngeles节点,具体的自己通过测试后拿主意吧,懒得测试就选洛杉矶节点吧。

知识储备

  1. 懂Linux最好,不懂就按照下面操作来吧
  2. 肯折腾
  3. 懂英语,不懂的话…搭建SS(Shadow Socks),诶?

具体步骤

购买服务器

  1. 打开Vlutr官网:https://www.vultr.com/

  2. 更多教程请查看Vultr中文网:https://www.vultrblog.com/

  3. 注册账号并验证邮箱。

  4. 测试速度或直接选择洛杉矶节点,测试节点网速请戳我并拉到页面最下面如果感觉不满意,去试试其他的服务器提供商比如搬瓦工等等。

  5. 搬瓦工搭建 ShadowSocks (SS) 教程:搬瓦工后台取消了一键SS功能,最新搬瓦工手动搭建SSR教程

补充:近期东京结点基本都挂掉了,美国的也挂掉了很多,请尝试洛杉矶结点或达拉斯结点。

  1. 充值,点击左侧的Billing,最低$10,建议选择支付宝支付,简单快捷,符合我国国情。

  2. 搭建服务器,点击左侧的Servers,依次选择Server Location——你测试的最快的或者洛杉矶;Server Type——Cent OS7 x64(这个我可以提供技术支持,本文基于CentOS 7 x64,脚本原创,脚本基于Cent OS7);Server Size——只是搭建ss,选价格最低的就够了($2.5/mon,多数情况下此套餐售罄,请选择$5/mon);其他的选填。然后点击右下角的Deploy Now。稍等片刻,服务器就可以装好了。

  3. 装好后,你可以看到如下界面:

使用Vultr搭建ShadowSocks/VPS搭建SS(超详细)

点击可以查看服务器的相关信息:
使用Vultr搭建ShadowSocks/VPS搭建SS(超详细)

接下来操作需要的信息是IP Address(IP地址),Username(用户名)和Password(密码)。这个页面不要关,一会直接复制粘贴相关信息。

远程连接服务器

方法:使用网页版的进行操作。点击刚才的网页的右上角的五个按钮最左边的View Console进行操作。

方法:使用ssh工具进行操作。 Windows用户使用putty或Xshell进行操作。Mac用户请使用终端或iTerm2进行操作。

以Xshell为例(Windows用户请看)

  1. 下载安装Xshell。
  2. 安装完成后新建会话(快捷键Alt+N)。依次填写图中信息。 名称可以是Vultr或者其他,协议选择SSH,主机填写之前的IP Address,端口号选择22。
使用Vultr搭建ShadowSocks/VPS搭建SS(超详细)

点击左侧的用户身份验证,填写信息。方法选择Password,用户名为之前的Username(一般都是root),密码为之前的Password(这个建议直接复制粘贴过来,系统给的有点复杂)
使用Vultr搭建ShadowSocks/VPS搭建SS(超详细)

填写完之后点击确定。然后点击连接。出现其他提示的话选择接受就可以了。这时你就可以看到一个命令控制台了。这时就算连接成功了。

以iTerm2为例(Mac用户请看)

  1. 打开终端。
  2. 输入命令。
ssh root@45.32.195.77

如果有提示很长一大段文字,服务器连接指纹认证,如下

使用Vultr搭建ShadowSocks/VPS搭建SS(超详细)

输入

yes

接着出现

使用Vultr搭建ShadowSocks/VPS搭建SS(超详细)

将系统给的密码复制过来进行粘贴,粘贴操作是不允许看到密码的,粘贴完直接回车即可。

这之后就连接上了服务器。你将看到如下界面:

使用Vultr搭建ShadowSocks/VPS搭建SS(超详细)

脚本快速安装(方案一,推荐用户:全体成员尤其是小白)

脚本功能

  • 自定义端口号和密码,加密方式采用aes-256-cfb(脚本中采用此方式)
  • 全过程静默安装,不会打扰用户,你所要做的就是去听一首音乐或者去喝杯咖啡
  • 一次只允许运行一个shadowsocks进程,脚本会自动检测原来已经运行的进程并杀死
  • 安装防火墙并开放需要的端口,实测vultr服务器不安装防火墙无法进行连接

操作步骤

  1. 下载脚本
wget -O ss.sh http://zhangdanyang.com/ss.sh

  1. 执行脚本
bash ss.sh

# 设置端口号并回车,直接回车是设置为1225
Please enter PORT(1225 default):
# 设置密码并回车,直接回车是设置为123456
Please enter PASSWORD(123456 default):

# 等待一会……就完成了(初次执行约2-5min)

具体图示

使用Vultr搭建ShadowSocks/VPS搭建SS(超详细)

gif 演示

使用Vultr搭建ShadowSocks/VPS搭建SS(超详细)

独立动手搭建(方案二,推荐用户:极客,爱折腾的人)

搭建 Shadowsocks 服务

安装组件

yum install m2crypto python-setuptools
easy_install pip
pip install shadowsocks

安装完成后配置服务器参数

vi  /etc/shadowsocks.json

写入如下配置:

{
    "server":"0.0.0.0",
    "server_port":443,
    "local_address": "127.0.0.1",
    "local_port":1080,
    "password":"123456",
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open": false
}

多端口的如下:

{
    "server":"0.0.0.0",
    "local_address": "127.0.0.1",
    "local_port":1080,
    "port_password": {
         "443": "443",
         "8888": "8888"
     },
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open": false
}

其中server字段与local_address填写之前的IP Address。password是自己用于连接这个shadow socks的密码,自定义就好。 其他的不需要更改。

然后保存退出。

vi 的命令: 按 “i” 进入编辑模式,编辑后按 “esc” 退出编辑模式, 输入 “:wq” 保存退出vi。

配置防火墙

# 安装防火墙
yum install firewalld
# 启动防火墙
systemctl start firewalld

开启防火墙相应的端口

# 端口号是你自己设置的端口
firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --reload

启动 Shadowsocks 服务

# 后台运行    
ssserver -c /etc/shadowsocks.json -d start

# 调试时使用下面命令,实时查看日志
ssserver -c /etc/shadowsocks.json

连接

这样服务器就搭建好了。

全平台的连接方法:戳我

PC连接

下载Shadow Socks客户端。 选择适合的版本,下载并解压运行。

下载地址:点我

填写信息:服务器地址,端口号,密码,加密方式与代理端口默认即可

使用Vultr搭建ShadowSocks/VPS搭建SS(超详细)

填写完之后点击确定,然后到托盘中右键选择开启”启用系统代理”。

iOS连接

在App Store下载Wingy。

填写信息:服务器,端口,密码,代理模式,加密方式默认即可。

使用Vultr搭建ShadowSocks/VPS搭建SS(超详细)

MacOS连接

使用方式参考windows

下载地址:点我

Android连接

下载地址:点我

国外站点

Google

Youtube

Facebook

如果以上没有问题的话,这时候你就可以畅游外面的世界了。点击上述链接测试吧。

常见问题

远程连接工具xshell无法连接服务器。

此时ping一下服务器,如果ping不同,则证明创建的服务器ip被墙,请销毁掉当前服务器,重新创建新的服务器。

计费模式

服务器按照小时计费,如果一台服务器创建1天后就销毁了,那么只扣1天的费用。例如:服务器一个月$5,那么1天扣除的就是5/30美元。

转载:Win10+Python 3.6环境下cuda 9.1+cuDNN 7.1+Tensorflow 1.7+keras安装

目前tensorflow还不支持cuda9.1,不小心下成了cuda9.1又不想卸了重下,也不会自己编译成支持cuda9.1的怎么办,看看大神的解决办法

安装环境:

  • windows 10 64bit
  • python 3.6

安装以下步骤进行安装:

更新GPU驱动—>安装cuda—>安装cuDNN—>安装Tensorflow—>安装keras

1、更新GPU驱动

首先查看机器的GPU型号,查看其是否支持cuda,在Nvidia官网下载对应的最新驱动进行跟新。这一步应该很简单,就不多说了。

2、安装cuda

Tensorflow已经更新到1.7版本了,官网上说支持最新的cuda 9.X和cuDNN 7.X(结果被坑,后期详述),在Nvidia官网上下载最新的cuda和cuDNN。
cuda 9.1 下载地址:https://developer.nvidia.com/cuda-downloads

cuda9.1

cuDNN 7.1.2 下载地址:https://developer.nvidia.com/rdp/cudnn-download
注意:下载cuDNN需要注册用户,同时下载cuDNN版本时要对应cuda下载的版本,否则运行程序的时候会报错。这里选择v7.1.2 for cuda 9.1的win10版本。

cuDNN 7.1.2

安装包下载好之后,安装cuda(需要管理员权限),按照安装程序一步一步进行下去即可。安装完成后,在cmd输入nvcc -V查看cuda是否安装成功。

nvcc

3、安装cuDNN

解压缩下载的cuDNN安装包,得到以下三个文件夹

cuDNN安装包

将其复制在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1中,并在系统环境变量中添加如下项:

环境变量

其中第一项和第三项是安装cuda时系统自动设置的,我们只需要添加第二项即可。

4、安装tensorflow GPU版本

这一步很简单,在cmd输入 pip install tensorflow-gpu 即可。
输入以下代码,查看是否安装成功

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

结果显示:

ImportError: Could not find 'cudart64_90.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Download and install CUDA 9.0 from this URL: https://developer.nvidia.com/cuda-toolkit

查了一下,发现tensorflow 1.7这个版本支持到cuda 9.0。由于个人比较懒,不想再次下载安装文件,因此查询了一下其他办法。在https://github.com/fo40225/tensorflow-windows-wheel中有作者利用cuda 9.1自己编译的版本,在项目中找到对应的版本下载就好了(这里下载tensorflow_gpu-1.7.0-cp36-cp36m-win_amd64.whl)。
将之前安装的tensorflow卸载:

pip uninstall tensorflow-gpu

重新安装:

pip install 文件存放路径\文件名.whl

安装完成后,尝试一下代码:

import tensorflow as tf
#Creates a graph.
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
#Creates a session with log_device_placement set to True.
sess = tf.InteractiveSession()
#Runs the op.
print(sess.run(c))

from tensorflow.python.client import device_lib as _device_lib
print(any((x.device_type == 'GPU') for x in _device_lib.list_local_devices()))
print(_device_lib.list_local_devices())

如果能顺利通过,并显示如下结果,说明安装成功。

结果

4、安装keras

输入

pip install keras

keras

安装完成后,在python IDE中输入

import keras

如果输出

keras2

恭喜,keras安装成功,并以tensorflow作为后端。

参考资料
1、https://blog.csdn.net/chai_zheng/article/details/78679881
2、https://blog.csdn.net/weixin_35653315/article/details/71403386
3、https://blog.csdn.net/vcvycy/article/details/79298703

GRE备考总结

先说一下,此备考经验不一定适用与所有人,但还是希望能为出国路上的你们提供一些帮助。

我的准备时间说起来还是挺长的,从大二上学期的寒假就开始准备了,然后考试时间是大二下学期的5月13号,所以还是有差不多3个月的准备时间。

但是和很多人一样,刚开始准备时真的是一脸懵逼。几乎所有的单词都不认识,题都看不懂,根本没法做题。所以和我一样的同学会发现刚开始准备的时候效率会特别低,做一下午填空都做不了几题。然后会觉得完了,不用考了,肯定过不了。如果这样想的同学请一定要调整好心态。你现在是刚开始准备一门你之前从来没有接触过的考试,而且是研究生入学考试,你要是一开始就题目都会做,那美国的大学都招收的是什么人啊?。所以摆正心态很重要,从不会到会都是有一个过程的。

摆正心态后,我们就可以开始我们的备考了。一开始单词都看不懂做题效率特别低怎么办。我的建议是一开始先不要做题,单纯地背单词。背单词的话第一遍建议先背新东方的佛教词汇,因为这套词汇单词量不是很多,只有2000多个,而且都是很高频的词汇。这样的好处是你能在短时间内背完,不仅会让自己有成就感,而且可以较早地进入做题的环节。

把佛教词汇背完后就可以开始刷题了,你会发现大部分题目都能看懂了,这个时候如果发现有自己之前背过有映像的但是在题目中又记不清意思的单词,一定要在这个阶段进行巩固,将其牢牢记住。所以这个阶段还是巩固之前自己背单词成果的阶段。

刷题也是有讲究的,我这里讲一讲如果准备时间不是很充足的情况。虽然我的准备时间看似很长,但是寒假嘛,你懂的,一天背不了几个单词,然后开学后,大二专业课也难,平时各种实验,作业,准备GRE的时间其实很少,就周末能抽空看看。我的经验是,如果准备时间很紧的话,平时又没时间做一整套模拟题,那就多刷填空吧。我的想法是这样的,每个verbal里面填空和阅读的分是对半分的,但从难度上来讲,填空绝对要比阅读简单,而且平时刷填空的效率比阅读要高很多,刷了一段时间你会很明显地感觉到正确率提高了。而刷阅读时,就感觉很枯燥乏味,读一篇要好久,做完再一对答案发现错好多,真的好打击人啊。

我平时没有成片的时间的时候都是刷填空,然后周末有成片的时间的时候就做一整套GRE真题,那个时候就练一下阅读。实际上考前我一共做的真题也就只用official guide上的两套和powerprep上的两套。所以量不在多,做题时一定要总结题目的套路。因为我的阅读实在不好,也没有大量的练习,所以我在这里只说一下填空的套路。填空的关键在于判断前后句意是相同还是相反。比如如果是转折,那么转折前后句意一定是相反,那你选择的时候就要找表示相反意义的此。反之就选择意思相同的。掌握这个套路,再加上巩固自己背过的单词,填空应该可以保证一个很不错的正确率。

至于数学,应该就不用我多说了,身为中国的考生,要有这样一种自信,不用怎么准备也可以考到接近满分的水平。

作文的话也是需要十分重视的,毕竟第一项就考作文,万一作文没写好,后面可能会心态崩了。作文我推荐李建林的《新GRE写作5.5》,里面对issue和arguement的核心写作方法都做了明确的阐释,特别是issue的“先提正,后提反,因人因题合反散”的方法实在是精辟,按照他的思路,再加上书中的十大论证技巧,你会发现不需要模板你就有很多话可以写,就看你的打字速度能写出多少字了。说到打字速度我实在是羞愧,我打字练得比较晚,所以打英语一直特别慢,在考场上都是勉强打完。但最后却人品爆发得了4分。所以打字慢的同学也不要有心里负担,在考前练练打字,在考场上一定要将自己的核心思想、自己的观点表现出来,字数太少或不够也不要太沮丧,毕竟作文还是看你的思想,说不定你最后也能和我一样人品爆发呢。个人建议考前一周每天写issue和arguement的提纲各一篇,考虑到打字所需的时间,每篇提纲要限定在10分钟之内写完,这样提高自己对考试的适应程度。

在考试技巧上面,verbal我建议不管题目的顺序,先把所有的填空做完,遇到阅读夜线跳过去,先把填空做完再做阅读,因为阅读就算你花时间做了也不一定能做对,而填空只要你单词认识,加上相同相反的套路,有很大把握是能做对的,所以从性价比的角度来说,先做填空是最划算的。最后实在没时间做阅读了,就蒙一下,开个玩笑,有时候自己认真做的还没有蒙的对得多。但至少你把填空的分都把握住了,如果再能做对一半的阅读,那你的verbal的分数就已经很高了。

数学的话,中国的考生应该都会觉得时间很充足的,那么我的建议是做完了一定要仔细检查,GRE的数学虽然不难,但还是会有很多坑的,有时候一不注意就掉进去了。

以上就是我自己备考GRE总结出来的一些经验,希望能对你们有所帮助。