About TSM Travel

一个把「部署门槛」当作头号敌人的开源项目

TSM Travel 由马鞍山小红花科技研发并开源。它没有重造一套穿透协议,而是站在 frp 的成熟架构之上,把「人怎么用它」这件事重新做了一遍。

名字本身就是一句说明书:Tunnel(隧道)——内网与公网之间只打通这一条通道,内网侧不监听、不暴露任何端口;Session Multiplexer(会话复用)——多条连接、多个内网服务共用这条隧道进出,而不是每个服务各捅一个洞、各维护一套链路;travel(穿行)——内网流量顺着隧道走到公网,外部用户看起来就像公网那台机器自己开的服务。

一句话:内网把流量塞进隧道,公网把流量送到外面。内网服务原地不动,公网凭空多出几个端口。

Why

为什么还要做另一个内网穿透工具

frp 已经把内网穿透这件事做得足够好了:服务端与客户端双端模型、控制连接与数据连接分离、工作连接池、token 鉴权——这套架构经受了时间检验,我们原样承接,没有动它。

真正拦住大多数人的不是协议,而是流程。要记住 ini 参数、要分清 frps 与 frpc、要知道哪个端口该放行、出了问题要登服务器翻日志。对熟悉网络的人来说这不算事,但对一个只想让家里的 NAS 能在外网打开的人来说,每一步都是坎。

所以 TSM Travel 做了三处改动:管理界面从简单 dashboard 升级为完整的 Web 管理面板;配置存储从散落的 ini / toml 归档为 SQLite 统一管理;角色设定不再是两个程序,而是同一份程序装好之后访问管理端口自助选择。

Foundation

站在成熟架构之上

这些做法不是我们的发明,而是这一领域的共识。我们做的只是把它们原样接住,再把使用门槛降下来。

01

双端模型

服务端部署在公网机器、客户端部署在内网机器,职责清楚、边界明确。

02

控制与数据连接分离

控制连接负责握手与指令,数据连接负责搬流量,互不干扰。

03

工作连接池

连接预先建好、复用,避免每次请求都重新握手带来的延迟。

04

token 鉴权

客户端必须持服务端下发的 token 才能接入,未授权的连接一律拒绝。

05

TLS 1.3 出站隧道

客户端主动出站并完成 TLS 1.3 握手,公网侧不接受任何入站反向连接。

06

端口动态释放

客户端离线后对应的转发端口即时释放,不会长期占着不放。

Open Source

开源与共建

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

  • 01

    源码仓库

    gitee.com/duojinshaotang/tsmtravel —— 完整代码、部署文档、测试用例与压测脚本都在这里。

  • 02

    问题反馈

    使用中遇到问题、有功能建议,直接在仓库提 Issue,我们会在仓库里跟进。

  • 03

    部署文档

    docs/deploy.md 内含完整的安全组放行清单与系统调优参数,部署前建议先读一遍。

  • 04

    本地验收

    仓库自带 pytest 端到端用例与 bench/bench.py 压测脚本,改完代码自己就能跑一遍。

Domain

关于 tsmtravel.com

TSM Travel 的官方网站域名是 tsmtravel.com。它的注册日期是 1995 年 7 月,距今整整三十一年,比绝大多数互联网公司的历史都要长。在域名资源尚未被大规模瓜分的年代,它就已经存在于互联网的注册簿上了。

这是一枚货真价实的数字铭牌,记录着互联网商业化的最初时光。三十一年后,它成为 TSM Travel 的正式门牌。

用这样一枚老域名承载一款刚刚问世的工具,想表达的意思很直白:这个项目不是做一票就走。 后面的路还长。

Company

关于小红花科技

TSM Travel 由马鞍山小红花科技有限公司研发并开源。团队长期从事软件开发、网络与数字化技术方向的工作,TSM Travel 是自研工具链中的一环。

除了 TSM Travel,团队还维护着万网创维(WWCW)智能建站体系——TSM Travel 的官方网站,正是跑在这套体系上的。