dsh-web-remote avatar

dsh-web-remote

DSH 手机/外网远程访问插件:Cloudflare Quick Tunnel 公网隧道 + token 鉴权 + gzip 压缩 + 局域网 HTTPS 直连 + 手机图标面板 + QQ 机器人取链接

PluginWeb search
Verification
L2 · Structured
Security
Medium
Health
Active
Trust
Silver

What it does

DSH 手机/外网远程访问插件:Cloudflare Quick Tunnel 公网隧道 + token 鉴权 + gzip 压缩 + 局域网 HTTPS 直连 + 手机图标面板 + QQ 机器人取链接

Installation

dsh plugin --profile web add dsh-web-remote

Install method: npm · not yet tested in container (L3+)

Compatibility

DSH VersionStatus
not statedDeclared — not tested

Requirements

  • • Node.js: not stated
  • • DSH: declared "not stated"
  • • External credentials: none detected

Security Report

Automated static scan, not manual review.

DSH.SOWARNINGSCAN3 FILES
556739
Automated review · daily
WARNING

No critical findings, but warning-level issues were detected (file writes, remote imports, base64 decoding, downloads).

0 critical·4 warning·8 info·3 files scanned
scanned commit55673944742f2026-08-16
latest commit55673944742f

The scan result is only valid for the scanned commit. If the latest commit differs, the badge shows outdated until the daily pipeline rescans.

Disclaimer: automated static analysis, not a security guarantee. Always review what you install.

Risk: Medium0 critical · 4 warning · 8 info

• Static heuristic scan: done (3 files)

• Dependency vulnerabilities: requires deep audit (L3+)

• Permission sandboxing: requires runtime testing (L4+)

Scan findings · 12

  • warningHTTP request to a raw IP addresslib/index.mjs:1060
    const tunnelArgs = [cloudflaredPath, 'tunnel', '--url', 'http://127.0.0.1:' + httpPort, '--no-autoupdate', '--ha-connections', '4'];
  • warningHTTP request to a raw IP addresslib/index.mjs:1077
    qqServer = createQQServer({ infoUrls: ['http://127.0.0.1:' + config.targetPort + '/remote/info', 'http://127.0.0.1:' + config.targetPort + '
  • warningFilesystem write operationslib/index.mjs:517
    try { fs.chmodSync(tmp, 0o755); } catch (e) { /* ignore */ }
  • warningFilesystem write operationslib/index.mjs:525
    const file = fs.createWriteStream(dest);
  • infoReads process.envlib/index.mjs:979
    toolsDir = process.env.DSH_HOME ? path.join(process.env.DSH_HOME, 'tools') : path.join(os.homedir(), '.dsh', 'tools');
  • infoUses localStoragelib/index.mjs:564
    try { localStorage.setItem('webrm-tab', currentTab); } catch (e) {}
  • infoUses localStoragelib/index.mjs:568
    try { if (localStorage.getItem('webrm-tab') === 'lan') t = 'lan'; } catch (e) {}
  • infoMakes network requests (fetch / axios)lib/index.mjs:715
    return fetch('/remote/info?_=' + Date.now(), { cache: 'no-store' }).then(function (res) { return res.json(); });
  • infoMakes network requests (fetch / axios)lib/index.mjs:718
    return fetch('/remote/control', { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ action: action })
  • infoHardcoded IP addresslib/index.mjs:84
    const attr = derSeq(derOid('2.5.4.3'), derUtf8String(cn));
  • infoHardcoded IP addresslib/index.mjs:102
    return derSeq(derOid('2.5.29.17'), derOctetString(seq));
  • infoHardcoded IP addresslib/index.mjs:107
    return derSeq(derOid('2.5.29.19'), derOctetString(seq));

Heuristic static scan — may produce false positives. Review the source yourself before trusting.

Activity

Last commit 2026-08-16 · activity: Active

• Repo created: 2026-08-16

• Stars: ★ 3 · Forks: 0

• Health: Active — committed within last 30 days

Source

GitHub: github.com/godchen520/dsh-web-remote

Was this page helpful?