小红花科技今天把一款自研软件交到了公众手里——TSM Travel 已正式对外开源,源代码完整托管在 Gitee 平台,任何个人开发者和企业都可以自由取用。

这是一款内网穿透反向转发工具。名字本身就把它的工作原理说尽了:Tunnel(隧道)+ Session Multiplexer(会话复用)+ travel(穿行)。把内网流量收拢、复用进同一条隧道,再从公网那头放出来。内网一侧不着痕迹,公网一侧凭空多出几个端口。

对标 frp,改的是「人怎么用它」

熟悉内网穿透的人都知道 frp 是这一领域的标杆:服务端与客户端双端模型、控制连接与数据连接分离、工作连接池、token 鉴权——这一整套成熟架构,TSM Travel 原样承接下来,但在「人怎么用它」这件事上做了三处动手改动。

第一,从命令行配置升级为完整的 Web 管理面板,所有操作在浏览器里点鼠标完成,不再需要记住 ini 参数和启动命令;第二,配置文件从散落的 ini / toml 归档为 SQLite 数据库统一管理,低频配置存得住、查得到;第三,不再区分 frps 与 frpc 两个程序,同一份程序装好之后访问管理端口自己选角色——这一步把部署门槛砍掉了大半。

四件事,是它想解决的核心问题

一键直连。 客户端只做一件事:主动向外连服务端。路由器不用碰,光猫不用设,端口映射不用做,也不需要借助任何第三方中转服务。插上就能通。

傻瓜式部署。 Windows 上双击脚本就跑起来,Linux 上一条命令走完建环境、装依赖、初始化数据目录、写入角色与鉴权的全部流程。代码方面完全不要求使用者有基础。

可视化操作。 隧道建几条、端口怎么分配、客户端接进来没有、证书指纹是多少——全在 Web 面板里看得见、点得到,不用打开配置文件对着行号改。

Linux 与 Windows 双平台。 Windows 端还可以一键打包成免安装独立程序,连 Python 都不用装,整包拷到任意 x64 机器上就能运行,换机器时把数据目录一起带走即可完成迁移。

安全方面也没有省事

管理面板首次访问必须先设定管理员账号密码,密码经 PBKDF2 加盐哈希后落库,此后所有管理接口都要登录才能调用,并配有会话 Cookie 与连续失败限速。架构上划了一条硬线:管理面与数据面分离——FastAPI 管理进程只管交互,压力小;asyncio 转发内核独立扛流量,两者仅通过本机环回地址交换指令与状态快照。

工程化该有的也都补齐了

pytest 端到端用例覆盖反向转发、多客户端多隧道、错误 token 拒绝、断线重连、客户端离线后端口释放、动态端口白名单、TLS 1.3 协商这些关键路径;并发与吞吐压测脚本随包提供,跑完直接出性能报告;部署文档里附了完整的安全组放行清单与系统调优参数。

TSM Travel 全部源码已在 Gitee 开放,欢迎下载试用、提交 Issue、参与共建。