跳转至

代理

将代理用于企业网络、地理测试、抓取基础设施以及通过受控出口点进行流量路由。

CLI 标志

agent-browser --proxy "http://proxy.example.com:8080" open https://example.com
agent-browser --proxy "http://user:pass@proxy.example.com:8080" open https://example.com
agent-browser --proxy "http://proxy.example.com:8080" --proxy-bypass "localhost,*.internal.com" open https://example.com
agent-browser --proxy "http://proxy.example.com:8080" --ca-cert /etc/ssl/certs/proxy-ca.pem open https://example.com
agent-browser --use-system-ca read https://example.com
Flag描述
--proxy <url>代理服务器 URL,可包含凭据
--proxy-bypass <hosts>应绕过代理的主机
--ca-cert <path>为 CLI 自身的 HTTPS 请求以及 Linux 上本地启动的 Chromium 浏览器信任 CA 证书或 PEM 捆绑包
--use-system-ca为 CLI 自身的 HTTPS 请求使用操作系统信任库
--no-ca-cert清除正在运行的浏览器会话保留的 CA 信任

环境变量

变量描述
AGENT_BROWSER_PROXYagent-browser 代理 URL
AGENT_BROWSER_PROXY_BYPASSagent-browser 代理绕过列表
AGENT_BROWSER_PROXY_USERNAME凭据单独提供时的代理用户名
AGENT_BROWSER_PROXY_PASSWORD凭据单独提供时的代理密码
AGENT_BROWSER_CA_CERT用于 CLI 请求和 Linux 上本地启动的 Chromium 的 CA 证书或 PEM 捆绑包路径
AGENT_BROWSER_USE_SYSTEM_CA为 CLI 请求使用操作系统信任库
SSL_CERT_FILE未配置 CA 时 CLI 请求的回退 CA 文件
HTTP_PROXY / HTTPS_PROXY标准代理环境变量,用作回退
ALL_PROXYSOCKS 或全流量代理回退
NO_PROXY标准代理绕过回退

AGENT_BROWSER_PROXY 优先于标准代理变量。CLI 也接受嵌入在代理 URL 中的凭据,并在将启动选项传递给守护进程之前将其分离出来。

代理 URL 中嵌入的凭据会被百分号解码一次。请对用户名或密码中的保留字符进行编码,因此 p@ss 写作 p%40ss,字面百分号写作 %25。+ 保持为字面 +。如果解码后的字节不是有效的 UTF-8,则整个凭据保持原样。

启动 Chrome 时,agent-browser 接受带尾部斜杠的代理 URL。MCP 服务器使用与 CLI 相同的环境和配置设置;请在那里设置代理,因为 MCP 工具不接受代理参数。

HTTPS 拦截证书

CLI 请求

read、install、upgrade 和 doctor 会自行发起 HTTPS 请求,并默认信任内置的 Mozilla 根证书。在所有平台上,--ca-cert 会将这些请求的 CA 添加到信任中,--use-system-ca 则会将它们切换到操作系统信任库,而该信任库已包含由 MDM 或企业镜像部署的 CA。SSL_CERT_FILE 用作回退 CA 文件,无法使用时会被忽略并给出警告。这两个选项都不会禁用证书或主机名验证。对于 read,在命令行上给出的选择会在会话期间一直生效,直到 close,包括跨守护进程重启;--no-ca-cert 或 --use-system-ca false 会将其关闭。read 绝不会因为这些选项而启动或重新启动浏览器。它们目前还不会改变 agent-browser 通过 --cdp、--auto-connect 或提供商连接远程浏览器的方式。

浏览器

在 Linux 上,--ca-cert 会将每个证书导入一个专用 NSS 数据库,该数据库仅由该会话启动的 Chromium 进程使用。正常的主机名和有效性检查仍保持启用。后续命令在省略该标志时会保留该信任。不同的证书或 --no-ca-cert 会重新启动 Chromium,而不会重启守护进程。即使从不同路径提供相同的证书内容,也会复用当前浏览器。agent-browser install --with-deps 会安装所需的 certutil;否则请在 Debian/Ubuntu 上安装 libnss3-tools,或在 RPM Linux 上安装 nss-tools。

对于浏览器命令,该选项不能与 --profile、--cdp、--auto-connect、提供商、Lightpanda 或 --ignore-https-errors 组合使用。macOS 和 Windows 上不支持浏览器信任,因为 Chromium 在这些平台上已经使用操作系统信任库。

SOCKS 代理

export ALL_PROXY="socks5://proxy.example.com:1080"
agent-browser open https://example.com

export ALL_PROXY="socks5://user:pass@proxy.example.com:1080"
agent-browser open https://example.com

绕过本地流量

export AGENT_BROWSER_PROXY="http://proxy.example.com:8080"
export AGENT_BROWSER_PROXY_BYPASS="localhost,127.0.0.1,*.internal.com"

agent-browser open https://external.example.com
agent-browser open http://localhost:3000

验证路由

agent-browser open https://httpbin.org/ip
agent-browser get text body

响应应显示代理出口地址,而不是机器的直接网络地址。

安全说明

  • 对于代理凭据,应优先使用环境变量或机密存储。
  • 不要将代理用户名、密码或会话 URL 提交到版本控制。
  • HAR 导出和网络日志可能包含代理身份验证请求。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 agen/agent-browser