V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
atpking
V2EX  ›  分享创造

[内网穿透调试] 使用 NUAPI, 0 安装, 5 秒钟拥有线上地址调试本地端口

  •  
  •   atpking · 2022-03-21 15:53:00 +08:00 · 3862 次点击
    这是一个创建于 1011 天前的主题,其中的信息可能已经有所发展或是发生改变。

    TLDR:

    NUAPI ( https://www.nuapi.com) 核心功能之一的“端口转发”功能, 提供了只依赖 ssh 的快速穿透方式: 无需安装其他软件, 可在命令行 ssh 一键转发本地端口到公网 https 域名,用于您的开发。

    V 友注册码:V2EXSSH


    众所周知, 在我们集成第三方 webhook ,或者处理某些特殊 js 的时候, 都会遇到一个比较麻烦的事情: “需要一个公网可见的地址”, 另外还有不少国内的朋友还会遇到另一个问题:“需要一个备案过的域名”。

    作为典型的微信公众号,js 接口就有下面的规则:

    1. 需要有域名

    2. 需要 ICP 备案

    3. 需要鉴权

    其实在项目刚进行开发的时候, 这些东西需要凑齐, 还是要花一定的时间的。尴尬的是, 有时候这些东西并不是你在一开始就准备好了的,比如此时公司运维休假无法开新的外网可见机器, 比如手上只有能在境外使用的域名。抑或是更简单的情况: 我现在只想在本地立即开发, 不想去碰 nginx , 域名, 服务器。

    此时 NUAPI 的端口转发即可实现 本地端口直接公网可见, 且分配了一个 支持 https 访问的域名

    按下列操作即可:

    qnDJ54.md.png

    假设你的本地端口是 3000 端口

    使用上面生成的命令在终端执行即可,

    qnDQK0.md.png

    ssh -R 0:127.0.0.1:3000 nussh.com # 1ZVSDV 是您的授权码,请您妥善保管

    执行并根据提示输入授权码后,即可以实现 端口的转发, 即 https://291eb686.in.nuapi.com 可以穿透到本地的 3000 端口


    现在 NUAPI 开启内测, 邀请码 V2EXSSH 欢迎各位大哥试用

    26 条回复    2022-03-29 15:55:57 +08:00
    zhangneww
        1
    zhangneww  
       2022-03-21 17:25:44 +08:00
    没写价格,注册需要手机号
    atpking
        2
    atpking  
    OP
       2022-03-21 18:09:07 +08:00
    @zhangneww free 是的 需要手机号
    AX5N
        3
    AX5N  
       2022-03-21 22:09:34 +08:00
    @zhangneww 备了案的只能遵守法律要求。
    atpking
        4
    atpking  
    OP
       2022-03-22 01:29:12 +08:00
    @AX5N 是的 NUAPI 在穿透功能上是提供调试为目的的

    其实 NUAPI 更主要的功能是 域名转发, 做网络调试用, 这个后面看有没有机会好好介绍一下
    zhangneww
        5
    zhangneww  
       2022-03-22 16:19:41 +08:00
    试用回来了:用起来确实方便,不过:单个端口转发只能用 20 分钟,一天配额 2 小时
    atpking
        6
    atpking  
    OP
       2022-03-22 17:25:13 +08:00
    @zhangneww 系啊系啊 这个是用给调试用的 免费档就是 一天 2 小时 每次至多 20 分钟

    以后会推出点数付费
    narmgalaxy
        7
    narmgalaxy  
       2022-03-22 23:44:48 +08:00
    是 ngork 类似的功能吗
    atpking
        8
    atpking  
    OP
       2022-03-23 09:43:56 +08:00
    @narmgalaxy 是的 端口转发 跟 ngrok 一样, 只不过 ngrok 需要装软件, 我们这个只是依赖 ssh 进行的端口转发, 之后我们搞了一套授权码来鉴权,就不需要来搞证书啥的了

    此外 端口转发 只是 www.nuapi.com 的一个功能, 其实更重要的功能是 域名转发 调试, 这个对 app 开发特别好用
    xcsoft
        9
    xcsoft  
       2022-03-23 13:33:56 +08:00
    端口转发只能转发 Http 请求吗, 能不能转发 tcp 之类的呢
    域名转发 为什么返回 `返回的内容暂不支持官方域名展示, 您可以选择绑定自定义域名以便拥有全部能力。或联系客服,获取更多支持` 呢
    skull
        10
    skull  
       2022-03-24 08:58:51 +08:00
    github 上有一个开源的项目 zoro 有类似的功能
    atpking
        11
    atpking  
    OP
       2022-03-24 10:34:44 +08:00
    @xcsoft
    域名转发那 我们针对的场景是转发 api 服务器(访问内容返回 json 或 xml ), 之后可以看到发送和接受到的数据。 解决类似这样的场景 https://support.qq.com/products/364823/blog/570535

    因为流量的问题, 目前暂不支持非文本化的内容的返回。
    atpking
        12
    atpking  
    OP
       2022-03-24 10:56:07 +08:00
    @skull 是的 其实穿透类的项目非常多 最出名的是 ngrok 和 frp ,
    包括 zoro 在内的项目, 其实他们的定位都是 建立一个长期的内网穿透, 都需要在 server 端(公网的 server )和 client 端(内网的 server )安装个软件, 并且安装完毕了之后再经历比较麻烦的配置过程(比如 frp , 两边都要写配置文件, 初次接触的时候还是费点功夫的)。

    我们发现的问题是: 其实在大多数情况下, 我们只是临时用一下,并不想在机器上安装各种各样的穿透软件。另外使用之后, 我还得记得去关闭这个内网穿透的服务。实际上经常会出现用完了但是忘记关了, 穿透就一直存在着。我们自己经历的一次事故就是因为忘记关穿透了,之后端口被扫出来了, 又因为是穿透的开发环境, 实际权限很高, 带来了很大的风险。



    www.nuapi.com 的端口转发的特点是其实就是简单, 迅速

    1. 不安装任何额外的软件, 就系统自带的 ssh 即可。 又因为 ssh 是一个非常成熟的协议,可靠性还是得到了不错的保证。

    2. 授权十分简单,输入 6 位临时授权码即可。 我们自研了一套 ssh 鉴权方式, 通过简单的 授权码, 即可连接上 NUAPI 的 ssh 端口转发。

    3. 自带 https 证书, 自带域名,标准 80 443 端口, 避免在某些 callback 的时候, 因为政策要求 是域名, 指定使用 80 443 端口啥的。

    4. 会自动断线。 我们设计了 20 分钟后自动断线的功能, 防止大哥们忘记关穿透带来额外的系统风险。


    当然使用 ssh 进行端口转发也有一定的缺点: 就是他不会进行连接复用, 所有请求都是线性的通过 ssh 进行转发,论转发效率上,实际上是低于 frp 等软件的。只不过如果是只是用在调试上, 则这点是没有太大问题的。
    lcf8381595
        13
    lcf8381595  
       2022-03-24 21:29:37 +08:00
    太强了,很好用,支持!!!
    是公司的产品吗?
    atpking
        14
    atpking  
    OP
       2022-03-25 09:59:53 +08:00
    @lcf8381595 是的 是公司级的产品
    xcsoft
        15
    xcsoft  
       2022-03-25 22:57:12 +08:00
    @atpking 我返回的 content-type 为 text/json 应该属于文本吧
    atpking
        16
    atpking  
    OP
       2022-03-27 11:03:09 +08:00
    @xcsoft 属于 按照道理应该 ok 不知道是否可以透露下你的 nuapi 分配的域名是什么 我来检查一下
    atpking
        17
    atpking  
    OP
       2022-03-27 11:03:52 +08:00
    @xcsoft 或者帮助中心里有个群 您这边可以加一下 我们工程师再看一下
    TellMeWHY
        18
    TellMeWHY  
       2022-03-27 19:02:31 +08:00
    试了,端口转发挺好用,MP4 都能在线播放,赞!
    但是,域名防封你们要做好呀
    毕竟,20 分钟的限制,不一定能阻挡 LSP 们互传艾薇儿的热情
    合规的运营成本可能会搞死这类产品
    atpking
        19
    atpking  
    OP
       2022-03-28 00:22:24 +08:00
    @TellMeWHY

    多谢提醒, 端口转发那块以后可能会做成对流量的限制 再就是访问地址超过一定区域后, 会自动断线。

    其实端口转发只是我们很小的一个功能, 我们主推的是域名转发 有兴趣的话可以看看 www.nuapi.com 帮助中心的内容哟
    xcsoft
        20
    xcsoft  
       2022-03-28 11:11:46 +08:00
    @atpking 好的, 我去看下
    TellMeWHY
        21
    TellMeWHY  
       2022-03-28 13:09:06 +08:00
    @atpking
    区别对待即可,还能有额外的收入,譬如:
    1.免费用户仅能当前 IP 访问,充值 VIP 就能指定 WAN IP 访问
    2.免费用户限制流量,VIP 用户可以充流量(分流量包和包月两种)
    3.免费用户不能绑自己的域名,VIP 用户允许绑定自己的域名(绑定之后 IP 放开无限制)
    atpking
        22
    atpking  
    OP
       2022-03-28 14:07:27 +08:00
    @TellMeWHY

    嗯嗯 其实 ssh 端口转发只是其中一块很小的功能 我们做的大功能实际是 域名转发 这个主要是为了方便前后端调试的 感兴趣的话 可以看看这个视频 https://www.bilibili.com/video/BV1fY4y1s79e/
    monmon
        23
    monmon  
       2022-03-28 16:25:51 +08:00   ❤️ 1
    atpking
        24
    atpking  
    OP
       2022-03-28 16:33:11 +08:00
    @monmon 是的 就像之前我评论的 其实市面上的透传工具 非常多,做的也都很好

    如果老哥是想使用稳定的长期的内网穿透, 确实这类需要下载软件的内网穿透工具应该会比较适合,透传效率也会比较高。

    NUAPI 的端口转发也有自己的优势:

    www.nuapi.com 端口转发的特点是: “ 无需安装任何软件, 直接就通过 SSH , 即可以实现透传,同时简化了 SSH 授权, 仅用授权码即可完成 ssh 鉴权”。 这是我们与其他透传工具的差异化竞争点吧

    说白了, 就是 哪怕你是小白, 或者不想安装任何软件,就想简单的作个内网穿透, 那么,直接进 nuapi , 拷贝好我们已经生成的指令(指令后注释着授权码), 粘贴到 terminal 执行, 输入授权码, 就可以实现对端口的透传,整个过程不会超过 5 秒。
    monmon
        25
    monmon  
       2022-03-29 11:47:02 +08:00
    @atpking NUAPI 对于非开发人员使用起来确实方便
    atpking
        26
    atpking  
    OP
       2022-03-29 15:55:57 +08:00
    @monmon 多谢鼓励 欢迎试用 nuapi 的其他功能哟
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5383 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 05:55 · PVG 13:55 · LAX 21:55 · JFK 00:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.