LOGO 首页 OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 技术文档 其他文档  
 
网站管理员

LinkStar:开源内网穿透工具,没有公网 IP 也不用租 VPS,直连回家里的 NAS 或者服务

admin
2026年11月13日 0:39 本文热度 280
源流集市 · 门牌NO. 2026-10-16
开源 · GPL-3.0
内网穿透 · 打洞
Go 单二进制

LinkStar:开源内网穿透工具,没有公网 IP 也不用租 VPS,直连回家里的 NAS 或者服务

一个 Go 单二进制,把穿透、DDNS、证书、反向代理装进一个文件。不租服务器、不走中转,打不通也不给你兜底——所以它把 NAT 检测摆在最前面。

约 4,651 字 · 阅读约 11 分钟 · 6 张附件
NO.01

剩下的九个编号,跟着正文一路排下去。


NO.01
没有门牌号 THE MISSING PLATE

你在家里电脑上搭了一个服务,你开始想一件事:人在外面的时候,能不能也打开它。

然后你就撞上了那堵墙。

不是不会用,也不是配置太复杂。是有一天你在公司,想连回家里那台机器取个东西,折腾了半小时,最后发现你根本连不进去。

问题出在一个你以前从来没在意过的东西上。

公网 IP。

现在的家庭宽带,绝大多数不给你独立的公网 IP 了。你和同一个小区、同一个片区、甚至大半个城市的用户,共用一批地址。运营商管这叫地址复用,听起来挺体面。落到你身上就是一句话:

你家那台电脑,在网络世界里没有门牌号。

没有门牌号,别人就找不到你。

就算你运气好,手里真有一个公网 IP,它还会变。运营商重启一次设备、续一次约,或者纯粹因为它乐意,地址就换了。你昨天发给朋友的链接,今天打不开。

第三件事更琐碎。你终于折腾通了,浏览器一进去,地址栏给你一个红色感叹号——不安全。因为你没有证书。而要有证书,通常得先有一个固定的域名,和一个能对外访问的端口。

三件事摞在一起,就是这个圈子里问了无数遍的那个老问题:

没有公网 IP,人在外面,怎么打开自家的东西?

我最近翻到一个项目,专门干这件事,叫 LinkStar。

NO.02
先给张名片 PROJECT CARD

老规矩,先给张名片。

LinkStar,作者 GitHub ID 是 ZluxYao。Go 写的,GPL-3.0 许可,一个单二进制文件,下载下来直接跑。不用 Docker,不用装一堆依赖,前端是随程序一起打包进去的。它同时给了你两套界面:一个公开的导航主页,一个带密码的管理后台。

项目地址在这儿,方便你复制。

项目地址

https://github.com/ZluxYao/LinkStar​
附件 01

​

GitHub 仓库首页。右侧 About 那句话就是它的全部定位——STUN + UPnP 打洞、DDNS、证书、反向代理、导航主页,一个 Go 单二进制。语言构成 Go 64.4% 加 TypeScript 30.4%,前端确实是随程序一起打包的。

它解决的核心问题,一句话能说完:让你在没有公网 IP 的情况下,从外面直接连回家里那台机器。

「直接」这两个字,是我想跟你聊的重点。

要说清它,得先看看市面上有哪几条路。

NO.03
四条路 FOUR ROUTES

坦率的讲,现在能走的路就那么四条。

第一条,去找运营商要一个公网 IP。这是体验最好的一条,要到了就一劳永逸,速度和稳定性都是天花板。代价是你得看地区和运气——有人在评论区晒自己用了三年的公网地址被回收了,所以把所有身家压在一条路上的人,得先想好 Plan B。

①
公网 IPv4 体验最好

找运营商要一个独立的公网 IP,要到了就一劳永逸,速度和稳定性都是天花板。

②
IPv6 直连 访问侧也得有 v6

零成本,但你在公司那台只有 v4 的办公机够不着家里的 v6,跨运营商可达性也不稳。

③
中转穿透 要花钱,速度受限

租 VPS 跑 frp,或用 cpolar 这类托管服务。唯一不管你家 NAT 类型的路——打不了洞就从运营商家里借个公网入口。

④
点对点组网 本文这一条

Tailscale、ZeroTier,还有今天这个 LinkStar。打通之后数据直连,速度上限就是你家宽带的上行。

第二条,走 IPv6。现在家庭宽带基本都发了 v6 地址,这条路零成本。但它有个很具体的卡点:你在公司那台只有 v4 的办公机上,够不着家里的 v6。跨运营商的可达性也时好时坏。

第三条,中转穿透。要么自己租一台有公网 IP 的云服务器跑 frp,要么用 cpolar、Natfrp 这类托管服务。这是四条路里唯一一个不管你家 NAT 类型的——打不了洞,就从运营商家里借一个公网入口出来。

第四条,点对点组网。Tailscale、ZeroTier,还有今天这个 LinkStar。

LinkStar 走的是第四条,而且是这条路上最不「体面」的一种走法。

NO.04
不兜底 NO FALLBACK

先把话说清楚:它不租服务器,不走中转。

这句话的分量,得跟第三条路比着看。

frp 那一套的逻辑是,所有流量先从你家上到云服务器,再从服务器转到访问者手里。它稳定、可控,对网络环境几乎没有要求,这是它最大的优点,也是为什么这么多年一直是主流。

代价在速度上。你要看家里 NAS 上的一部电影,数据得先从你家出去,绕到那台服务器上,再绕回来。服务器的带宽成了天花板。你自己家宽带的带宽再大也没用——路就那么宽。

LinkStar 的做法是打通一条点对点的通道,之后数据从你家直接到对方手里,中间不过任何人的手。速度的上限,就是你家宽带的上行。

这就是它标题里那句「直连回家」的意思。

这里有个对照,我觉得挺值得说。

同样是第四条路上的 Tailscale 和 ZeroTier,它们做了一个更体贴的设计:万一打洞打不通,会自动回落到厂商自己的中继服务器上,至少让你先连上。

这很友好。但它有个副作用——这件事你不一定知道。

你打开连接详情,里面有个 relay 字段,写着你现在到底是在直连还是在走中继。绝大多数人不会去看那一行。于是就有一种很常见的困惑:明明都说自己是点对点,为什么用起来又慢又断?答案往往是你早就掉到中继上了,只是没人通知你。

附件 02

两条路都能连上,差别在于数据走哪条。绕行那条之所以麻烦,是因为它能连通——所以你很可能一直不知道自己在走它。

LinkStar 走的是另一个极端。它没有中继,打不通就是打不通,不会兜底,也不会偷偷给你绕一条远路。

代价很直接:网络环境不合适,它就是一个用不了的工具。

好处也很直接:你看到的每一个数字,都是真的。

所以它才要把 NAT 类型检测摆在最前面——既然不兜底,那就必须让你在第一分钟就知道自己行不行,而不是让你折腾一晚上才发现这事从一开始就成不了。

那它靠什么打通?

NO.05
院墙外的传达室 HOLE PUNCHING

靠的是 STUN。

我在前面说「没有门牌号」,这句话其实只说了一半。真实情况是,你家不是没有门,是门太多,而且没人知道该敲哪一扇。

家里的网络是一个封闭的院子。你的设备在院子里,外面的人进不来。院墙上其实有很多条缝,但你不知道哪条能通到你要找的那个房间,外面的人更不知道。

STUN 服务器,就是院墙外的一间传达室。

你和你的朋友都认识它,也都够得着它。你俩分别去传达室报个到,它告诉你:你现在是从西南角那个门出来的,对面那位是从东南角那个门出来的。

拿到这句话,你俩就能同时朝对方的方向开一道口子,然后在那个位置上碰头。这条路上没有第三个人。

顺着这个比喻,你也能看懂它为什么要跟路由器打交道了。它内置了一个叫 UPnP 的东西,如果你家路由器的 UPnP 开着,它会自动去跟路由器说一声「帮我开个口」。

这活儿以前是你手动干的,叫端口映射。现在省了。

附件 03

传达室只做一件事——把双方的方位换一下。它自己不在数据路径上,所以中间不经过任何人。

NO.06
能不能打通 NAT TYPE

到这儿,我得说一件它做得挺实在的事。

打洞这件事,不是你想打就能打成的。它取决于运营商给你的 NAT 类型。全锥形(NAT1)的成功率明显更高;对称 NAT 就不行了,成功率很低。

NAT1 · 全锥形

全锥形,成功率明显更高。作者的判断:打洞需要 NAT1。


NAT3 / NAT4 · 对称

成功率很低。测出来是这两类,先别折腾这个工具,你卡在更前面一步。

这是协议层面的限制,跟你会不会配没关系。

LinkStar 的做法是:把 NAT 类型检测直接做进后台,用的是 RFC 5780 那套探测,UDP 和 TCP 分开判定,结果直接告诉你——公网直连,还是 NAT1 到 NAT4 里的哪一个。

作者在项目说明里写得很直白:打洞需要 NAT1,测出来是 NAT3、NAT4 的,先别折腾这个工具,你卡在更前面一步。

作者的坦白

一个工具主动告诉你「你可能不适合用我」,这在开源圈子里不多见。

我很喜欢这个态度。

一个工具主动告诉你「你可能不适合用我」,这在开源圈子里不多见。

附件 04

穿透管理后台。最值得看的是顶部那条链路——本机 IP → 路由 NAT1 → 路由 NAT2 → CGN 网关 → 公网 IP,五段走完,你才知道自己卡在哪一层。下面四张服务卡片全部标着「穿透成功」。

NO.07
顺手干的活 THE REST

说回它能干什么。

穿透是它的主业,但它顺手把周边一圈活儿全干了,而且干得比我想的更细。

它内置了证书管理。上传 PEM、读本地路径、ACME 的 DNS-01 和 HTTP-01 自动签发、还有自签,四种来源。证书按 SNI 匹配,支持通配符,到期前自动续期——续期只换指针,已经连着的连接不会断。全新安装会自带一张自签证书并设为默认,这样「洞口挂 HTTPS」这种开关勾上就能用,不会因为一张证书都没有直接握手失败。

它内置了反向代理。就是干 nginx 那些活:按域名分流,HTTP 和 HTTPS 双入口,站点可以单独占一个端口,WebSocket 和 SSE 原样透传,访问日志可开关。有几个细节做得很到位——它会自动补 X-Forwarded-For,还会把 Host 写回客户端原本发来的那个值。这一条很关键,不这么做的话,Jellyfin、Home Assistant 这类服务生成的跳转地址会变成内网 IP,你点一下就被弹回家里了。

它内置了 DDNS。A 记录和 AAAA 记录都支持,IP 来源有五种可选:直接用 STUN 探到的公网 IP、请求一个返回 IP 的网址、解析另一个域名跟着走、读本机网卡、或者干脆写死一个。默认每 5 分钟同步一轮。

这里的重试策略我想单独说一句,因为它体现了一种很少见的细心:没同步成功的记录,先隔 30 秒再试,每失败一次翻一倍,最多退回到配置的间隔。这样开机时打洞还没拿到公网 IP 这种临时情况能很快补上,而 Token 填错这种硬错误不会变成一直去敲服务商的 API。

NO.08
只暴露一个洞 SERVICE INDEX

还有一个功能,我觉得是这个项目里最聪明的一处设计。

叫服务索引。

事情的起因是这样的:打洞拿到的外网端口是会变的,而 DNS 的 A 记录里带不了端口。所以原本的做法是,每个服务都在 Cloudflare 上挂一条重定向规则,端口一变就靠 Webhook 回写一次。免费版 Cloudflare 的重定向规则上限是 10 条。

LinkStar 换了个思路:只把 LinkStar 自己这一个洞暴露出去,其余服务全部由它查表跳过去。

链路长这样——

$ 服务索引

https://linkstar.example.com/fw        (Cloudflare 边缘,唯一一条重定向规则)

  → https://ls.example.com:21313/fw    (LinkStar 自己的洞)

  → 307 https://fw.example.com:34521/  (fw 的洞,LinkStar 在那儿终结 TLS)

Cloudflare 的规则数,一下从 N 条降到了 1 条。

附件 05

导航主页。这是它公开访问、不用登录的那一面——家里所有服务都收在这一页上,点图标直接进。

更骚的是它在这里用的是 307,不是 301。

我一开始以为这只是随手选的,看了说明才发现是刻意的:301 会让浏览器把一个迟早会失效的端口永久记住,用户只能去清浏览器数据才能恢复;307 不会。而且 307 还能保住请求的 method 和 body。响应头上它带了 Cache-Control: no-store,怕中间任何一层把跳转结果缓存下来。

还有一个小细节。洞还没打通、或者服务被停用的时候,它给的是一个写明原因的页面,而不是一个注定打不开的跳转。

这个思路挺一致的——它宁可告诉你「现在不行」,也不给你一个看起来能用其实是坏的东西。

哦对,还有一个功能我觉得挺贴心。

它内置了局域网扫描。你选一段网段扫一遍,在线的机器和它们开着的端口就都列出来了,常见端口还会带上服务名——DSM、PVE、Alist、Jellyfin 这些它都认得。你看中哪个,点一下就能建好一个服务。

这个功能的用处在这儿:很多人折腾内网穿透,第一步就卡住了。不是卡在参数上,是卡在「我到底该把哪个端口映射出去」。家里那台 NAS 开着一堆服务,你可能连它内网 IP 是多少都不太确定。

扫一遍,答案就摆在那儿了。

再说两个我觉得值得单独提的。

一个是绕开代理 TUN。这个点可能很多人没意识到:如果你电脑上开着 Clash 或者 sing-box 的 TUN 模式,程序去查公网 IP 的时候,查到的是代理节点的 IP,不是你家宽带的。LinkStar 的做法是先找出关掉代理后系统本来会走的那张物理网卡,后面每一步——查公网 IP、打洞、UPnP——都从它出去。所以开着代理也不影响它判断你的真实网络环境。

另一个是一键更新。后台自己检查新版本,内置了国内几个加速源,依次尝试,哪个不通或者卡住 20 秒没进度就换下一个。下载完用 GitHub 给的 sha256 校验,对不上就不换、旧程序原样保留。这个校验不是摆设——它先保证「换了之后一定还能跑起来」,再谈更新。

NO.09
该说不足了 BOUNDARIES

能力说到这儿,该说不足了。

我只留一条,因为这条会直接决定你能不能用它。

它的对外入口功能,目前只认 Cloudflare。

BOUNDARY

只认 Cloudflare,这是它的硬门槛。

把会变的端口藏到一个固定域名后面(网页的 307 跳转),让玩 MC 的朋友只填域名不填端口(Java 版的 SRV 记录)——这两个自动化都绑在 Cloudflare 的 API 上。DDNS 那一层其实已经适配了七家服务商,但对外入口只支持 Cloudflare。

没有 Cloudflare 账号和域名,这部分用不了,只能退回 IP 加端口。

具体是指这两件事:把会变的端口藏到一个固定域名后面(网页的 307 跳转),和让玩 MC 的朋友只填域名不填端口(Java 版的 SRV 记录)。这两个自动化都绑在 Cloudflare 的 API 上。

它的 DDNS 其实已经适配了七家——Cloudflare、阿里云 DNS、腾讯云 DNSPod、百度云、华为云、NameCheap、NameSilo。但「对外入口」这一层只支持 Cloudflare。

所以如果你手里没有 Cloudflare 账号和一个域名,这部分功能现在用不了,只能退回到最原始的方式:IP 加端口,端口变了再发给朋友一次。

有一说一,这是它的硬门槛,不是配置问题。

另外还有几点,心里得有个数。

服务固定监听 3333 端口,目前不支持修改,「管理端口可配置」还挂在路线图的未完成项里。Docker 镜像也还没做,同样在路线图上。许可是 GPL-3.0——这是带传染性的开源协议,你自己用完全没问题,但如果要拿它做二次开发再商业分发,得先看清楚协议要求。

还有一条,是我觉得比上面所有缺点都更值得单独讲的。

它只保护自己的管理后台,不会给你穿透出去的那个服务加任何认证。

BOUNDARY

它不给被穿透的服务加认证。

NAS 自己的登录页、自己的权限、自己的防火墙策略,全得你自己管。把服务映射出去之后,/admin、/docs、/metrics 这类路径会跟着一起见光,公网上的扫描器几分钟就能摸到入口。

家庭用户能一分钟做完的三件事:入口全上 HTTPS(LinkStar 的内置证书替你做了这件)、密码用管理器生成、后台类服务绝不留公网入口。

这句话是写在它自己说明里的,作者没有藏着。

意思是:你把家里的 NAS 映射到公网之后,NAS 自己的登录页、自己的权限、自己的防火墙策略,全得你自己管。LinkStar 不管这一层。

为什么这条要单独说?因为这批工具最近正好撞上一轮讨论。知乎和小红书上冒出一批同主题的帖子,标题大同小异——「别把整站暴露了」「内网穿透别裸奔」。剥掉里面软文的部分,说的是真事:你把服务映射出去之后,/admin、/docs、/metrics 这类路径会跟着一起见光。公网上的扫描器几分钟就能摸到你的入口。

对家庭用户来说,这件事其实可以拆成三件一分钟能干完的:入口服务全部上 HTTPS——这一条 LinkStar 用内置的 ACME 自动证书替你做了;密码用密码管理器生成,别自己编;路由器管理页、面板类的后台,绝对不要留公网入口。

只给该给的路径开门。

这句话跟前面那个「洞没通就告诉你洞没通」是同一个逻辑。

NO.10
门牌号与路条 THE WAY HOME

说回那个比喻。

—

封面那排门牌里,空着的一格写的是「源流集市」。这一格始终空着——它就是你家那台电脑的位置。

门牌号这个东西,你想想看,它其实是个很现代的产物。城市大到谁也不认识谁了,才需要在每一栋房子上钉一个号码,让陌生人也能照着找过来。它的前提是公开——号码是给所有人查的,谁拿到都能用。

但熟人之间,从来不需要门牌号。

以前约在哪儿见面,说的是「胡同口第三棵槐树往右拐,看见红油漆那扇门就是」。这种说法不精确、不可复制、说给外人听完全没用。但它够用,因为它只对一个特定的人有效。

LinkStar 干的这件事,我越想越觉得是同一个方向。

它没帮你去申请一个门牌号。它是让你和你要找的那个人,先在传达室碰个面,然后直接从院墙上开一道只属于你俩的口子。

那个口子是临时的,端口会变,明天可能就换到别的地方去了。所以它才需要 DDNS、需要 Webhook、需要那一层服务索引,帮你在口子挪了位置之后还能摸回去。

但它始终没打算让这道口子变成一扇对外的门。

附件 06

门牌号的前提是公开——号码钉在墙上,谁拿到都能用。而路条只对一个特定的人有效,说给外人听完全没用。

这可能是它最像「家」的地方。

毕竟你装这套东西,本来也不是为了让全世界都能进来。

好了,该说的都说了。

一个 Go 单二进制,穿透、DDNS、证书、反向代理、导航主页全在里面。没有公网 IP 也能用,代价是得先测一下你家网络给不给你这个机会。

项目地址再说一遍,方便你复制。

项目地址

https://github.com/ZluxYao/LinkStar
— THE END —

愿你也有一道,只属于你自己的口子。


阅读原文:原文链接


该文章在 2026/11/13 10:20:55 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-2  粤公网安备44030602007207号