能力入口 · 个人维护的能力入口
只向指定 Tailscale 设备开放服务
按明确范围让自己的设备访问本机服务,并查清直连或中继。只在 Tailscale 私网开放不等于只有指定设备能访问;要做到排他访问,还要核对完整访问策略和真实允许、拒绝结果。
已安装 / 环境条件型先看怎么用
你不需要记住 Skill 名,直接说需求就行
什么时候用
- 只允许同一 Tailscale 私有网络内的指定设备访问本机服务
- 需要把防火墙限制到确切设备和端口
- 检查反向端口或仅本机可见服务的暴露范围
- 需要分清 Sunshine/Moonlight 连接是直连还是中继
可以直接这样说
“只让这台笔记本访问台式机上的这个服务,其他设备不要进。”AI 先核对当前策略与实际服务入口,再分别检查该允许的设备能访问、该拒绝的设备确实因规则被拒;缺少条件时直接说明哪层未验。
最后会得到什么
得到目标范围内的配置、策略和真实连接结论,以及必要的回退结果。只有有效策略、允许对端、拒绝对端和业务结果分别有证据时,才说排他访问已完成;没有策略或合适对端时保留未知,超时不会被写成拒绝成功。
不适合这样用
- 普通 LAN、Wi-Fi 或 VPN 问题
- 未经明确要求就把本地服务公开到互联网
- 把允许访问的设备放宽成所有地址
- 一次修改多个机制和端口
正常时
当前策略覆盖精确设备与服务,允许设备实际连通,应拒绝设备有可靠拒绝证据,业务交互也核对后,分别说明各层完成。
发现问题时
发现宽泛允许、错误端口或结果不符时停止扩大范围;窄规则不能抵消别处的宽泛允许。只回退本次精确变更,保留他人的后续修改。
入口不可用或证据不足时
读不到当前策略、无法对应设备身份、没有合适对端或不能排除离线/故障时,明确哪层未知;不宣称只有指定设备能访问,也不改成公网或开放全部。
从哪里开始
在当前 AI 对话说明哪个本机服务要经 Tailscale 给哪台设备访问,或要求诊断已存在的远程串流路径;AI 先读当前服务、策略和对端证据。
需要准备什么
- 本机服务、协议或端口、预期设备及连接方向
- 若要求只允许指定设备或实际改变策略,说明精确访问目标和可接受的变化范围
为什么需要这个能力
同一私网里可能有多台设备,现有宽泛允许规则也可能让其他设备进入。只加一条更窄的规则、看到端口监听或测通一台设备,都不足以证明访问范围已经收紧。
从需求到结果
先明确哪个本机服务、实际对外端口、哪台设备和访问方向。AI 重新核对身份与现有监听、连接和规则,保存可以回退的原状;不让你手填内部策略格式。
私网开放和只允许一台设备是两种不同承诺。要限制到指定设备,除本机设置外还要读取当前 Tailscale 访问策略,核对全部适用规则共同允许了谁。
窄规则不会取消其他宽泛规则的允许。AI 会检查组、设备标签、共享节点、通配目标和设备条件,也分清对外入口端口与后台本地端口;缺策略证据就说明未知。
只选择足够的一种现有接入方式。需要改变策略时,先核原授权是否覆盖准确对象,保存原状,经官方检查与允许/拒绝用例,再回读生效版本;不建立另一套策略计算器或新凭据。
从应该允许的设备连接同一真实服务,再从应该拒绝的设备验证拒绝。拒绝测试必须另外证明该设备在线、服务健康,而且失败不是其他故障;单纯超时不能算规则拦住了。
配置、有效策略、允许连接、拒绝连接与实际业务分别报告。静态策略检查通过不替代真实访问,一台设备能连也不证明其他设备被拒;直连或中继只是另一层路径信息。
身份、配置回读或验收不符合目标时,按已保存原状只回退本次变更;资源已被别人改动就保留并说明。恢复失败仍留下未完成状态,不能继续写入掩盖。
默认不公开到互联网。公网入口的目标与端口独立核对;串流网络诊断不顺手更改显示设置、拓扑或重启服务。没有真实策略和对端验证时,页面与报告都保留相应未知。
失败时会怎样恢复
读不到当前策略或无法核实设备身份
系统反应:排他访问证据保持未知,不宣称仅指定设备可用。
恢复方式:沿已有获授权管理入口取得准确策略与映射;没有能力就保留缺口,不新建凭据或放宽范围。
仍有其他宽泛允许规则
系统反应:新增窄规则不能抵消这些允许,不把它当限制已经生效。
恢复方式:核对全部适用规则;只有原授权覆盖精确策略变化时才修改并经官方检查回读,保留无关规则。
允许设备能连,拒绝测试却超时
系统反应:只证明前一项成功;后一项仍可能是离线或故障。
恢复方式:先取得被测设备在线、同一服务正常及非故障原因的独立依据,再判断是否真正被策略拒绝。
没有合适允许或拒绝对端
系统反应:相应真实连接层保持未知,静态策略测试不替代。
恢复方式:有可核实对端后测试同一服务,分别记录允许、拒绝和业务交互,仅凭设备在线探测或一台设备能连接不能补全另一个结果。
身份、地址、接口或回读不符合目标
系统反应:停止写入和扩大范围,不开放全部地址试错。
恢复方式:重新核对精确目标;已发生的本次变更按预存方案回退并回读。
中断后资源已被其他程序修改,或恢复失败
系统反应:保留他人成果与未完成状态,不清标记冒充恢复成功。
恢复方式:对照保存原状、期望结果与当前精确资源处理冲突;下一次写入前先结清这次操作。
技术身份与验证证据
Skill · tailscale-safe-exposure · 成熟度 B(可用,但依赖环境或仍有证据缺口)
这个 Skill 用到的名词
- Tailnet(Tailscale私有网络)
- 同一网络内的设备集合;tailnet-only不等于仅指定peer可访问。
- 有效ACL / grants
- 当前官方策略中所有适用允许规则的并集;宽泛来源、通配目标、组/标签、共享节点与设备姿态都参与判断,窄allow不能抵消其他allow。
- Serve与真实端口
- Serve对外入口受Tailnet策略约束;入口port与loopback后端port分别核对,监听和一次ping不证明访问授权。
- policy_evidence_unknown
- 策略读取、身份映射或权限不足,不能证明排他访问;不以旧副本、临时凭据或放宽规则补成通过。
- 四层验收
- policy、allowed_peer_acceptance、denied_peer_acceptance、业务交互分别报告;官方tests accept/deny不替代真实peer连接。
- 可靠拒绝证据
- 还需被测peer在线、同一服务正常和非故障原因依据;超时、离线或普通查询失败不等于访问控制拒绝。
- Funnel(公网入口)
- 默认禁止;获准公开时独立核对目标和端口,不从Tailnet策略正确推出公网范围正确。
- Windows有效防火墙
- ActiveStore合成规则和profile启用状态才是当前有效证据,PersistentStore存在不单独证明放行。
- Direct / DERP / Peer Relay
- 直连、官方中继和对端中继的路径分类与延迟,不证明服务权限或业务完成。
- 中断恢复
- 只按保存的精确资源preimage与期望结果恢复;他人后续变化保留,恢复失败保留未完成标记。
专业定义
让本机服务按明确范围经Tailscale访问,并区分直连与中继。tailnet-only只表示没有直接开放到普通公网,不等于仅指定peer能访问;排他访问须核对当前ACL/grants全部适用允许规则的并集、精确服务入口和真实允许/拒绝对端证据。缺策略或对端证据保持Unknown(未验证),不靠一条窄防火墙规则或一次ping宣称完成。
执行参考
下面保留 AI 和工具实际使用的参数、步骤与依赖。日常使用可以直接提出需求,不需要先手工准备这些协议。
输入
- 精确service、process、protocol、对外port、已验证peer与方向,以及允许改变的机制;Serve入口端口与loopback后端端口分开
- 本机与peer身份、监听器、Serve/Funnel handlers及Windows ActiveStore有效防火墙基线,须保留的其他设置和可恢复preimage
- 需要证明仅指定peer访问时,通过已有获授权管理入口取得当前Tailnet ACL/grants策略、版本/时间与身份映射,不使用旧副本作动态权威
- 排他访问需要应允许和应拒绝的已验证peer,以及被测peer在线、同一服务健康和可执行验收的独立依据
输出
- 目标端口的preimage、精确配置差异、实际readback和rollback结果;不重置无关规则
- 涉及排他访问时,policy、allowed_peer_acceptance、denied_peer_acceptance与业务交互分别报告;缺证返回policy_evidence_unknown或对应unknown(未验证)
- 配置、服务健康、监听器、有效策略、真实对端连接的独立证据,以及direct/DERP/Peer Relay路径分类和延迟
- 拒绝是否确由访问控制造成的证据;离线、故障、查询失败或超时不冒充拒绝成功,公开报告不带设备身份或整份策略
执行顺序
- 1
核对本地节点、目标peer、地址、接口、进程、protocol/port与方向;保存精确资源preimage、必须保留项和停止条件。
- 2
读取tailscale status、serve/funnel status、目标TCP/UDP监听进程与Windows ActiveStore实际合成规则和profile启用状态;PersistentStore存在不代替有效策略。
- 3
已确认loopback服务可选单端口Serve;已有Tailscale/all-interface监听先查实际边界,不叠加掩盖;确需直接监听才配置精确interface/remote-address/protocol/port/application。
- 4
仅指定peer访问时,沿已有授权管理入口读取当前Tailnet策略和版本,核同一来源身份、目标节点/服务与实际对外port;不能混用Serve入口port和loopback后端port。
- 5
按官方策略语义核对全部适用ACL/grants允许集合的并集,包括宽泛来源、通配目标、组/标签、共享节点与设备姿态。窄allow不抵消其他宽泛allow;不新造策略求值器。
- 6
缺策略读取、身份映射或权限则policy_evidence_unknown,不宣称排他可达,不自动建凭据或放宽策略。确需策略变更时核对精确对象的授权,保存原状,用官方检查及tests accept/deny并回读生效版本,保留无关规则。
- 7
一次仅变更已确认机制与端口,随后按原基线回读精确差异和相应AllowFunnel状态;身份/readback/验收失败按预存方案只回滚本次变更。
- 8
从应允许的已验证peer连接同一真实服务,再从应拒绝的已验证peer验证拒绝;拒绝证据还要证明peer在线、同一服务正常和非故障原因,timeout(等待超时)或离线不是访问控制拒绝。
- 9
分别给出policy、allowed_peer_acceptance、denied_peer_acceptance及业务交互结果。官方静态策略tests不代替真实连接,一个peer成功也不证明其他peer被拒。
- 10
tailscale ping只观察direct/DERP/Peer Relay与延迟,不证明服务授权;Funnel公开面按实际端口与目标独立核对。
- 11
按实际执行用户与会话解释结果。中断时比较原状、期望结果与当前精确资源,已被他人改动则保留;恢复失败保留未完成标记,下一次写入先处理它。
操作边界
- tailnet-only不等于仅指定peer可达;本机精确防火墙、监听器或ping不能替代有效ACL/grants策略证据
- 允许范围取全部适用规则并集,不能用窄allow抵消宽泛来源/通配目标/共享节点等其他allow;不自造策略求值器
- 缺策略/身份/权限保留policy_evidence_unknown,不临时造凭据、放宽策略或声明排他访问完成
- policy、allowed_peer_acceptance、denied_peer_acceptance、真实业务交互分别验收;静态策略通过不等于对端或业务通过
- 拒绝测试必须另有peer在线、同一服务健康及非故障原因依据;超时、离线或查询失败不证明被拒
- 默认禁Funnel;明确授权的公开目标须单独按端口和实际效果判断,Tailnet策略正确不证明公网入口符合目标
- 禁止宽泛Any/LocalSubnet/interface或允许全部再排除;不重置Serve,不改无关Funnel/防火墙或重启受保护服务
- 策略与peer证据留在所属来源,公共报告不复制设备身份、IP、账号、令牌或整份策略;更新按真实能力,不加精确版本准入或监控
- Windows有效策略看ActiveStore与profile;SYSTEM或未取得的观测不冒充桌面用户或对端验收
- Sunshine/Moonlight先读项目规则;网络诊断不擅改HDR、分辨率、刷新率、拓扑或sunshine.conf,真实串流仍独立验收
- 中断恢复只处理预览并保存过的精确资源;他人后续修改保留,恢复失败不清未完成状态,也不扩大扫描对象
依赖
- Tailscale CLI(命令行工具)与现有获授权策略管理入口
- 精确服务、当前策略和已验证的允许/拒绝对端
- Windows有效防火墙状态与必要的现有提权路径
Sunshine已有诊断、计划与维护入口
先读Sunshine项目规则,本Skill只处理tailnet路径与最小暴露。Get-SunshineHealth默认只看健康,需要网络才IncludeNetwork;verify-path-lite -NoWrite按最后成功pong区分Direct/DERP/Peer Relay,显式选择peer才PhoneTailscaleIp,host-only不证手机可达。
协商文本、否定语句、失败或超时不是直连。Funnel按启用端口与实际转发目标归属,其他端口有Funnel不证明Sunshine公开,配置存在也不产生授权。
PCConfig Show-StreamingMaintenance.ps1显示状态与最近/下次检查,并提供明确暂停/恢复;不增常驻服务。repair-stream默认计划,真正改动必须Apply,Tailscale重启另需AllowNetworkRestart。网络诊断不擅改HDR、分辨率、刷新率、拓扑、sunshine.conf或放松GPU/会话证据。
# Sunshine只读健康
Get-SunshineHealth.ps1 -Json# 需要时附网络观察
Get-SunshineHealth.ps1 -IncludeNetwork -Json# 只读路径专项
verify-path-lite.ps1 -NoWrite -Json# 默认只生成计划;-Apply才执行,网络重启还须-AllowNetworkRestart
.\repair-stream.ps1meshclip现有诊断与中断恢复
先由GitHub总索引解析wlyaaaaa/meshclip-kit当前项目根,再进入其scripts/doctor.ps1 -Summary、scripts/recover.ps1与控制中心;不复制动态设备地址或业务实现到本Skill。严格诊断、本地生成文件校验与真实双机传输分别验收。
Windows看ActiveStore合成规则和profile启用状态,不以PersistentStore配置存在当已生效;按真实执行用户/会话解释观测。恢复只对保存过原状的精确资源比较preimage/expected/current,保留后来他改,恢复失败不清未完成标记,下一次写前先结清。
验证状态
源码、安装、供应检查、当前任务、新任务和真实使用分别列出;一层通过不自动提升另一层。
- Source(源码)
- 本轮按独立终审定向核对已发布 .agents main 156387f 的规范Skill原文:当前有效策略、指定peer排他访问、正反对端与业务层证据,以及中断恢复。未读取或采用未提交施工。
- Install(安装)
- canonical junction(目录联接) 已安装
- Transaction(供应事务)
- 供应事务检查通过;0 个坏事务
- Current task(当前任务)
- 本轮修正网站已有说明的来源遗漏或冲突;未执行该能力的真实业务、策略变更、验证码获取或对端测试。
- Fresh task(全新任务)
- 新任务回执未知
- End to end(端到端)
- policy、allowed_peer_acceptance、denied_peer_acceptance与业务交互本轮均未实测,保持Unknown(未验证);一个peer可达、ping成功或静态策略通过不能互相替代。
本轮只读取已发布156387f的完整Skill原文,确认指定peer策略、允许/拒绝对端与业务分层要求;未读取真实Tailnet策略、改防火墙或连接任何peer。旧CLI(命令行工具)存在记录不证明当前策略或排他访问通过,也未新跑独立Skill回归。
证据时间与来源
- Observed at(观察时间)
- 2026-09-22:已发布156387f的定向语义核对;安装和历史业务测试保留原观察,未由文字修复升级为当前运行验收。
- Source commit(来源提交)
156387f2bdc92ebb43aca9e10509518e206fe8e8- Supply command(供应验证命令)
E:\.agents\tools\Test-PersonalSkillSupply.ps1 -RequireInstalled -NoExternalEvidence -Json- Evidence basis(证据来源)
- 已发布156387f skills/tailscale-safe-exposure/SKILL.md;本轮范围为当前有效策略、指定peer排他访问、正反对端与业务层证据,以及中断恢复。内容与源身份已核对,安装、运行、新任务和真实端到端证据分别保留,未虚报重测。
Canonical source(唯一维护源)
E:\.agents\skills\tailscale-safe-exposure\SKILL.md该路径是维护源;用户目录中的发现入口不是第二份源码。
