跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

权限档的网络与 Socket

分别开启命令联网与域名代理,限制本地服务访问,配置 Unix socket 例外。

网络权限有两个独立开关:profile 的 network.enabled 授予命令联网,features.network_proxy 启用执行域名规则的代理。只设置域名表不会开启代理。

最小配置

default_permissions = "project-net"

[features]
network_proxy = true

[permissions.project-net]
extends = ":workspace"

[permissions.project-net.network]
enabled = true

[permissions.project-net.network.domains]
"api.openai.com" = "allow"

将目标换成工作实际需要的主机。管理员启用 experimental_network 也可以启动代理,且受管要求仍约束用户配置。

联网代理行为
关闭任意命令无法联网
开启关闭直接联网,profile 域名限制不执行
开启开启通过代理执行域名策略;没有 Allow 时阻止外部目的地

域名规则

精确主机只匹配自身,*.example.com 匹配子域,**.example.com 匹配根域和子域。* 只可用于 Allow,代表未被拒绝的公共主机。匹配的 Deny 优先于 Allow。

主机模式会去掉首尾空格、尾点、端口或括号,并转为小写。默认 HTTP proxy listener 为 http://127.0.0.1:3128,SOCKS5 为 http://127.0.0.1:8081;SOCKS5 与其 UDP 支持默认开启。普通开发通常不需修改监听设置。

本地和私有目的地

代理默认保护本地与私有网络。需要访问字面目的地时,显式允许 localhost 或精确 IP,例如:

[permissions.project-net.network.domains]
"localhost" = "allow"
"127.0.0.1" = "allow"

这同样需要合并到已有表。若需要访问解析到本地/私有地址的已允许主机名,还需 network.allow_local_binding=true。该键默认 false,不能仅凭允许某个域名推断其私网解析也可达。

Unix sockets

[permissions.project-net.network.unix_sockets]
"/var/run/docker.sock" = "allow"
"/tmp/old.sock" = "deny"

Socket 是访问 Docker 等本地服务的独立例外;deny 可撤销继承的允许项,拒绝项不进入有效允许列表。启用 socket 时让代理监听保持在 loopback。

这些规则约束命令网络,不代表已约束搜索、MCP 或所有应用流量,见实施边界。