GitHub 源码级读取
支持从搜索结果继续访问 GitHub REST API、raw.githubusercontent.com 和其他公开机器可读文本源。
OpenReach 从 v1.0.1 开始正式维护版本记录。这里按当前工程 CHANGELOG.md 展示用户真正需要关注的能力变化、安全边界和兼容信息。
v0.1.4 在 Search、Image Search、Read 之外新增第四个核心能力 Safe Curl。Agent 可以读取 GitHub REST API、raw 源码以及公网 JSON/XML/YAML/text 数据,但该能力不是 shell 透传:只允许 GET/HEAD,并强制阻断私网、敏感认证头、二进制下载和对 OpenReach 自身的回打。
支持从搜索结果继续访问 GitHub REST API、raw.githubusercontent.com 和其他公开机器可读文本源。
仅允许 HTTP(S) 80/443;localhost、RFC1918、链路本地、保留地址、Metadata 与每一跳 Redirect 都重新校验。
综合 Host、serverName、localAddr、本机所有网卡地址与可配置公网别名,阻止 Curl 被拿来扫描或爆破 OpenReach 自身。
POST/PUT/PATCH/DELETE、Authorization、Cookie、Host、X-Forwarded-*、常见 Token/API-Key 头和二进制响应均拒绝。
POST /api/web/curl,请求体指定目标 url/method/headers/maxChars,返回目标 HTTP 状态、最终 URL、文本 body、跳转次数与安全响应头。api.github.com 公开元数据/目录 → Safe Curl 读取 raw 源码;私有仓库和认证 API 不走该能力。OPENREACH_CURL_BLOCKED_HOSTS 配置,支持通配域名。CurlTargetGuardTest / CurlServiceTest 覆盖自请求、Redirect 二次校验、敏感头、写方法、二进制与截断;Skill Python 测试共 20 项通过。v0.1.3 在不改变 Search、Image Search、Read 三个公开 API 的前提下,新增受保护的内部调用监控能力,支持真实请求采集、日期总览、失败下钻、独立 IP、请求详情和失败诊断日志导出;监控数据默认使用 SQLite + WAL 持久化,并为未来 MySQL / PostgreSQL 迁移保留存储 SPI。
支持今日、近 7 日和自定义日期范围,总览调用量、成功/失败、独立 IP、耗时、趋势与接口分布,并可下钻单次调用详情。
请求元数据与 Payload 分表,异步 Single Writer 写入;数据目录独立挂载,容器销毁重建后仍可复用历史数据。
失败筛选可复用当前日期、接口与关键词条件,由服务端流式导出全部匹配记录的 UTF-8 诊断日志,不受列表分页限制。
Schema Version 与应用版本解耦,升级前自动快照;存储访问统一通过 SPI,后续可扩展 MySQL / PostgreSQL。
requestStartTimeMs/requestEndTimeMs 可选参数。/app/data 作为稳定持久化目录,容器可销毁重建;Compose init 容器负责处理 Host Bind 的运行用户权限。failureType/upstreamStatus/retryable 结构化字段,同时保留 502 + UPSTREAM_ERROR 兼容;请求兼容性头不携带 Cookie/Authorization,不绕过登录、验证码或 WAF。在 v1.0.1 免费国内链基础上,v0.1.2 增加地区路由、真实时间范围过滤、图片原图可下载门禁,并进一步收敛公网攻击面。默认 Provider Chain 继续坚持零 API Key、零账号依赖、零商业 Search 调用费。
region 不再只是透传 Hint。显式非 CN 地区进入 GLOBAL 链;auto 默认保持 CN 兼容。
支持 any/day/week/month/year 及常见别名;Auto 会跳过不支持真实时间过滤的 Provider。
对候选图片执行 SSRF、Redirect、2xx、Content 与 Magic Bytes 验证,过滤热链失效页和伪图片。
每次 API 调用生成 Trace ID,Search / Image / Read 上游过程可按同一 ID 串联,并支持 Docker 宿主机日志目录持久化。
SearchRouteResolver、ProviderChainResolver 与地区 Locale 支持,Service 不再硬编码国内/海外链。brave → duckduckgo → bing;Brave 作为海外第一路,DuckDuckGo 强化 no-JS HTML 模式。bing → openverse → wikimedia;Wikimedia 可输出原图、尺寸、格式与 License 信息。timeRange 参数;百度免费 Web 支持 day/week/month/year,Bing 免费 Web 已验证 day/week/month,Brave / DuckDuckGo 支持完整范围;CN 时间链为 baidu → bing → duckduckgo → brave,GLOBAL 为 bing → brave → duckduckgo → baidu。X-OpenReach-Trace-Id、openreach-api.log、openreach-upstream.log,记录 Provider skip/start/success/fail、HTTP 状态码和耗时。/app/logs,支持映射宿主机目录;Logback 按日期 + 大小归档,Docker stdout 同时限制滚动大小。check:配置不存在时 0 次网络请求;配置存在时最多 1 次无副作用 API 探测。<OPENREACH_BASE_URL> 占位符,不再提供容易被误判为默认值的示例私网 IP。localhost:8080,导入时必须显式配置 Tool Runner 可访问的 BASE_URL;新增 caller-side DNS/TCP/API 连接诊断脚本,并兼容 time_range / max_chars snake_case 参数。provider-order 的 CN 兼容策略。/api/web/health,Skill 人工诊断改用只读 GET /。region 后 Auto Chain 仍优先国内 Provider 的架构问题。provider-order,v0.1.2 的 CN Route 仍会继承旧顺序;GLOBAL 使用独立配置,不会污染原国内链。确立 Search、Image Search、Read 三个 Agent Web 原语,引入免费 Provider 自动降级、Provider SPI、Read SSRF 防护、内置官网、Agent Skill、AgentHub HTTP Plugin 与 Docker 一键部署。
GET /api/web/health;该接口已在 v0.1.2 的公网攻击面收敛中移除,当前部署不要再依赖它。Bing → 百度 → 搜狗 → 360 → DuckDuckGo,支持 Auto fallback、URL 去重和显式 Provider 诊断。
Bing Images → 百度图片 → 搜狗图片 → Openverse,统一图片与 License 元数据模型。
Jsoup Reader + SafeHttpFetcher + UrlSafetyGuard,支持正文、元数据、Links、跳转和大小限制。
CHANGELOG.md 仍是版本事实源,本页面用于官网可读展示。