前提条件
你要有下面这些东西才能实现文章中的解决方案:
- 一台带公共ip的外网服务器
- 一个域名
1. 申请一个域名
域名可以在cloudflare或者onamae上申请,花不了几个钱。
2. 申请一个证书
证书可以通过acme这种工具来自动发行和更新。
2.1 先在自己的服务器上安装acme.sh
把my@example.com替换为自己的邮件地址,执行下面的命令。
1 | curl https://get.acme.sh | sh -s [email protected] |
acme.sh通常会被安装到/home/username
文件夹下。(username
是你自己的用户名)
记住这个位置。
另外acme.sh需要执行更新命令,会占用80端口,这个需要注意一下。
2.2 发行证书
遵照acme官方文档的指示,使用dns手动模式发行证书。
域名可以是example.com
这种,也可以是domain.example.com
这种。
这一步你需要把命令行中输出的TXT记录登记到你域名管理的网站上。
所有3个步骤执行完之后你的证书就会在/home/username/.acme.sh/
文件夹里了。
3. Docker Compose搭建Shadowsocks+V2Ray Plugin服务端
直接从acris的github repo找到配置文件,
改为自己相应的信息。
有以下几个注意点:
- 首先要明确第2步下载得到的证书的位置。
/home/username/.acme.sh/
- 另外yaml文件中user要设置成有正确权限的人。比如
root
- 最后模式要指定正确。本人设置为
mode=ws
。如果不确定的话去上面的github repo看一下文档。 - 左侧的本地port不用必须设置成8388,可以改成自己喜欢的port。
- 加密方式可设为自己喜欢的METHOD。
1 | version: "3.7" |
配置完成之后启动服务端。
1 | sudo docker-compose up -d |
4. 客户端设置
4.1 iOS端
还得是小火箭。
其他的一些工具不支持v2ray-plugin。
配置设置如图所示:
4.2 Mac端
自己试了也就只有ClashX好用。
ClashX要求先在config.yaml中设置一下才能使用。
18行左右添加如下配置:
这里的domain和密码,端口之类的配置信息要和服务器端的配置一致。
1 | proxies: |
然后Config>Reload Config一下就可以加载这个配置了。