diff --git a/src/main/browser/session.ts b/src/main/browser/session.ts index a5c4988..cd34c9f 100644 --- a/src/main/browser/session.ts +++ b/src/main/browser/session.ts @@ -12,16 +12,6 @@ import { type BrowserSimilarElementOptions } from "../engine/types"; -const DEFAULT_DOMAINS = ["127.0.0.1", "localhost", "example.com"]; - -function allowedDomains(): string[] { - const extra = (process.env.RPA_ALLOWED_DOMAINS || "") - .split(",") - .map((item) => item.trim()) - .filter(Boolean); - return [...DEFAULT_DOMAINS, ...extra]; -} - function assertUrl(raw: string): URL { let url: URL; try { @@ -32,13 +22,6 @@ function assertUrl(raw: string): URL { if (url.protocol !== "http:" && url.protocol !== "https:") { throw new RuntimeError("blocked_url", `只允许 http/https,当前为 ${url.protocol}`); } - const host = url.hostname; - const allowed = allowedDomains().some((domain) => host === domain || host.endsWith(`.${domain}`)); - if (!allowed) { - throw new RuntimeError("blocked_url", `域名不在白名单:${host}`, { - recommendation: `在设置中把 ${host} 加入白名单(或设置 RPA_ALLOWED_DOMAINS)` - }); - } return url; } diff --git a/src/renderer/src/pages/SettingsPage.tsx b/src/renderer/src/pages/SettingsPage.tsx index 9214b01..ebf55a4 100644 --- a/src/renderer/src/pages/SettingsPage.tsx +++ b/src/renderer/src/pages/SettingsPage.tsx @@ -29,7 +29,7 @@ export function SettingsPage({ catalog }: { catalog: Catalog }) { - +
@@ -61,8 +61,8 @@ export function SettingsPage({ catalog }: { catalog: Catalog }) { {tab === "browser" && ( <> -
默认允许
127.0.0.1、localhost、example.com
本地演示站
{info?.fixtureUrl || "未启动"}
扩展方式
环境变量 RPA_ALLOWED_DOMAINS
格式
逗号分隔域名,不含协议和路径
-

导航只允许 HTTP/HTTPS。未列入白名单的域名会返回 blocked_url;文件协议、脚本协议和任意本地路径不会由浏览器导航组件打开。

+
默认允许
全部 HTTP/HTTPS 站点
本地演示站
{info?.fixtureUrl || "未启动"}
协议限制
HTTP / HTTPS
用途
支持内网、公网和测试站点
+

浏览器导航不限制域名。只拒绝 HTTP/HTTPS 以外的协议;文件协议、脚本协议和任意本地路径不会由浏览器导航组件打开。

)}