CADDY2准备

猫子使用的caddy2需要安装2个插件:

  1. ratelimit 限流插件

  2. replace-response 返回body替换字符串

Dockerfile

FROM caddy:2.7.6-builder-alpine AS builder

RUN xcaddy build \
    --with github.com/RussellLuo/caddy-ext/ratelimit \
    --with github.com/caddyserver/replace-response

FROM caddy:2.7.6-alpine

COPY --from=builder /usr/bin/caddy /usr/bin/caddy

制作镜像

docker build -t caddy:2.7.6 ./

配置

docker-compose

version: '3.8'
services:
  caddy:
    image: caddy:2.7.6
    container_name: caddy
    restart: unless-stopped
    network_mode: host  
    volumes:
      - /data/caddy/data:/data
      - /data/caddy/Caddyfile:/etc/caddy/Caddyfile
  mysql:
    image: mysql
    container_name: mysql
    volumes:
      - /data/mysql:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: ROOT密码
      MYSQL_DATABASE: nodequery
      MYSQL_USER: nodequery
      MYSQL_PASSWORD: 普通用户密码
    restart: always
    ports:
      - "3306:3306"
  nodequery:
    image: jaydenlee2019/mynodequery:latest
    container_name: nodequery
    volumes:
      - /data/nodequery/appsettings.json:/app/appsettings.json
    restart: always
    network_mode: host

注意:猫子的安装方式caddy和mynodequery只能通过host网络安装,解决的是获取公网IP的问题。

Caddyfile

tz.xxx.com:443 {
    encode gzip
    route /* {
        rate_limit {remote.ip} 30r/s 10000 401
        replace idcoffer.com 域名
        replace VPS收割者 站点名字
        reverse_proxy /* localhost:5000
    }
}

appsettings.json

文件路径:/data/nodequery/appsettings.json

{
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft": "Warning",
            "Microsoft.Hosting.Lifetime": "Information"
        }
    },
    "MySql": {
        "ConnectionString": ""
    },
    "AllowedHosts": "*",
    "Installed": "false",
    "ReadNodeIpHeaderKey": "X-Forwarded-For"
}

启动容器

docker-compose up -d

初始化

在浏览器进入系统。

MySQL连接设置

  • 主机名:localhost

  • 端口:3306

  • 数据库名:nodequery

  • 用户ID:nodequery

  • 密码:普通用户密码

站点设置

按提示操作即可。

Ping节点设置

找国内电信、联通、移动等能 ping 的 ip 填入即可。

如果是ipv6 only小鸡,注意新增分组,填入ipv6可以ping的IP。

以下是网友提供的IP清单:

80/443端口

IPV4版

地区/运营商

IP

广州电信

183.47.126.35

广州联通

157.148.58.29

广州移动

120.233.18.250

广州教育

202.116.64.8

上海电信

101.226.94.124

上海联通

140.207.122.197

上海移动

117.185.253.224

上海教育

202.120.2.119

北京电信

49.7.37.74

北京联通

111.206.209.44

北京移动

112.34.111.194

北京教育

166.111.4.100

IPV6版

地区/运营商

IP

广州电信

240e:97c:2f:3000::44

广州联通

2408:8756:f50:1001::c

广州移动

2409:8c54:871:1001::12

广州教育

2001:da8:2004:1000:202:116:160:17

上海电信

240e:e1:aa00:4000::24

上海联通

2408:80f1:21:5003::a

上海移动

2409:8c1e:75b0:3003::26

上海教育

2001:da8:8000:6fc0:102:1200:2:48

北京电信

2400:89c0:1053:3::69

北京联通

2400:89c0:1013:3::54

北京移动

2409:8c00:8421:1303::55

北京教育

2402:f000:1:404:166:111:4:100

域名版 包含了IPV4/IPV6 会维护更新

地区/运营商

域名

广州电信

gz.telecom.883845.xyz

广州联通

gz.unicom.883845.xyz

广州移动

gz.mobile.883845.xyz

广州教育

gz.edu.883845.xyz

上海电信

sh.telecom.883845.xyz

上海联通

sh.unicom.883845.xyz

上海移动

sh.mobile.883845.xyz

上海教育

sh.edu.883845.xyz

北京电信

bj.telecom.883845.xyz

北京联通

bj.unicom.883845.xyz

北京移动

bj.mobile.883845.xyz

北京教育

bj.edu.883845.xyz

相关资料

https://hub.docker.com/r/jaydenlee2019/mynodequery