小红花科技今天把一款自研软件交到了公众手里——TSMTravel 已正式对外开源,源代码完整托管在 Gitee 平台,任何个人开发者和企业都可以自由取用。
这是一款内网穿透反向转发工具。名字本身就把它的工作原理说尽了:Tunnel(隧道)+ Session Multiplexer(会话复用)+ travel(穿行)。把内网流量收拢、复用进同一条隧道,再从公网那头放出来。内网一侧不着痕迹,公网一侧凭空多出几个端口。
它对标的是 frp。 熟悉内网穿透的人都知道 frp 是这一领域的标杆:服务端与客户端双端模型、控制连接与数据连接分离、工作连接池、token 鉴权——这一整套成熟架构,TSMTravel 原样承接下来,但在「人怎么用它」这件事上做了三处动手改动:
第一,从命令行配置升级为完整的 Web 管理面板,所有操作在浏览器里点鼠标完成,不再需要记住 ini 参数和启动命令;第二,配置文件从散落的 ini / toml 归档为 SQLite 数据库统一管理,低频配置存得住、查得到;第三,不再区分 frps 与 frpc 两个程序,同一份程序,装好之后访问管理端口自己选角色——这一步把部署门槛砍掉了大半。
四件事,是它想解决的核心问题。
一键直连。客户端只做一件事:主动向外连服务端。路由器不用碰,光猫不用设,端口映射不用做,也不需要借助任何第三方中转服务。插上就能通。
傻瓜式部署。Windows 上双击脚本就跑起来,Linux 上一条命令走完建环境、装依赖、初始化数据目录、写入角色与鉴权的全部流程。代码方面完全不要求使用者有基础。
可视化操作。隧道建几条、端口怎么分配、客户端接进来没有、证书指纹是多少——全在 Web 面板里看得见、点得到,不用打开配置文件对着行号改。
Linux 与 Windows 双平台。Windows 端还可以一键打包成免安装独立程序,连 Python 都不用装,整包拷到任意 x64 机器上就能运行,换机器时把数据目录一起带走即可完成迁移。
安全方面也没有省事。管理面板首次访问必须先设定管理员账号密码,密码经 PBKDF2 加盐哈希后落库,此后所有管理接口都要登录才能调用,并配有会话 Cookie 与连续失败限速。架构上划了一条硬线:管理面与数据面分离——FastAPI 管理进程只管交互,压力小;asyncio 转发内核独立扛流量。两者仅通过本机环回地址交换指令与状态快照,转发逻辑一行都不写进管理进程。
两个最典型的落地场景。
一是让没有公网 IP 的 NAS 真正走出去。 运营商的大内网 NAT 已经让绝大多数家庭宽带拿不到独立公网 IPv4,家里那台群晖、威联通、绿联只能在内网转圈,人在外地想看个照片、取份文件都做不到。现在的做法很简单:一台有公网 IP 的云服务器当服务端,家里的 NAS 装成客户端,管理后台、私有云盘、相册、下载器想开几个服务就开几条隧道。NAS 本身不对外暴露任何端口,网络环境也一个字不用改,但在外面的手机和笔记本上点开,体验和访问公网服务没有任何差别。
二是借海外节点免备案,用域名直连国内服务。 国内服务器做网站要先走 ICP 备案,周期长、材料多,很多个人开发者和小团队在项目还处于验证阶段时就被卡在这一关。把海外服务器架成服务端、国内服务器装成客户端,隧道把国内服务转发到海外节点,域名直接指向海外端口对外提供服务——不备案也能访问,项目当天就能上线跑起来。整条隧道由 TLS 1.3 加密,国内的服务和数据始终留在本地机房不出境,免掉备案流程的同时没牺牲数据安全和访问速度。跨境部署、内容分发、网络加速这类场景都很受用。
工程化该有的也都补齐了:pytest 端到端用例覆盖反向转发、多客户端多隧道、错误 token 拒绝、断线重连、客户端离线后端口释放、动态端口白名单、TLS 1.3 协商这些关键路径;并发与吞吐压测脚本随包提供,跑完直接出性能报告;部署文档里附了完整的安全组放行清单与系统调优参数。
为什么这则消息发布在这里。 万网创维(WWCW)是小红花科技自己的智能建站体系,而 TSMTravel 的官方网站即将在这套体系上落成,域名是 tsmtravel.com。
这个域名值得单独说一句。它的注册日期是 1995 年 7 月,距今整整三十一年,比绝大多数互联网公司的历史都要长。在域名资源尚未被大规模瓜分的年代,它就已经存在于互联网的注册簿上了——这是一枚货真价实的数字铭牌,记录着互联网商业化的最初时光。三十一年后,它成为 TSMTravel 的正式门牌。
用这样一枚老域名承载一款刚刚问世的工具,小红花科技想表达的意思很直白:这个项目不是做一票就走。 一个走过三十一年的名字,配上刚开源第一版代码的软件,后面的路还长。
TSMTravel 全部源码已在 Gitee 开放,欢迎下载试用、提交 Issue、参与共建。