配置文件 config.yaml 只放启动之前就要知道的设置。大部分日常设置存在数据库里,在界面上改,见下文不在配置文件里的设置。
| 项 |
说明 |
| 路径 |
Docker 部署是 compose 目录下的 config/config.yaml,容器里为 /app/config/config.yaml。二进制部署由 -c 参数指定,默认是工作目录下的 config/config.yaml。界面「设置 › 关于」的「配置路径」显示当前用的是哪个文件。 |
| 格式 |
YAML。没写的键取默认值。 |
| 生效 |
改完要重启 nSIM。 |
| 写错的键 |
段内拼错的键被静默忽略。不认识的顶层段,启动时会打印一条「完全不生效」的提示。改完对照本页核对键名。 |
| 权限 |
文件里有口令,权限设为 600。文件和它所在的目录都要对 nSIM 可写,界面里改口令、添加设备时会写回这个文件。 |
下面这些由配置文件给初值,之后在界面里改。
| 配置项 |
在界面里哪里改 |
改后 |
web.password |
「设置 › 账号与安全」 |
以加密形式写回配置文件 |
web.two_factor |
「设置 › 账号与安全」的「通知渠道验证码」 |
写回配置文件 |
devices、readers |
「设备」页添加设备 |
写回配置文件 |
devices 里的选网、控制面后端 |
设备的「选网方式」、设备的「模组」页签 |
写回配置文件 |
github_mirror |
「设置 › GitHub 下载加速」 |
存进数据库,此后配置文件里的这一段不再生效 |
下面这些只存在数据库里,在界面上改,配置文件里没有对应的键:
- 卡策略,见卡策略。新卡默认是飞行模式。
- 所在地区,在「设置 › 设备接管」里改。
- 界面语言,存在各自的浏览器里,在「设置 › 外观」里改。
- 通知渠道、代理实例、出口节点与订阅。
- 短信转发和拦截规则、自动化脚本。
- 数据保留期限、API Key、身份验证器。
没有配置项能改这些位置。它们都相对于工作目录,Docker 里工作目录是 /app。要放到别的盘上,就把目录挂载或链接过去。
| 路径 |
内容 |
data/nsim.db |
数据库:设备、卡策略、短信、通话记录等全部数据 |
data/backups/ |
定时自动备份的默认位置 |
logs/app.log |
当天的应用日志,指向 logs/app-<日期>.log |
| 键 |
作用 |
默认值 |
何时需要改 |
port |
管理界面监听的端口。写 7575 或 ":7575" 都表示所有网卡;写 "127.0.0.1:7575" 表示只在本机监听。 |
7575 |
端口冲突时;放在同机的反向代理后面时改成只在本机监听。Docker 镜像的健康检查固定访问 7575,改端口后见打不开界面或登录不了。 |
debug |
输出调试级日志。 |
false |
排查问题时临时打开。 |
debug_domains |
启动时就打开的调试域,逗号分隔,all 为全开。 |
空 |
只在排查启动阶段的问题时用。运行中可在「诊断」页的日志里开关调试域。日志量会大增,排查完清空。 |
| 键 |
作用 |
默认值 |
何时需要改 |
username |
管理界面的用户名。 |
admin |
按需。 |
password |
管理界面的口令,可写明文。在界面改过后,这里会变成加密后的哈希。 |
admin |
第一次启动前必须改。忘了口令时,改成新的明文并重启。 |
two_factor.enabled |
登录时经通知渠道发一次性验证码。 |
false |
在界面里开即可。 |
two_factor.channel |
发验证码用的通知渠道名,如 telegram、bark、email。 |
空 |
同上。渠道要先在「设置 › 通知」里配好。 |
two_factor.code_ttl_seconds |
验证码有效期,秒。 |
300 |
一般不改。 |
two_factor.max_attempts |
一次登录最多能试几次验证码。 |
5 |
一般不改。 |
口令是 admin 或 change-me 时,启动日志会打印「安全警告」。用它登录后必须先改密,见第一次登录与初始设置。
已接管的模组,一台一项。一般不手写:在「设备」页添加设备后,nSIM 自己写进来。手写时只写身份,不写任何 /dev 路径。nSIM 每次都按 IMEI 重新查找设备,因为模组重启后设备文件常换编号。
| 键 |
作用 |
默认值 |
何时需要改 |
id |
设备 ID,短信、通话记录都按它关联。 |
型号加 IMEI 后四位 |
创建后不要改。 |
name |
界面上显示的名字。 |
空 |
随意。 |
modem_imei |
模组的 IMEI,nSIM 靠它认出这台模组。 |
无 |
手写时必填。 |
device_backend |
控制模组的方式:at、qmi 或 mbim。 |
at |
在界面里切换。qmi、mbim 要与模组实际加载的驱动一致,否则设备起不来。 |
esim_transport |
读写 eSIM 的通道:at、qmi 或 mbim。 |
at |
一般不改。 |
mbim_transport |
MBIM 控制口的打开方式:auto、proxy 或 direct。 |
auto |
一般不改。 |
qmi_use_proxy |
经 qmi-proxy 打开 QMI 控制口,让多个功能共用。 |
false |
用 QMI 管理 eSIM 时建议打开。 |
qmi_proxy_path、qmi_proxy_executable |
qmi-proxy 的套接字名与程序路径。 |
空,即 /usr/libexec/qmi-proxy |
发行版把 qmi-proxy 装在别处时。 |
data_plane_mode |
数据通路:native 或 qmap。qmap 能多承载一条连接,模组网卡名会从 wwan 开头变成 qmimux 开头。 |
native |
不手写。卡策略需要时,nSIM 会自动改成 qmap。 |
at_sidecar |
用 QMI 或 MBIM 控制时,另开一条 AT 通道,用于通话音频等。 |
true |
出问题时可写 false 关闭。 |
operator_selection_mode |
选网方式:automatic 或 manual。 |
automatic |
在界面里改。 |
operator_selection_plmn |
手动选网时的网络代码(MCC+MNC),如 46001。 |
空 |
在界面里改。 |
operator_selection_rat |
手动选网时限定的制式:gsm、wcdma、lte 或 nr5g。 |
空,不限 |
在界面里改。 |
esim_switch.* |
切换 eSIM 时的几项附加动作,全部默认关闭。 |
关闭 |
一般不改。 |
proxy_port |
旧字段,设备列表里显示的代理端口。代理实例实际在「代理」页管理。 |
0 |
不用。 |
baud_rate、data_bits、stop_bits、parity |
串口参数。AT 通道实际固定按 115200、8、1、N 打开。 |
115200、8、1、N |
不用。 |
已接管的 USB 读卡器,一个一项。一般不手写,在「设备」页添加。
| 键 |
作用 |
默认值 |
何时需要改 |
id |
读卡器设备 ID,由卡的身份生成。 |
rd- 加卡号尾部 |
创建后不要改。 |
name |
界面上显示的名字。 |
空 |
随意。 |
card |
卡的身份:eSIM 填 EID,普通 SIM 填 ICCID。卡换到另一个读卡器,仍是同一台设备。 |
无 |
手写时必填。 |
VoWiFi 是否开启不在这里,由每张卡的卡策略决定。
| 键 |
作用 |
默认值 |
何时需要改 |
device_profile.profile |
VoWiFi 注册时对运营商声称的手机机型,取内置机型名。不认识的名字按内置默认机型处理。 |
内置默认 |
一般不改。 |
device_profile.manufacturer、model、android_version、build |
自定义机型。四项同时填写才生效,否则仍用内置机型。 |
空 |
运营商只接受特定机型时。 |
| 键 |
作用 |
默认值 |
何时需要改 |
suppress_binary |
丢弃看起来是发给 SIM 卡本身的二进制短信。判断错一次,那条短信就收不到也不提醒。 |
false |
一般不改。 |
防止「飞行模式」和「VoWiFi」策略的卡在本地驻网。nSIM 会把这里的网络写进这类卡的禁止网络表,让卡在本地搜不到网。详见防止漫游产生费用。
| 键 |
作用 |
默认值 |
何时需要改 |
local_plmns |
主机所在地运营商的网络代码(MCC+MNC)列表。卡里通常只有 4 格,放不下时优先保留排在前面的。 |
空,即关闭 |
想用这项防护时,写上当地运营商;主机搬到别的国家时跟着改。示例配置里预填了中国的 46000、46001、46011,主机不在中国时改掉或删掉。 |
模组所在的 USB 端口卡死、模组掉出总线时,nSIM 会重置端口让它回来。
| 键 |
作用 |
默认值 |
何时需要改 |
disabled |
关闭这项自救。 |
false,即开启 |
一般不改。 |
sysfs_write_root |
写 sysfs 时用的替代根目录。 |
空,直接写 /sys |
Docker 部署写 /hostsys,配合 compose 里挂载的 /sys/devices:/hostsys/devices。二进制部署留空。 |
| 键 |
作用 |
默认值 |
何时需要改 |
format |
日志格式:text 或 json。 |
text |
交给日志采集系统时用 json。 |
stdout |
是否同时输出到标准输出。 |
true |
二进制部署时 journald 和 logs/ 里各有一份。只想留一份时写 false,journald 里仍保留崩溃和启动早期的输出。 |
max_age_days |
logs/app-*.log 保留的天数。nSIM 自己按天轮转,不要再用 logrotate 处理这些文件。 |
30 |
按需。 |
access_log |
每个 HTTP 请求记一条访问日志。关着时仍记录出错的请求。 |
false |
排查访问问题时临时打开。 |
定时自动备份。用法见备份与恢复。
| 键 |
作用 |
默认值 |
何时需要改 |
enabled |
开启定时自动备份。 |
false |
建议开启。 |
interval_hours |
两次备份的间隔,小时。启动后先等一个间隔再做第一份。 |
24 |
按需。 |
keep |
保留最近几份,多出的删最旧的。 |
7 |
按需。 |
dir |
备份存放的目录。 |
data/backups |
指到另一块盘,才防得住硬盘损坏。 |
passphrase |
非空时用它加密备份。口令丢了,备份就打不开。 |
空,不加密 |
备份要拷离主机时设置。 |
| 键 |
作用 |
默认值 |
何时需要改 |
allow_private_subscription |
允许从本机或局域网地址导入节点订阅,也允许订阅里出现本机或局域网地址的节点。 |
false |
只在订阅转换服务跑在本机或局域网里时打开。打开后,任何有代理写权限的 API Key 都能借 nSIM 访问你的内网。这一项只能在配置文件里改。 |
让 Linphone 等 SIP 客户端接入 nSIM。用法见用 Linphone 接电话。账号密钥、推送设置在「语音 › 语音设置」里,不在这里。
| 键 |
作用 |
默认值 |
何时需要改 |
enabled |
开启 SIP 网关。 |
false |
要用 SIP 客户端时。 |
listen |
监听的 IP 地址列表,如局域网地址和 VPN 地址各一个。不接受 0.0.0.0 或 ::。 |
空 |
开启时必填。 |
sip_port |
信令端口,UDP 和 TCP 共用。 |
5060 |
端口冲突时。 |
rtp_port_min、rtp_port_max |
通话声音用的端口范围。 |
31000、31999 |
端口冲突或防火墙规则需要时。 |
advertise_host |
写进 SIP 客户端配置的服务器地址。 |
空,取 listen 的第一个 |
SIP 客户端要用别的地址连过来时。 |
来电和短信旁显示机构名称用的号码目录。查号在本机完成,下载请求里不带任何号码。
| 键 |
作用 |
默认值 |
何时需要改 |
directory_enabled |
下载并定期更新号码目录。关闭后已下载的照常使用。 |
true |
不想让 nSIM 访问外网下载时。 |
directory_urls |
下载地址,按顺序尝试。 |
空,用内置地址 |
用自建镜像时。 |
refresh_hours |
更新周期,小时。 |
168 |
一般不改。 |
从 GitHub 下载文件时先经公共加速代理。在「设置 › GitHub 下载加速」里保存过之后,以界面为准,这一段不再生效。用法见加速从 GitHub 下载。
| 键 |
作用 |
默认值 |
何时需要改 |
enabled |
开启加速。关闭时只直连 GitHub。 |
true |
在界面里改。 |
prefixes |
加速代理的前缀列表,按顺序尝试,形如 https://example.com/。 |
空,用内置列表 |
内置的都失效时。 |
nSIM 从网上下载各运营商的参数,用于 VoWiFi、VoLTE 等功能。请求里只带公开的网络代码,不上传卡号等信息。已下载的会缓存,离线时继续使用。
| 键 |
作用 |
默认值 |
何时需要改 |
urls |
下载地址,按顺序尝试。 |
空,即 https://carrier.nsim.cc/ |
用自建镜像时。 |
refresh_hours |
检查更新的周期,小时。 |
24 |
一般不改。 |
runtime |
new 使用下载的运营商参数;legacy 不读下载的参数,只用内置的缺省值。 |
new |
只在下载的参数导致问题、需要应急回退时改成 legacy。 |
| 参数 |
作用 |
默认值 |
-c <路径> |
配置文件路径,相对路径按工作目录算。 |
config/config.yaml |
-backend-only |
只提供接口,不提供网页界面。 |
关闭 |
| 变量 |
作用 |
默认值 |
TZ |
日志使用的时区。 |
UTC |
NSIM_PCSC_MODE |
读卡器驱动从哪里来:auto 有主机的 PC/SC 服务就用主机的,否则用镜像自带的;system 只用主机的;bundled 只用镜像自带的。 |
auto |
不要设置 HTTP_PROXY、HTTPS_PROXY。它们会把 nSIM 的全部出站请求塞进同一个代理,与 nSIM 按卡选择出口冲突。