从 0 搭建一个 AnyTLS 节点(Caddy 分流, 自动维护证书)
从 0 搭建一个 AnyTLS 节点(Caddy 分流, 自动维护证书)
- 使用 Caddy 通配符证书, mholt/caddy-l4 sni 分流
- AnyTLS 不开 TLS, 靠 Caddy 自动维护证书
▎mise
官方文档
- 使用 Caddy 通配符证书, mholt/caddy-l4 sni 分流
- AnyTLS 不开 TLS, 靠 Caddy 自动维护证书
▎mise
官方文档shell
curl https://mise.run | shshell
echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrcfish:
shell
echo '~/.local/bin/mise activate fish | source' >> ~/.config/fish/config.fish重启你的 shell 会话, 安装
gomise use -g goshell
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latestmholt/caddy-l4(基于 SNI 转发) 安装:
补充一点 如果想用最新的特性 可以用
补充一点 如果想用最新的特性 可以用
xcaddy build master 但是可能也有新鲜的 bug 🐶shell
xcaddy build latest --with github.com/mholt/caddy-l4 --with github.com/caddy-dns/cloudflare --output /usr/bin/caddy
mholt/caddy-l4 文档caddy 配置(使用通配符证书, 需要配置
CLOUDFLARE_API_TOKEN )/etc/caddy/Caddyfile{
log {
output stdout
format console
level INFO
}
servers :443 {
listener_wrappers {
layer4 {
@anytls tls sni a.foo.com
route @anytls {
tls
proxy tcp/127.0.0.1:23556
}
}
tls
}
}
}
# this block makes Caddy obtain a wildcard TLS certificate
*.foo.com {
tls {
issuer acme {
email [email protected]
dir https://acme.zerossl.com/v2/DV90
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
}
issuer acme {
dir https://acme-v02.api.letsencrypt.org/directory
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
}
}
respond "Hello World!" 200
}
▎服务端(对 我就喜欢用 mihomo 服务端)
mihomo 官方文档中的 创建运行服务
mihomo 配置(
paddingScheme 是 vibe 的. 可以自定义. 顺便示范下如何 优先使用 IPv4. 其他配置省略, 自己加吧)proxies:
- name: "direct"
type: direct
udp: true
ip-version: ipv4-prefer
listeners:
- name: anytls-in
type: anytls
proxy: direct
port: 23556
listen: "127.0.0.1"
users:
root: "xYbpwdF9vIELWoLmdC"
certificate: ""
private-key: ""
allow-insecure: true
# https://github.com/anytls/anytls-go/blob/main/docs/protocol.md#cmdupdatepaddingscheme
padding-scheme: |-
stop=10
0=38-72
1=180-420,520-960
2=1050-1320,c,260-620,c,760-1240,c,260-680,c,900-1350
3=90-220,780-1180
4=700-1240,c,220-520,c,900-1360
5=160-420
6=760-1280
7=220-640
8=900-1360
9=180-480
2. 客户端
Sub-Store 内单行 JSON
json
{ "name": "节点名", "type": "anytls", "server": "服务器", "port": 443, "password": "xYbpwdF9vIELWoLmdC", "udp": true, "sni": "a.foo.com" }或 Surge 格式
shell
节点名=anytls,服务器,443,password="xYbpwdF9vIELWoLmdC",sni=a.foo.com▎相关阅读
Caddy 使用 Redis 共享 storage
相关:
Sub-Store 自动设置服务端证书 SHA-256 指纹 自建节点证书相关说明
GOST SNI 分流
服务器合集
合集
群组
恰饭
联系推广
#AnyTLS #mihomo #节点 #服务器 #协议 #Caddy
Caddy 使用 Redis 共享 storage
相关:
Sub-Store 自动设置服务端证书 SHA-256 指纹 自建节点证书相关说明GOST SNI 分流
服务器合集
合集
群组
恰饭
联系推广
#AnyTLS #mihomo #节点 #服务器 #协议 #Caddy