配置项速查表¶
所有设置都写在 kaze.conf 里,每行一个,格式是 配置项=值;也可以用同名环境变量传入(Docker 常用,写成 配置项: 值)。面板下发的协议、端口、传输、用户等不在这里,由面板控制。
说明里的「例」可以直接照抄,把值换成你自己的。没写进配置的项就用「默认」。
对接(必填)¶
| 配置项 | 默认 | 说明 |
|---|---|---|
type |
xboard | 面板类型:xboard、v2board、v2node(wyx2685 的 v2node 节点)、ppanel例: type=xboard |
server_type |
— | 节点协议。Xboard、v2node 可不填;V2board、PPanel 必填。PPanel 可写多个:server_type=vless,trojan,hysteria例: server_type=vless。可选值:trojan ss(或 shadowsocks) vless vmess hysteria tuic anytls mieru socks http,见对接 V2board |
node_id |
— | 面板里的节点 ID(PPanel 是服务器 ID),多个用逗号分隔 例: node_id=1 或 node_id=1,2,3 |
webapi_url |
— | 面板地址,带 https://(也可写 panel_url)例: webapi_url=https://panel.example.com |
webapi_key |
— | 通讯密钥。Xboard 在后台「系统配置 → 节点配置 → 通讯密钥」,V2board 在「系统配置 → 节点 → 通讯密钥」(也可写 panel_key)例: webapi_key=xxxxxxxxxxxx;PPanel 在「系统设置 → 节点配置 → Secret Key」 |
machine_id |
— | Xboard 机器模式的机器 ID,填了就不需要 node_id,见机器模式例: machine_id=3 |
machine_token |
— | 机器令牌,在面板添加机器时给出 例: machine_token=xxxxxxxx |
监听与日志¶
日志的用法见日志。
| 配置项 | 默认 | 说明 |
|---|---|---|
listen |
面板下发 | 监听的 IP。0.0.0.0 同时监听 IPv4 和 IPv6;只想监听某个 IP 就写那个 IP例: listen=0.0.0.0 |
log_level |
info | 日志级别:debug(排错用,很多)/ info / warn / error(只记错误)例: log_level=warn |
memory_limit |
0 | 内存软上限,单位 MB。0 = 自动(机器内存或容器限制的 70%);off = 不限制例: memory_limit=512 |
log_file_dir |
— | 把日志另存到这个目录。留空只输出到系统日志(kaze log 查看)例: log_file_dir=/var/log/kaze |
log_file_retention_days |
7 | 日志文件保留天数,0 = 永久保留 例: log_file_retention_days=30 |
同步间隔¶
| 配置项 | 默认 | 说明 |
|---|---|---|
check_interval |
0 | 从面板拉取配置和用户的间隔,单位秒。0 = 用面板设置的值(Xboard:系统配置 → 节点配置 → 节点拉取动作轮询间隔;V2board:系统配置 → 节点 → 拉取间隔;PPanel:系统设置 → 节点配置) 例: check_interval=60 |
submit_interval |
0 | 向面板上报流量的间隔,单位秒。0 = 用面板设置的值(面板里的「推送间隔」,位置同上) 例: submit_interval=60 |
submit_traffic_min_traffic |
0 | 用户本次流量少于这么多 KB 就攒到下次一起上报,减少面板压力。0 = 用面板设置的值 例: submit_traffic_min_traffic=10 |
submit_alive_ip_min_traffic |
0 | 用户本次流量少于这么多 KB 就不算在线(不占设备数)。0 = 用面板设置的值 例: submit_alive_ip_min_traffic=10 |
超时¶
| 配置项 | 默认 | 说明 |
|---|---|---|
tcp_timeout |
5 | TCP 连接空闲多久断开,单位分钟 例: tcp_timeout=10 |
udp_timeout |
2 | UDP 会话空闲多久结束,单位分钟 例: udp_timeout=3 |
用户限制¶
面板套餐里设置的限速、设备数优先;这里的设置用于面板没设置的情况,或给所有用户加一个上限。详见用户限制与风控。
| 配置项 | 默认 | 说明 |
|---|---|---|
user_speed_limit |
0 | 每个用户限速上限,单位 Mbps。面板值更低时用面板值。0 = 只用面板值 例: user_speed_limit=100 |
node_speed_limit |
0 | 整个节点的总带宽上限,单位 Mbps。0 = 不限 例: node_speed_limit=1000 |
user_device_limit |
0 | 面板没设设备数的用户,最多同时几个 IP 在线。0 = 不限(也可写 user_conn_limit)例: user_device_limit=3 |
device_ipv6_prefix |
64 | 同一 IPv6 网段算一台设备:手机用 IPv6 时地址会在 /64 内不断变化,按单个地址算会误判超设备数。128 = 按单个地址算;IPv4 始终按单个地址 例: device_ipv6_prefix=56 |
user_tcp_limit |
0 | 每个用户最多同时多少个连接。0 = 不限 例: user_tcp_limit=256 |
动态限速¶
说明见用户限制与风控。
一段时间内持续高速下载的用户,自动临时降速一段时间,防止少数人占满带宽。
| 配置项 | 默认 | 说明 |
|---|---|---|
dy_limit_enable |
false | 总开关 例: dy_limit_enable=true |
dy_limit_duration |
全天 | 只在这些时间段生效,可以写多段、可以跨零点。留空 = 全天 例: dy_limit_duration=20:00-02:00,10:00-14:00 |
dy_limit_trigger_time |
60 | 统计多少秒内的平均速度 例: dy_limit_trigger_time=60 |
dy_limit_trigger_speed |
100 | 平均速度超过这么多 Mbps 就触发 例: dy_limit_trigger_speed=100 |
dy_limit_speed |
30 | 触发后限速到这么多 Mbps 例: dy_limit_speed=30 |
dy_limit_time |
600 | 限速持续多少秒 例: dy_limit_time=600 |
dy_limit_white_user_id |
— | 不受动态限速的用户 ID,逗号分隔 例: dy_limit_white_user_id=1,25,108 |
审计与屏蔽¶
规则文件的写法见审计与屏蔽。
| 配置项 | 默认 | 说明 |
|---|---|---|
forbidden_bit_torrent |
true | 屏蔽 BT 下载。false = 允许例: forbidden_bit_torrent=false |
forbidden_private_ip |
true | 禁止访问内网地址(防止用户访问节点所在的内网) 例: forbidden_private_ip=true |
forbidden_ports |
— | 禁止访问的目标端口,可写区间。屏蔽 25/465/587 可防止被用来发垃圾邮件 例: forbidden_ports=25,465,587,1000-2000 |
block_list_file |
— | 本地审计规则文件 例: block_list_file=/etc/kaze/block.txt |
block_list_url |
— | 远程审计规则地址,定时自动更新 例: block_list_url=https://example.com/block.txt |
block_list_update_interval |
60 | 远程规则的更新间隔,单位分钟 例: block_list_update_interval=120 |
white_list_file |
— | 白名单文件,命中的不受审计规则限制 例: white_list_file=/etc/kaze/white.txt |
geosite_file |
同目录 geosite.dat | geosite 数据文件,规则里用 geosite: 时需要。kaze geo 可一键下载例: geosite_file=/etc/kaze/geosite.dat |
geo_update_interval |
7 | geo 数据文件超过这么多天就自动重新下载,只更新节点上已有的文件。0 = 不自动更新 例: geo_update_interval=3 |
geoip_file |
同目录 geoip.dat | geoip 数据文件,规则里用 geoip: 时需要例: geoip_file=/etc/kaze/geoip.dat |
路由与出口¶
| 配置项 | 默认 | 说明 |
|---|---|---|
routes_file |
— | 本机路由文件(出口、出口组、规则),写法见分流与出口。改了保存即生效,不用重启 例: routes_file=/etc/kaze/routes.conf |
routes_url |
— | 从网上定时拉取路由文件,代替 routes_file,多台节点共用一份例: routes_url=https://example.com/kaze/routes.conf |
routes_update_interval |
60 | routes_url 的更新间隔,单位分钟例: routes_update_interval=30 |
auto_out_ip |
false | 源进源出:多 IP 机器上,从哪个 IP 进来就从哪个 IP 出去 例: auto_out_ip=true |
DNS¶
详见 DNS 解析。
| 配置项 | 默认 | 说明 |
|---|---|---|
default_dns |
系统 DNS | DNS 服务器,多个用逗号分隔,前一个失败用下一个。写法:8.8.8.8(普通 UDP)、tcp://8.8.8.8、tls://1.1.1.1(DoT)、https://1.1.1.1/dns-query(DoH)例: default_dns=https://1.1.1.1/dns-query,8.8.8.8 |
dns_rules_file |
— | 按域名分流的 DNS 规则文件 例: dns_rules_file=/etc/kaze/dns.conf |
dns_cache_time |
10 | DNS 结果缓存时间,单位分钟 例: dns_cache_time=30 |
dns_strategy |
ipv4_first | ipv4_first(优先 IPv4)/ ipv4_only(只用 IPv4,机器没有 IPv6 时用)/ ipv6_first / ipv6_only例: dns_strategy=ipv4_only |
端口跳跃¶
| 配置项 | 默认 | 说明 |
|---|---|---|
hop_ports |
— | Hysteria2 / TUIC 端口跳跃的端口段,和面板「连接端口」一致。多段:20000-25000,30000-35000。见端口跳跃例: hop_ports=20000-30000 |
证书¶
一般不用在节点上设置:证书模式、域名在面板里填即可(面板里的 none / content / remote 模式只在面板选,节点配置不接受)(Xboard:节点管理 → 编辑节点 → 高级协议配置 → TLS;其它面板见面板设置对照)。这里的设置用于面板没有提供的情况,详见 TLS 证书。
| 配置项 | 默认 | 说明 |
|---|---|---|
cert_mode |
— | http = 自动申请(需开放 80 端口)/ dns = DNS 验证自动申请 / file = 用自己的证书文件 / self = 自签例: cert_mode=http |
cert_domain |
— | 证书域名,要解析到这台机器 例: cert_domain=node1.example.com |
cert_email |
— | 自动申请时登记的邮箱,用于证书到期提醒 例: cert_email=you@example.com |
cert_dns_provider |
— | DNS 验证的服务商:cloudflare / alidns(阿里云)/ tencentcloud(腾讯云 DNSPod)例: cert_dns_provider=cloudflare |
cert_dns_env |
— | DNS 服务商的密钥。多个用逗号分隔,如 ALICLOUD_ACCESS_KEY=xxx,ALICLOUD_SECRET_KEY=yyy例: cert_dns_env=CLOUDFLARE_DNS_API_TOKEN=你的令牌 |
cert_file |
— | 证书文件路径(cert_mode=file 时),文件更新后自动重新加载例: cert_file=/etc/kaze/cert.pem |
key_file |
— | 证书私钥文件路径 例: key_file=/etc/kaze/key.pem |
force_close_ssl |
false | 前面有 nginx 等负责 TLS 时打开,kaze 不再处理 TLS 例: force_close_ssl=true |
trojan_fallback |
— | 不是 Trojan / AnyTLS 的连接转给这个地址,让端口看起来像普通网站 例: trojan_fallback=127.0.0.1:80 |
中转与真实 IP¶
详见真实 IP。
| 配置项 | 默认 | 说明 |
|---|---|---|
trusted_x_forwarded_for |
— | 套了 CDN 或反代时,从这个请求头读用户真实 IP。Cloudflare 用 CF-Connecting-IP,其他通常是 X-Forwarded-For,多个用逗号分隔例: trusted_x_forwarded_for=CF-Connecting-IP |
proxy_protocol |
false | 前面有中转(HAProxy、nginx stream、gost 等)并发送 PROXY 头时打开,读取用户真实 IP 例: proxy_protocol=true |
force_proxy_protocol |
false | 只接受带 PROXY 头的连接,其余拒绝(防止绕过中转直连) 例: force_proxy_protocol=true |
防爆破¶
说明见用户限制与风控。
有人反复用错误的密码连接时,临时封禁他的 IP。
| 配置项 | 默认 | 说明 |
|---|---|---|
invalid_access_enable |
false | 总开关 例: invalid_access_enable=true |
invalid_access_count |
30 | 统计窗口内失败多少次就封禁 例: invalid_access_count=30 |
invalid_access_duration |
60 | 统计窗口,单位秒 例: invalid_access_duration=60 |
invalid_access_forbidden_time |
600 | 封禁多久,单位秒 例: invalid_access_forbidden_time=3600 |
授权¶
详见授权。不填就是免费版(每节点 100 个有效用户,节点收到的名单超过 300 人则拒绝服务);授权在 Telegram 机器人购买,见[首页](../index.md#购买授权)。
| 配置项 | 默认 | 说明 |
|---|---|---|
license_key |
— | 授权码 例: license_key=KZ-XXXX-XXXX-XXXX |
license_file |
— | 或者把授权码放在文件里 例: license_file=/etc/kaze/license.txt |
license_server |
https://auth.kazecore.dev |
授权签到地址,一般不用改 例: license_server=https://auth.kazecore.dev |
单节点独立设置¶
一个进程跑多个节点时,用 [node 节点ID] 段落给某个节点单独设置,只对它生效: