记一次折腾过程(二)
第二次折腾:
在稳定的使用一段时间后,有一天突然不能访问了。
想到后台看一眼,没想到官网来了这样一段文字。
为了避免之前其他的提供商那句:“相会有时,后会无期”的话。我还是别等了。
VPS:
其实之前没搞VPS是因为需要信用卡或者PayPal,当时还没有。不过现在终于有了,又重新找了找发现有的提供商付款选项里有个支付宝,马云爸爸还是厉害啊。(比特币笑而不语)
VPS的选择也有很多,可以上知乎看一看。别着急,耐心的看一看你是否都需要那么多配置,你需要为你过剩的CPU,内存以及硬盘空间来买单的。当然,性能越好,可做的事情就越多。你可以搭个服务器,跑点PHP,远程下载balabala的。
选择好你的服务器确定好系统后,我们可以开始了。(注:这里最好使用Linux 比Windows便宜很多而且Linux毕竟是专门干这种的,而且这里还有一个坑就是可能给你的IP也被*了,具体有没有Ping一下就行了,如果发生了咱态度诚恳点找一下客服给你换个IP解决)
开始
然后我们需要用到SSH连接工具来登录我们的服务器。
Mac和Linux下直接在终端中输入命令,连接后直接输入你的登录密码就可以直接连接。
在Windows系统下需要专门的客户端来SSH登录VPS。在Xshell官网下载。
ssh root@your_VPS_ipAddress
安装Shadowsocks:
Debian / Ubuntu:
apt-get install python-pip
pip install shadowsocks
CentOS:
yum install python-setuptools && easy_install pip
pip install shadowsocks
配置文件:
使用vim命令来编辑 /etc/shadowsocks.json
vim /etc/shadowsocks.json
如果你不会用vim来保存和编辑的话,去用几分钟学习下简单的使用,这个神器还有有很多故事和强大之处的。
{
"server":"my_server_ip",
"server_port":8388,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"mypassword",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
字段名 | 意义 |
---|---|
server | 你的服务器地址 |
server_port | 连接你服务器的端口 |
local_address | 本地服务器地址 |
local_port | 本地端口 |
password | 密码 |
timeout | 超时时间(秒) |
method | 加密方式(默认:aes-256-cfb) |
fast_open | TCP快速开启 (true / false) |
填写正确后我们保存并退出。
运行:
ssserver -c /etc/shadowsocks.json
如果一切配置顺利,你可以在你的终端看见端口正在启动,然后我们在客户端上按照之前的一样填写好我们的配置就可以了。这里的小细节,不要打错任何东西,否则两边不一致是无论如何都都建立不起来连接的。
好了,我们又可以愉快的玩耍了~
又是彩蛋:
没错,我们通过自己建立VPS有了一个自己的专属服务器连接,这个的速度和性能完全是根据我们选择去定制的。同时,我们会发现一个小弊端,那么就是我们如何让它一直活动,不能关闭后就不能用了,那也太坑了。
我们当然可以写一个shell脚本,放在开机自启动。这里有个比较取巧的方法。(感谢我的渣浪好室友,冠希童鞋:手动撒花~)
保持SS运行
使用screen命令进行远程回话管理流程:
- ssh登陆到远程机器上
- 键入screen建立一个新的会话窗口
- 在这个新的会话窗口中运行命令(通常是一些时间较长的任务),键入C-a d,退出并保存该会话窗口
(这之后可以退出ssh登陆的终端,下次工作时重新ssh登陆,再进行如下步骤)- screen -ls列出所有会话
- screen -r id重新连接会话
- 使用exit真正退出会话
该命令真正强大之处是退出远程登陆后,screen依然会替我们管理保存的会话,在后台执行,我们再次远程登陆后可以恢复任何会话的现场,适用于时间较长的任务。
其中C-a d是ctrl
+ A
+ D
一起键入。
这样我们在screen中运行启动命令,然后按ctrl
+ A
+ D
退出。
再断开连接的时候就不会中断这个命令,可以放心的关闭SSH连接了。
当然正统的方法是这样的:
添加应用到service:
创建脚本 /etc/init.d/shadowsocks
文件(其实也是 /etc/rc.d/init.d/shadowsocks
文件)
sudo vim /etc/init.d/shadowsocks
添加以下内容:
#!/bin/sh
#
# shadowsocks start/restart/stop shadowsocks
#
# chkconfig: 2345 85 15
# description: start shadowsocks/ssserver at boot time
start(){
ssserver -c /etc/shadowsocks.json -d start
}
stop(){
ssserver -c /etc/shadowsocks.json -d stop
}
restart(){
ssserver -c /etc/shadowsocks.json -d restart
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "Usage: $0 {start|restart|stop}"
exit 1
;;
esac
然后增加这个文件的可执行权限:
sudo chmod +x /etc/init.d/shadowsocks
**
这样就可以在 shell 中直接运行下面的命令开启程序了(重启和停止同理):**
sudo service shadowsocks start
注意:
这里以root权限运行的,如果不想以root权限运行可以用 sudo -u {user} {command}。
如果不给脚本文件加上其他用户的可执行权限,不带参数运行 service shadowsocks 会提示 unrecognized service。
设置开机启动:
在上面脚本没有问题(也就是保留了前面10行,并且语法正确)的情况下,通过下面的命令,就可以设置程序自动启动了
sudo chkconfig shadowsocks on
这样程序就会自动启动了。
结合此处两个解决方案:
How do I install chkconfig on Ubuntu?
多用户配置
我使用的每个月有2T流量,嗯…单单使用做SS的话,的确过剩了。
我们可以开辟多个端口,为每个端口使用不同的密码来登录。
{
"server":"my_server_ip",
"local_address": "127.0.0.1",
"local_port":1080,
"port_password": {
"2333":"mima12345",
"6666":"mima12345"
},
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
这其中加密方式 我还是推荐rc4-md5的。或者他们说chacha20对移动端访问速度比较快。
主要是AES加密太耗时。
另附地址:多用户配置
结束:
经过这样我们可以暂时有一个小小的窗户,来继续访问官网的最新技术。
扔给你个小软件HyperApp(撒花φ(>ω<*) )
至此,我们已经可以实现一个很理想的状态。但是能不能更好地让家里全局的设备,比如Chromecat也支持呢?下一篇我会介绍。