DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Fakeip Compat — DSH Plugin for DeepSeek Harness
← Plugins
F

fakeip-compat

Fakeip Compat

Fake-IP-aware web.fetch provider for TUN (Mihomo/Clash) DNS environments plus pinned LAN CIDR access

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:iwinoid/fakeip-compat#191f2207a0253a1c30c0726f7599c7a7ff4bfb99
READMECompatibilityVersions

Compatibility and provenance

Fakeip Compat is published as fakeip-compat and currently resolves to version 2.2.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/13/2026

Versions

2.2.0stable
9/13/2026

Related plugins

Loading related plugins…

Latest
2.2.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/13/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in integrations-communication.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseRemote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and rIm@xmanrui/dsh-im把十一种 IM 渠道和公网 AI Office 接入本机 DeepSeek Harness。 Connect eleven IM channels and a public AI Office to a local DeepSeek Harness.Pocketdsh-pocketPut DeepSeek Harness in your pocket: one package, one settings page, and scan a QR code on your phone to access DSH on your computer in sync (LAN + public network, real-time screen mirroring).

README

fakeip-compat

Fake-IP-aware web.fetch provider for TUN (Mihomo/Clash) DNS environments plus pinned LAN CIDR access

Table of Contents

  • Background
  • Install
    • Dependencies
  • Usage
    • Configuration
    • Settings UI
  • API
  • Maintainers
  • Contributing
  • License

Background

The stock http fetch provider guards against SSRF. It rejects any hostname that resolves to a non-public address. Under a TUN proxy with Fake-IP DNS (Mihomo/Clash), every public site resolves to a fake address such as 198.18.0.11. The guard then rejects all of them, although the traffic itself works. Local LAN debugging hits the same wall from the other side.

An earlier v1 approach patched web.fetch directly and shelled out to curl/getent. That bypassed the provider registry, hid from --dump-config, allowed command injection through the model-controlled URL, and validated with one resolver while transporting through another. v2 drops all of that. It registers a real provider through ctx.web.registerFetchProvider, uses only node:dns/promises plus undici (no shell, no subprocess), throws the stock WebError codes, and transports only to DoH-validated addresses.

Install

Dependencies

Runtime dependencies install with the package (@deepseek-ai/schemastery, ipaddr.js, undici, plus the DSH peers). A TUN proxy is only needed for the Fake-IP path. The LAN path needs no proxy.

dsh plugin --profile web add github:iwinoid/fakeip-compat

Local development uses a link install instead:

dsh plugin --profile web add link:/path/to/fakeip-compat

The package has no build step, so a git install needs no allowBuilds exception.

This package only registers the provider. It never selects itself. The official multi-provider rule applies: without an explicit choice the seam reports WEB_PROVIDER_AMBIGUOUS. Point the web seam at it from the profile layer:

- id: web
  name: '@deepseek-ai/dsh-web'
  config:
    searchProvider: tavily      # keep your existing search choice, never drop it
    fetchProvider: fakeip-http

A patch replaces the whole row config, so always restate searchProvider next to fetchProvider. Or select per process:

DSH_WEB_FETCH_PROVIDER=fakeip-http

Verify after the change:

dsh --profile <name> --dump-config | grep -A8 fakeip

Usage

Configuration

KeyDefaultNotes
lanCidr192.168.0.0/16LAN allowlist. System-resolved results inside it transport pinned.
fakeV4Cidr / fakeV6Cidr198.18.0.0/16 / fdfe:dcba:9876::/48Local Fake-IP pools. Match them to the Clash Verge config.
dohEndpoints1.1.1.1/dns-query, 8.8.8.8/resolveTrusted DoH (JSON API) over direct IP-literal endpoints. First fully successful endpoint wins.
dohTimeoutMs8000Budget for one DoH lookup.
lanInsecurefalseSkip TLS check on the LAN path only. Turn it on for self-signed devices.
maxResponseBytes / maxBodyChars / timeoutMs / maxRedirects / userAgent5000000 / 100000 / 30000 / 5 / official UASame meaning as the official provider.

Settings UI

The plugin registers a fakeip-compat settings section and a browser card of the same name (lib/client.js, hand-written, no build step). After a DSH restart the card shows under Settings → Plugins → Plugin configuration. Every field in the table above edits there. Saves apply at once with no restart. Invalid input (such as a bad CIDR) blocks the save. A bad runtime edit keeps the last valid value and never breaks an in-flight fetch. Environments without a settings service (such as headless) fall back to the merged config.

API

Provider id: fakeip-http. Select it through web.fetchProvider or DSH_WEB_FETCH_PROVIDER.

The contract has two green lights and keeps the stock denial for the rest:

  1. TUN Fake-IP path. When system resolution returns a fake address, the provider re-checks the name over trusted DoH, then pins transport to the DoH-validated real address set with the official pin mechanism. No second resolution happens at transport time.
  2. LAN path. System-resolved results inside lanCidr transport pinned, with TLS checks kept by default.

Everything else keeps the official http provider refusal meaning and error codes: other private ranges, mixed answers (fake plus real together), hosts-pinned names outside the LAN allowlist, and non-allowlisted literals. A hosts entry that pins a name to LAN stays pinned. The provider never bypasses it through DoH.

Maintainers

  • iwinoid — iwinoid@outlook.com

Contributing

Bug reports and questions are welcome on the GitHub Issues page. Pull requests are accepted. The browser card is hand-written with no build step. Keep it that way.

License

MIT © iwinoid