openclaw - 💡(How to fix) Fix web_fetch still blocked by fake-ip SSRF in Mihomo/OpenClash setup even with HTTP_PROXY/HTTPS_PROXY configured [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#60785Fetched 2026-04-08 02:47:14
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Author
Participants

In a Mihomo/OpenClash fake-ip network, web_fetch still fails for ordinary external URLs like https://huggingface.co with:

Blocked: resolves to private/internal/special-use IP address

This still happens on a recent OpenClaw build even after configuring openclaw-gateway to run with HTTP_PROXY / HTTPS_PROXY and verifying those env vars are present in the live gateway process.

From a user perspective, the current behavior is confusing because recent changelog entries suggest improved support for:

  • RFC2544 fake-IP compatibility
  • proxy-aware SSRF guard paths
  • trusted env-proxy routing for web tools

But in practice, a normal web_fetch target such as Hugging Face still appears to stay on the strict pinned-DNS path and gets blocked in a common fake-ip deployment.

Error Message

  1. Despite all of the above, web_fetch still fails for https://huggingface.co with the SSRF/private-address error.

Root Cause

From a user perspective, the current behavior is confusing because recent changelog entries suggest improved support for:

RAW_BUFFERClick to expand / collapse

Summary

In a Mihomo/OpenClash fake-ip network, web_fetch still fails for ordinary external URLs like https://huggingface.co with:

Blocked: resolves to private/internal/special-use IP address

This still happens on a recent OpenClaw build even after configuring openclaw-gateway to run with HTTP_PROXY / HTTPS_PROXY and verifying those env vars are present in the live gateway process.

From a user perspective, the current behavior is confusing because recent changelog entries suggest improved support for:

  • RFC2544 fake-IP compatibility
  • proxy-aware SSRF guard paths
  • trusted env-proxy routing for web tools

But in practice, a normal web_fetch target such as Hugging Face still appears to stay on the strict pinned-DNS path and gets blocked in a common fake-ip deployment.

Environment

  • OpenClaw gateway version: 2026.4.1
  • OS: Linux
  • Upstream network: OpenClash / Mihomo with fake-ip
  • Fake-IP range involved: 198.18.0.0/15
  • Explicit gateway proxy configured via user systemd drop-in:
    • HTTP_PROXY=http://127.0.0.1:7897
    • HTTPS_PROXY=http://127.0.0.1:7897
    • ALL_PROXY=http://127.0.0.1:7897
    • NO_PROXY=127.0.0.1,localhost,::1

What I verified

  1. OpenClaw is already on a recent version (2026.4.1), so this does not appear to be an "old version" problem.
  2. openclaw-gateway is actually running with the proxy env vars:
    • confirmed in systemctl --user cat openclaw-gateway.service
    • confirmed again in /proc/<pid>/environ
  3. openclaw gateway status reports the gateway is healthy and reachable (RPC probe: ok).
  4. The local proxy endpoint itself is reachable and working (http://127.0.0.1:7897).
  5. Despite all of the above, web_fetch still fails for https://huggingface.co with the SSRF/private-address error.

Reproduction

  1. Put the machine behind Mihomo / OpenClash with fake-ip enabled.
  2. Configure openclaw-gateway with explicit env proxy variables (HTTP_PROXY / HTTPS_PROXY).
  3. Restart the gateway and verify the env vars are present in the running process.
  4. Call web_fetch on:
    • https://huggingface.co

Actual result

web_fetch fails with:

Blocked: resolves to private/internal/special-use IP address

Expected result

One of these should be true:

  1. web_fetch should successfully work for common public targets in fake-ip deployments when the gateway is correctly configured with a trusted env proxy, or
  2. the docs/config should clearly expose the intended user-facing mechanism for this case (for example, a documented trusted-domain / allowlist path for web_fetch).

Additional findings from local source inspection

From local source/tests in the OpenClaw repo, this behavior appears related to the fact that ordinary / untrusted web_fetch URLs still keep strict DNS pinning even when HTTP_PROXY is configured.

In other words, the current trusted env-proxy path seems to exist, but not in a way that solves this user-facing case for normal external fetch targets behind fake-ip.

Questions

  1. Is this current behavior expected, or is it a bug / missing piece?
  2. What is the officially recommended solution for web_fetch behind Mihomo/OpenClash fake-ip when users need to fetch normal public sites like Hugging Face?
  3. Should OpenClaw expose a documented user-facing allowlist / trusted-domains mechanism for web_fetch specifically?

extent analysis

TL;DR

Configure a trusted domain or allowlist mechanism for web_fetch to bypass strict DNS pinning when using a proxy.

Guidance

  • Review the OpenClaw documentation for any existing allowlist or trusted domain configuration options for web_fetch.
  • Inspect the OpenClaw source code to understand how the trusted env-proxy path is currently implemented and if it can be extended to support web_fetch.
  • Consider configuring the NO_PROXY environment variable to include the specific domains that need to be accessed, such as huggingface.co.
  • Verify that the proxy endpoint is correctly configured and reachable, and that the openclaw-gateway is running with the expected environment variables.

Example

No code snippet is provided as the issue does not contain sufficient information to create a specific example.

Notes

The current behavior may be related to the strict DNS pinning implemented in OpenClaw, which may not be compatible with the fake-ip deployment. The recommended solution may involve configuring a trusted domain or allowlist mechanism for web_fetch.

Recommendation

Apply a workaround by configuring a trusted domain or allowlist mechanism for web_fetch, as the current behavior appears to be related to the strict DNS pinning implemented in OpenClaw. This will allow web_fetch to bypass the strict DNS pinning and access the required domains.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING