它把一个登录 shell 放到网上,所以门要按「路可能不安全」来做
frp、反代这类穿透,TLS 往往在中间那台 VPS 上解开。它被拿下,你的终端就全给人看了:每一次按键、登录凭据,还能改页面里的代码。
所以公网只走 herdr-relay:一台你自己的 VPS,按域名把加密流量原样转回你的电脑,TLS 在你的电脑上解开,中继手里没有任何能登录、能解密的东西。 再用一条 DNS 记录锁死「这个域名的证书只有你的电脑能签」,中继自己去签也签不出来。
所以鉴权这一层 herdr-web 自己做,按「这条路可能已经不安全」来做:
一次性配对码换一份 per-device 凭据,放 HttpOnly cookie。URL 里不留秘密。
磁盘上没有任何能直接登录的明文,防止坏 agent 把你的凭证发出去。
一条命令踢掉一台设备,下一个请求就 401。
VPS 上没有证书私钥、没有设备表、没有 passkey,整台被拿下也只能断网,看不到你的终端。

本地端口
agent 起的 localhost:7830,手机上也能打开,但要先过登录。
终端和对话里的 http://localhost:7830 点下去, 打开的是 https://7830.你的域名:herdr-web 把这台机器上那个端口代理出来。
没登录就绕主站登一次,用的是同一套设备和 passkey。设备被撤销、该重验 passkey 了,子域名当场失效。
被代理的是 agent 写的页面,放在单独的子域名上,拿不到主站的凭据,也调不了主站的接口。
带着别的站来源的请求一律拒,同一个域名下的其它网站也读不到你本机开发服务的内容。
放在哪儿跑
没有域名、不用公网,局域网下也能连。
代价只是每台设备第一次点一下「继续访问」。嫌这一下麻烦, 加个域名走 C;出了门也想连,在一台 VPS 上跑中继走 D。 要手机连就必须有 TLS,herdr-web 已内置 ACME 走 DNS-01 认证,Cloudflare、AWS Route53、阿里云、腾讯云、华为云、DigitalOcean 六家都能签。 所以 NAT 后面、域名指到内网地址,照样签得出受信任证书。
| 档 | 场景 | 怎么用 | 要准备什么 | 授权方式 |
|---|---|---|---|---|
| A | 只本机 | 访问 127.0.0.1 | 不用准备什么 | 配对码(IP 下没有 passkey) |
| B | 局域网 · 用 IP | 访问局域网 IP | 不用准备什么,第一次点一下「继续访问」 | 配对码(IP 下没有 passkey) |
| C | 局域网 · 用域名 | 访问域名 | 一个域名 + DNS 的 API token | 第一次配对码,后续 passkey |
| D | 公网 | 在哪儿都访问域名 | 域名 + DNS token,外加一台跑 herdr-relay 的 VPS | 第一次配对码,后续 passkey |