晚上十点,临时要把某个娱乐应用从放行改成禁止,登录后台、找到规则、逐项勾选、保存、应用,一套操作下来几分钟就过去了。规则一多,手工调整更容易漏。其实这类重复动作可以交给脚本,用API修改应用过滤配置,把时间留给排查和优化。
1. 先读取配置,别急着改
动手前先调用 config_load 读取 wfilter-appcontrol,看看现有规则长什么样。返回的 values 里,每个 rule ID 对应一条规则,包含规则名称、应用对象、生效时间段、禁止应用列表、是否启用等字段。先看清结构,再决定是新增、修改还是删除,能避免改错对象。比如脚本先解析返回内容,确认要操作的规则 ID,再进入下一步,比直接写死更稳妥。
2. 新增规则时,两个细节最容易踩坑
用 config_add 添加规则时,规则内容要写在一行内,不能换行,双引号需要转义。另一个关键是:规则内容里的 id 要和 config_add 第三个参数保持一致。原文示例中新增 test2 规则、禁止 YouTube,第三个参数传 rule12345,values 里的 id 也必须是 rule12345。调用成功后,服务端会返回 section 为 rule12345,说明规则已经写入。忽略这两个细节,很容易出现配置写了但没真正生效的情况。
3. 临时禁用规则,config_set 更轻
如果只是临时放开某条规则,不必删除重建。用 config_set 把 enabled 改成 false,就能停用规则;需要恢复时再改成 true。返回 result 为 0 表示调用成功。最后别忘了调用 config_apply 应用新配置,否则前面的修改可能还停留在配置层,容易让人误以为接口没生效。
把读取、新增、停用和应用串进脚本后,应用过滤配置就不再依赖手工点击。对需要频繁调整上网行为策略的场景来说,API 带来的不是炫技,而是少一次漏改、少一次深夜返工。
