www.1apm.com 这个域名买了很久了,一直没有利用起来,最近也是因为口罩原因在家,于是抽着不忙,做了一个比较实用的 内网穿透 服务。
整个项目技术架构为 ruby on rails 7 + tailwindcss3 + alpinejs,感觉开发起来还是很顺,特别是 alpinejs,这玩意在简单逻辑上还挺好用的
下面是 www.1apm.com 的简介
www.1APM.com 是从一个已经挂掉的项目 nuapi 的一个子功能 内网穿透 得到的灵感,通过一个简单的网页,你可以将你的内网服务暴露到公网上,通过一个域名访问。
这个工具不同于 ngrok 或者 frp 的最大特点就是在做内网穿透的时候,它是不需要安装任何软件的,只需一句命令行,通过系统自带的 ssh tunnel 来提供内网穿透服务。
这带来了个显而易见的 优点:无需准备,直接穿透
在开发过程中,有无数的细节等待着我们。我一直认为,除了核心目标,其他的工作,尽量不要麻烦自己。我在开发时最烦的就是与第三方进行对接,举个简单的例子:
微信的登录 微信需要能访问到我的服务,要想让三方服务访问到,就必须准备公网可见的服务器,这还处在开发阶段,服务器都不一定申请下来了。
服务器下来了,也得 配环境、配数据库、配域名、还要配那个倒霉的 https 证书!对接一行代码没写,就已经浪费了好几个小时。 然而等将程序部署到之后,如果一旦对接失败(这很正常,很难做到首次对接一次成功),又得去远端翻日志翻数据,再切回本地根据之前的数据再模拟一遍访问,再查找 bug,改 bug,提交代码再重新部署。往往就改了一行,就要花几十分钟做这些重复动作,接着再出现问题,只能换个姿势再来一次,代码没搞多少,一天就已经结束了。
正所谓 因为太麻烦,所以搞不定。
有了 1apm 提供的 基于 ssh 的内网穿透,这些操作都可以省略,只需要在开发机上运行对应指令,即可得到公网可见,直连本机端口,支持 https 的网址!
不仅可以让三方服务微信向你发起请求,更可以直接在增加断点调试,哪里有问题,可以当场查看下变量。工具方便快捷,解决起问题就会得心应手。
1apm 内网穿透本身不装任何软件,这样就省去了带来的安全性问题 不引入新的软件,用完了直接结束命令即可。