SirTunnel:颠覆传统的自托管隧道工具,50行Python实现ngrok平替方案
SirTunnel是一款极简的自托管隧道工具,仅用50行Python代码就实现了ngrok的核心功能,结合Caddy和OpenSSH打造出零配置的本地服务暴露方案。对于需要将本地开发服务快速暴露到公网的开发者来说,这是一个轻量且高效的替代选择。## 🚀 为什么选择SirTunnel?传统的内网穿透工具要么依赖第三方服务,要么配置复杂。SirTunnel的出现彻底改变了这一现状:- *
SirTunnel:颠覆传统的自托管隧道工具,50行Python实现ngrok平替方案
SirTunnel是一款极简的自托管隧道工具,仅用50行Python代码就实现了ngrok的核心功能,结合Caddy和OpenSSH打造出零配置的本地服务暴露方案。对于需要将本地开发服务快速暴露到公网的开发者来说,这是一个轻量且高效的替代选择。
🚀 为什么选择SirTunnel?
传统的内网穿透工具要么依赖第三方服务,要么配置复杂。SirTunnel的出现彻底改变了这一现状:
- 极致精简:核心逻辑仅50行Python代码,sirtunnel.py实现了完整的隧道管理功能
- 零配置部署:无需复杂设置,通过简单脚本即可快速启动
- 自托管优势:完全掌控数据流向,避免第三方服务带来的安全风险
- 轻量高效:结合Caddy和OpenSSH,利用成熟工具链保证稳定性
📦 一键安装步骤
安装SirTunnel非常简单,项目提供了自动化安装脚本,只需执行:
git clone https://gitcode.com/gh_mirrors/si/SirTunnel
cd SirTunnel
chmod +x install.sh
./install.sh
安装脚本会自动配置Caddy服务器和必要的依赖组件,整个过程无需人工干预。
⚡ 最快使用方法
创建隧道只需一个简单命令。项目提供了示例脚本create_tunnel_example.sh,使用方法如下:
# 基本语法:./sirtunnel.py <域名> <本地端口>
./sirtunnel.py example.com 8080
执行后,脚本会自动配置Caddy反向代理,将指定域名的流量转发到本地8080端口。按Ctrl+C可优雅关闭隧道并清理配置。
🔍 工作原理揭秘
SirTunnel的工作流程非常直观:
- 接收用户输入的域名和本地端口参数
- 通过Caddy API动态添加反向代理规则
- 保持进程运行以维持隧道连接
- 接收到中断信号时自动清理配置
核心代码位于sirtunnel.py,通过Python的urllib库与Caddy API交互,实现配置的动态管理。这种设计使得工具本身保持了极简的体积,同时利用Caddy的强大功能处理HTTP流量。
🛠️ 配置文件解析
项目的核心配置文件是caddy_config.json,它定义了Caddy服务器的基础设置。默认配置已经过优化,大多数用户无需修改即可直接使用。
如果你需要自定义服务器设置,可以编辑此文件调整监听端口、TLS配置等高级选项。
💡 使用场景推荐
SirTunnel特别适合以下场景:
- 本地开发环境的临时公网访问
- 演示环境快速搭建
- 物联网设备的远程管理
- 无需长期暴露的内部服务临时访问
由于其轻量级特性,不建议将其用于高流量生产环境。
📝 总结
SirTunnel用极简的代码实现了强大的内网穿透功能,完美平衡了易用性和功能性。通过结合Caddy和OpenSSH的优势,它为开发者提供了一个自托管的ngrok替代方案,既保护了数据安全,又简化了配置流程。
无论是前端开发者需要临时共享工作成果,还是后端开发者测试Webhook,SirTunnel都能成为你工具箱中的得力助手。立即尝试,体验50行代码带来的强大功能吧!
更多推荐




所有评论(0)