#############################################
# 基本设置
#############################################
appname=nps
# Boot mode (dev|pro)
runmode=pro
# Secure mode 开启后提高安全性，不再兼容旧版客户端连接
secure_mode=true
# DNS 服务器配置
dns_server=8.8.8.8

#############################################
# 域名转发设置
#############################################
# HTTP/HTTPS 代理设置：端口为 0 时不启动代理服务
http_proxy_ip=${NPS_HTTP_PROXY_IP}
http_proxy_port=${NPS_HTTP_PROXY_PORT}
https_proxy_port=${NPS_HTTPS_PROXY_PORT}

# HTTPS 默认证书配置
https_default_cert_file=conf/server.pem
https_default_key_file=conf/server.key
# 自动申请证书保存目录
ssl_path=conf/ssl
# 自动申请证书使用的邮箱
ssl_email=you@yours.com
# 自动申请证书使用的CA（LetsEncrypt|ZeroSSL|GoogleTrust）
ssl_ca=LetsEncrypt
# ZeroSSL 需要提供 API Key
#ssl_zerossl_api=xxx
# 证书缓存最大个数（0 不限制）
ssl_cache_max=0
# 证书缓存重载间隔（单位：s）
ssl_cache_reload=3600
# 证书缓存闲置清理（单位：m）
ssl_cache_idle=60

# 获取客户端真实 IP
http_add_origin_header=true
# 当使用 Nginx 等反向代理 http_proxy_port 时，通过向 HEAD 中插入 X-NPS-Http-Only 和密码来避免 301 重定向（留空关闭该功能）
#x_nps_http_only=password
x_nps_http_only=

# HTTP 缓存配置 (已弃用)
http_cache=false
http_cache_length=100

#############################################
# 客户端连接配置
#############################################
# Bridge 配置 (tcp|kcp|both)
bridge_type=tcp
bridge_ip=0.0.0.0
# Bridge 监听端口 (配置0关闭)
bridge_port=${NPS_BRIDGE_PORT}
# 仅在 bridge_type 为 (tcp|both) 时可用
bridge_tls_port=${NPS_BRIDGE_TLS_PORT}
bridge_ws_port=${NPS_BRIDGE_WS_PORT}
bridge_wss_port=${NPS_BRIDGE_WSS_PORT}
# WS 的连接路径
bridge_path=/ws
# 端口复用需要配置
bridge_host=xxx.com
# 如果没有证书建议留空自动随机生成
#bridge_cert_file=
#bridge_key_file=
# 在网页命令行显示的连接地址 （留空使用网页地址）
bridge_addr=

# 公共密钥
public_vkey=${NPS_PUBLIC_VKEY}

# P2P 配置
# 配置'0.0.0.0'自动识别，配置'::'自动识别IPv6，若存在问题请手动指定地址
p2p_ip=0.0.0.0
p2p_port=6000

# 客户端断开连接超时时间（60*30秒）
disconnect_timeout=60

#############################################
# 允许端口范围配置（可选）
#############################################
# 设置允许的端口范围（格式：范围或单个端口，用逗号分隔），如不配置则不限制端口
# 若需要限制端口，请取消下面注释并根据需要修改配置值：
#allow_ports=9001-9009,10001,11000-12000

#############################################
# Web 管理配置
#############################################
# 管理后台登录用户名和密码
web_username=${NPS_WEB_USERNAME}
web_password=${NPS_WEB_PASSWORD}
# 2FA 双因素认证密钥
# 填写后密码登录失效，使用动态验证码登录
# 可使用"nps -gen2fa"命令来生成TOTP密钥，可使用"-gen2fa=secret"获取当前动态密码
totp_secret=
# 开启管理面板验证码校验
open_captcha=true

# 是否允许使用 X-Real-IP 头部
allow_x_real_ip=false
# 受信任的代理服务器 IP 地址（多个用逗号分隔）
trusted_proxy_ips=127.0.0.1

# Web 管理监听设置
web_host=${NPS_WEB_HOST}
web_ip=0.0.0.0
web_port=${NPS_WEB_PORT}
# 是否启用 HTTPS
web_open_ssl=${NPS_WEB_OPEN_SSL}
# HTTPS 证书配置
web_cert_file=${NPS_DEFAULT_CERT_FILE}
web_key_file=${NPS_DEFAULT_KEY_FILE}
# 请求路径（例如 /nps http://host/nps）
#web_base_url=/nps

# Web管理多用户设置
allow_user_login=false
allow_user_register=false
allow_user_change_username=false

#############################################
# Web API 与安全设置
#############################################
# 用于 API 访问的认证密钥，建议设置长且复杂以防暴力破解
auth_key=
# 获取服务端 authKey 时使用的 AES 加密密钥（16 位），建议随机生成
auth_crypt_key=${NPS_AUTH_CRYPT_KEY}

#############################################
# 扩展功能配置
#############################################
# 流量数据持久化间隔（单位：分钟），留空表示不持久化
# 使用限制功能需要开启此选项
flow_store_interval=1
# 流量限制
allow_flow_limit=true
# 带宽限制
allow_rate_limit=true
# 时间限制
allow_time_limit=true
# 客户端最大隧道数限制
allow_tunnel_num_limit=true
# 允许 NPS 本地代理连接
allow_local_proxy=false
# 客户端最大连接数限制
allow_connection_num_limit=true
# 允许配置隧道监听IP
allow_multi_ip=true
# 系统负载监控显示
system_info_display=true
# IP 访问限制（详见文档说明）
#ip_limit=true

#############################################
# 日志配置
#############################################
# 日志模式:stdout|file|both|off
log=stdout
# 日志级别:trace|debug|info|warn|error|fatal|panic|off
log_level=trace
# 日志输出路径
log_path=conf/nps.log
# 是否启用日志压缩 (true|false)
log_compress=false
# 允许保存的日志文件总数
log_max_files=10
# 允许保存日志的最大天数
log_max_days=7
# 单个日志文件的最大大小（MB），超过此大小将自动轮换
log_max_size=2

#############################################
# 调试功能配置
#############################################
# pprof 调试选项（取消注释启用）
#pprof_ip=0.0.0.0
#pprof_port=9999
