技术在于折腾。
由于平时查阅受限,导致一些国外优秀的文章在国内无法查看,故自己动手丰衣足食。(ps:仅限技术交流,不用于商业用途)
关于VPS有很多种,例如:DigitalOcean、BandwagonHost、Vultr等,可以根据自己的经济能力自行选择。
- 以DigitalOcean举例
一、官网注册
https://cloud.digitalocean.com/
ps:注册费用$5,现在还送$10,一共$15,如果选用最便宜的服务器,可以使用3个月。当然,你也可以租用别家的VPS,适合自己就好.
二、创建虚拟服务器
三、选择服务器
- 系统默认是乌班图,喜欢CoreOS、CentOS可以自行选择
- 价钱是每月的使用费以及设备的配置,如果平时上网话,5刀的足以
- 线路使用纽约、旧金山都可以,建议使用旧金山的
四、选择连接方式,建议使用ssh连接(安全)
ps:关于配置ssh可以在settings里面找到。
生成ssh,可以参考github官方生成文档:https://help.github.com/articles/connecting-to-github-with-ssh/
查看ssh,可以通过查找文件输入 ~/.ssh的方式
具体查看公钥
1 | cat ~/.ssh/id_rsa.pub |
- 再把查看的公钥粘贴至对话框
五、连接服务器及部署
- 连接服务器,生成的IP地址
1 | ssh root@xxx.xxx.xxx.xxx |
1.通过部署Docker容器方式
1 | sudo apt-get install docker.io |
ps:如果出现部署不上,出现如下情况,执行下面命令。
情况一: 提示需要更新。
1 | sudo apt-get update |
情况二: 找不到docker.io(Ubuntu里,Docker叫docker.io),那就采用其它安装方式安装最新版本的Docker。
此命令会把Docker官方提供的最新版本的软件仓库替换Ubuntu的相应仓库。有一点要注意,采用这种方式进行安装,Docker的软件包名应该叫lxc-docker。此时,Docker命令的名字还是docker。而采用之前上面的安装方式,Docker命令的名字应该叫docker.io。
1 | curl -sSL https://get.docker.com/ | sudo sh |
再升级Docker
1 | sudo apt-get update && sudo apt-get upgrade |
2. 通过部署脚本方式
1 | wget --no-check-certificate -O shadowsocks-libev_CN.sh https://raw.githubusercontent.com/uxh/shadowsocks_bash/master/shadowsocks-libev_CN.sh && bash shadowsocks-libev_CN.sh |
六、连接
(一)、通过Docker容器方式部署连接仓库
1、通过shadowsocks(ss)连接.
- 通过
DockerHub
搜索docker-shadowsocks
- 从DockerHub上,拉取shadowsocks容器
1 | docker pull oddrationale/docker-shadowsocks |
- 设置仓库的端口、密码、及加密方式
ps:
xxxxxx 是你要设置的密码
1984 是你的端口号
1 | docker run -d -p 1984:1984 oddrationale/docker-shadowsocks -s 0.0.0.0 -p 1984 -k xxxxxx -m aes-256-cfb |
对于为什么端口的设置,因为在启动镜像时,宿主机映射到docker容器上的端口必须要和shadowsocks上的设置的端口一致,换句话说就是冒号后边的端口号和最后的端口必须要保证一致。因为想要外界能够访问容器内部应用,就需要给从宿主机通过-p参数给宿主机和容器之间的端口形成一对一的映射来访问,而容器内则需要保证shadowsocks的端口和被映射端口一致即可。
- 查看docker 列表
ps:如果出现up就表明部署成功
1 | docker ps |
2、通过IPsec VPN连接.
- 通过
DockerHub
搜索ipsec
- DockerHub地址: https://hub.docker.com/r/hwdsl2/ipsec-vpn-server/
- 从DockerHub上,拉取shadowsocks容器
1 | docker pull hwdsl2/ipsec-vpn-server |
- 运行 IPsec VPN 服务器
1 | sudo modprobe af_key |
- 使用本镜像创建一个新的Docker容器 (env文件里面是指定变量的,需要自己单独创建)
Ps: 自己创建env文件并把自己定义的名字写在里面
VPN_USER: 用户名
VPN_PASSWORD: 用户密码
1 | VPN_IPSEC_PSK=your_ipsec_pre_shared_key |
Ps: 下面代码需要全部写在终端里面,当然也可以不加 --env-file ./env \
这一行,如果不写VPN_USER
会默认为 vpnuser,并且 VPN_IPSEC_PSK
和 VPN_PASSWORD
会被自动随机生成。
ipsec-vpn-server: 容器名字
./env: 变量名字路径
4500: 端口
1 | docker run \ |
- 获取 ipsecVpn 登录信息
1 | docker logs ipsec-vpn-server |
1 | docker logs xxxx: 容器名字 |
在命令输出中查找这些代码:
Connect to your new VPN with these details:
Server IP: your_vpn_server_ip
IPsec PSK: your_ipsec_pre_shared_key
Username: your_vpn_username
Password: your_vpn_password
- 添加vpn地址
- 共享密钥填写IPsec PSKs
(二)、 通过脚本方式部署连接仓库
- 选择安装: 1
- 设置密码、端口及加密方式
ps: 加密方式建议选择 aes-256-cfb
- 回车安装,安装成功
安装过程会经历几分钟,然后把配置信息保存好
七、添加服务器
- 下载ss客户端(shadowsocks),并添加。
GitHub官方提供下载dmg:
https://github.com/shadowsocks/shadowsocks-iOS/releases
ps: 新一代shadowsocks客户端:
https://github.com/shadowsocks/ShadowsocksX-NG/releases
- 安装后配置服务器,打开服务器设置,并添加服务器。
- 把创建的服务器Ip、端口号及创建的加密方式密码填入即可
ps:
如果是通过Docker安装的,默认端口号填写的1984,加密方式选择aes-256-cfb
八、Docker命令
- 查看安装容器
1 | docker ps |
- 暂停容器
ps: 查询过后NAMES,为启动镜像后随机生成的容器名.
1 | docker stop xxx(容器名字) |
- 删除容器
ps: 删除容器前需要暂停容器
1 | docker rm xxx(容器名字) |
- 启动容器
1 | docker start xxx(容器名字) |
- 拉取安装镜像仓库
1 | docker pull xxx(镜像名字) |
- 查看下载镜像仓库
1 | docker images |
- 删除下载镜像仓库
1 | docker rmi xxx(镜像名字) |