AI Agent Hub
Back to plugins
🧰

dsh-sakurafrp

Web Tools Updated 2026.09.13

Run the following command in DeepSeek Harness:

dsh plugin install ArimaKana-Akane/dsh-sakurafrp

Paste the following prompt into your AI chat to install this plugin:

Install this plugin in DeepSeek Harness by running dsh plugin install ArimaKana-Akane/dsh-sakurafrp; source code is available at https://github.com/ArimaKana-Akane/dsh-sakurafrp

About this plugin

If you are pairing dsh-mobile with a SakuraFrp tunnel so your phone can reach DSH on your desktop, you have probably grown tired of the ritual: editing YAML, nudging systemd, tailing logs, and juggling CLI pairing scripts. dsh-sakurafrp pulls every piece of that phone-to-desktop link management into DSH's own UI. A single phone icon in the session toolbar opens a status dashboard, a gateway toggle, a pairing QR code, device revocation, and self-heal probes — all without leaving DSH and without touching a terminal.

It implements no tunnel and no gateway of its own; it is a graphical management shell over dsh-mobile's mobile-access gateway API. The capabilities it aggregates include: a real-time status panel (gateway state, listen port, per-node measured public latency, paired device count, watchdog health), a one-click gateway toggle that writes a user-suppression flag so both the built-in 15-second self-healer and the optional systemd watchdog respect your intent to turn it off (fixing the early "cannot turn it off" bug), one-time pairing QR codes returned inline for phone-camera or browser scanning, per-device or bulk revocation, concurrency-aware public reachability probes every 60 seconds, and an on/off switch for an optional external watchdog service. The self-heal loop checks the gateway every 15 seconds and silently revives it if it was killed — unless you explicitly disabled it.

All mutation routes (pair, toggle, revoke, self-heal, probe, watchdog) sit behind a three-layer origin gate: loopback source check, Origin/Referer validation, and a distinguishing request header. A paired phone can only read a redacted status view; it cannot mint its own pairing code and cannot manage the gateway. The plugin never touches SakuraFrp access keys — the frontend only handles one-time, short-lived pairing tokens.

Who it is for: users already running dsh-mobile plus a SakuraFrp tunnel on WSL2 or Linux who want to replace scripted, YAML-based operations with a visual panel and care that "off" really means off. Please note that this repository is a vibe-coded artifact, not yet human-audited line by line, and is provided AS IS under the MIT license — review it carefully before using it in production or security-sensitive environments.

Use Cases

  • Monitor public node latency, gateway status, and paired device count from a single panel when accessing desktop DSH via phone
  • Toggle mobile access, revoke old devices, or regenerate pairing QR codes without scripting or editing YAML repeatedly
  • Auto-detect and revive a silently killed gateway while respecting an explicit user-initiated shutdown

Best For

  • Advanced dsh users who have already deployed dsh-mobile and a SakuraFrp tunnel on WSL2 or Linux
  • Remote developers who want to replace scripted and YAML-based ops with a visual management panel
  • Mobile users who need multi-device management, public reachability awareness, and self-heal control