/docker-caddy-v2ray

Containerize Caddy(auto get certificate) and V2ray(WebSocket TLS vmess)

MIT LicenseMIT

最新

依旧可用 2020-01-20

todo

kubernetes yaml清单 Dockerfile ci(解决 DockerHub 清理长期未使用)

感谢

@v2ray @Caddy @caddy-docker @cloudflare

docker-v2ray ?

  • GCP 是不是还是经常断流?掉包严重? 我们就通过Cloudflare 的CDN过一下

  • 网上不是有v2ray 一键脚本吗? NO!NO!NO!容器化比较符合撸主口味 但是没发现有懒人版。 这里就集成整合一下。

  • 我这里的V2RAY设置了什么? 这里采用了最保险的方案Websocket tls cloudflare 如果大家有ALIYUN国内服务器可以省略cloudflare环节。

  • 这里为什么用Caddy?不用Nginx? 因为Caddy继承了Let's Encrypt申请,不用再单独用 certbot 去申请了。 记住需要mount Caddy 的$HOME/.caddy:/root/.caddy,因为Let’s Encrypt限制

  • 支持K8S吗 K8S完美支持。

需要修改哪些

因为V2RAY属于链式协议栈,大家可以根据自己小鸡情况自由编排,我这里只放出了最简单通用的配置。

GCP(服务端)

配置 server/config.json

用8082逻辑上混淆概率更高一点,至于加密大家可以根据自己需求配置

本地(客户端) client/config.json

设置socks代理 1080端口 HTTP代理1082端口

默认配置的UUID是:65b30af2-6694-4a4c-9677-54bf7b2b8d10,自己生成UUID替换

怎么使用

  • 修改 docker-compose.yml 中 cloudflare 自己的信息
  • 修改 Caddyfile 在cloudflare中的域名
  • 运行脚本
## 构建服务端镜像 这步可以省略
docker-compose build
## 服务端启动方法
docker-compose up -d
## 客户端启动 方法 一
docker-compose -f docker-compose-client.yml up -d
## 客户端启动 方法 二
docker run -it --rm -p 1080:1080 -p 1082:1082  -d -v $PWD/client:/etc/v2ray v2ray/official

其他

如果build Caddy时候出现 ERROR: error initializing submodules: usage: git submodule [--quiet] add [-b ] [-f|--force] [--name ] [--reference ] [--] []

主要是因为 Docker 会在Clone以后执行 git submodule update --init --recursive --depth=1 但是--depth这个参数在git 2.10之前并不支持。 我的是Centos解决办法如下

sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm
sudo yum swap git git2u