V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
junbaor
V2EX  ›  程序员

免费的内网穿透服务,自己搭了个 ngrok

  •  1
     
  •   junbaor ·
    junbaor · 2017-08-01 20:38:14 +08:00 · 49140 次点击
    这是一个创建于 2698 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前几天有内网穿透的需求,
    看了下花生壳,
    付费还限制端口限制流量。

    考虑到市场上已经没有靠谱的免费内网穿透服务, 索性自己搭了个 ngrok 大家有需要自取,暂不支持 https

    大概,也许,可能会长期维护,没有恶意,勿 D

    主页 : https://wkfg.github.io
    服务端:ngrok.wkfg.org:4443

    有人问我域名 wkfg 有什么含义,我只能说 "无可奉告"

    116 条回复    2023-12-03 20:26:14 +08:00
    1  2  
    misaka19000
        1
    misaka19000  
       2017-08-01 20:43:51 +08:00
    赞一个~~
    zhouqian
        2
    zhouqian  
       2017-08-01 20:58:12 +08:00
    前一段刚自己搭建了一个。
    sherlockwoo
        3
    sherlockwoo  
       2017-08-01 21:09:53 +08:00 via Android
    为啥不用 frp 呢?
    junbaor
        4
    junbaor  
    OP
       2017-08-01 21:18:14 +08:00 via iPhone
    @sherlockwoo 之前用过,所以选型比较偏向 ngrok,怕 frp 不稳定,抽空还是得学习一个。
    Antidictator
        5
    Antidictator  
       2017-08-01 21:21:46 +08:00 via Android
    wkfg wu ke feng gao
    RLib
        6
    RLib  
       2017-08-01 21:22:03 +08:00
    current
        7
    current  
       2017-08-01 21:23:13 +08:00
    https://senlime.com/personal.html

    内网穿透其实有人做的。。打个我司的小广告吧。。
    jtsai
        8
    jtsai  
       2017-08-01 21:23:50 +08:00   ❤️ 1
    我用 cron 定时发 ip 到网盘 要登陆到网盘找 ip 这样做 是不是傻方法?
    junbaor
        9
    junbaor  
    OP
       2017-08-01 21:32:24 +08:00 via iPhone
    @jtsai 很好,可是有些人压根没有公网 ip,比如我。
    ajeef
        10
    ajeef  
       2017-08-01 21:34:43 +08:00
    直接买个 10 年域名+腾讯云 API 解析,够用了。
    timothyye
        11
    timothyye  
       2017-08-01 21:35:18 +08:00 via Android   ❤️ 3
    有自己的域名,放在 dnspod,然后自己调用 dnspod 的 api,搞了个动态域名,程序每 5 分钟判断一次公网 ip,发生变化就更新域名解析

    https://github.com/timothyye/godns
    jiangnanwd
        12
    jiangnanwd  
       2017-08-01 21:41:27 +08:00
    同没有公网 IP 的苦逼移动宽带用户,能否告知一下是哪个机房吗
    junbaor
        13
    junbaor  
    OP
       2017-08-01 21:43:32 +08:00 via iPhone
    @jiangnanwd vultr 东京
    jtsai
        14
    jtsai  
       2017-08-01 22:00:55 +08:00 via Android
    @junbaor 没 ip 是怎么回事噢 不太能理解
    stonehe
        15
    stonehe  
       2017-08-01 22:06:51 +08:00 via Android
    @junbaor 用过一段时间 ngrok,主要用于家里 nas 穿透,omv 的系统使用 web 管理,每次打开都会有报错,很不稳定。无奈尝试 frp,发现很流畅,基本上没有报错了。
    junbaor
        16
    junbaor  
    OP
       2017-08-01 22:31:45 +08:00 via iPhone
    @stonehe 报错指的是什么报错?明天薛习一下 frp
    touchlove
        17
    touchlove  
       2017-08-01 22:34:55 +08:00
    赞一个~~
    coolcoffee
        18
    coolcoffee  
       2017-08-01 22:36:12 +08:00
    frp 挺稳定的。 我家里的树莓派就搭了 frp,然后用 nodejs 的 pm2 去维护进程以及开机自启,用了一个多月,经常断电,服务都能正常使用
    0TSH60F7J2rVkg8t
        19
    0TSH60F7J2rVkg8t  
       2017-08-01 22:41:04 +08:00 via iPhone
    @jtsai 你可以把网盘换成 syncthing
    Sweden
        20
    Sweden  
       2017-08-01 22:46:56 +08:00
    请问大家,frp 或者 ngrok 可以做到“家里是移动网,在路由安装 ss 服务端,连接到一个具有独立 ip 的 vps,然后能够在外网通过家庭内路由器的 ss 服务端中转上网”吗?谢谢!
    qile1
        21
    qile1  
       2017-08-02 00:24:34 +08:00 via Android
    有没有稳定的内网数据库代理实现?
    想把数据库从内外暴露到外网
    liangsdu
        22
    liangsdu  
       2017-08-02 00:28:16 +08:00 via iPhone
    关注 20 楼的问题
    wxlg1117
        23
    wxlg1117  
       2017-08-02 00:41:36 +08:00 via Android
    上 frp,好用多了
    just1
        24
    just1  
       2017-08-02 00:49:50 +08:00 via Android
    @Sweden 过程是外网->vps->家里->你想访问的网站
    Sweden
        25
    Sweden  
       2017-08-02 07:21:26 +08:00 via Android
    @just1 是,这个路径没问题,但是有没有类似的实现方式? frp 只有个 http 代理
    catsoul
        26
    catsoul  
       2017-08-02 08:32:59 +08:00
    一波炸出一堆 dalao
    junbaor
        27
    junbaor  
    OP
       2017-08-02 08:42:37 +08:00 via iPhone
    @Sweden 根本用不到自己的 vps,路由也可以装 ngrok,搭建好服务端直接映射到公网就行吧
    junbaor
        28
    junbaor  
    OP
       2017-08-02 08:44:04 +08:00 via iPhone
    @jtsai 就是运营商分配的是内网 ip,可能一个小区公用这一个出口。
    junbaor
        29
    junbaor  
    OP
       2017-08-02 08:45:42 +08:00 via iPhone
    @qile1 用这个就可以,比如 mysql,把局域网内主机的 3306 端口映射出去就可以了
    wxlg1117
        30
    wxlg1117  
       2017-08-02 08:47:12 +08:00 via Android
    @Sweden 你需要最简单的搞 vpn
    panda1001
        31
    panda1001  
       2017-08-02 08:52:34 +08:00 via Android
    @Sweden 除了 http,基于 tcp 的都能穿透
    bintianbaihua
        32
    bintianbaihua  
       2017-08-02 09:05:04 +08:00
    Sweden
        33
    Sweden  
       2017-08-02 09:08:29 +08:00
    @wxlg1117 移动内网环境,路由没有外网 IP
    fishcat
        34
    fishcat  
       2017-08-02 09:08:48 +08:00
    @junbaor 有个问题
    ```server_addr: ngrok.wkfg.org:4443```

    命令行启动,成功后即可通过 http://demo.wkfg.ngrok.org 来访问本机 8080 端口的服务

    是不是有问题,demo.ngrok.wkfg.org
    Sweden
        35
    Sweden  
       2017-08-02 09:09:37 +08:00
    @panda1001 有没有教程呢?谢谢

    @junbaor 最大的前提是路由处于移动网络,没有公网 IP
    junbaor
        36
    junbaor  
    OP
       2017-08-02 09:15:39 +08:00 via iPhone
    @Sweden ngrok 就是解决没有公网 ip 这种场景,它会给你一个可以访问的域名
    cyaninetechnai
        37
    cyaninetechnai  
       2017-08-02 09:17:15 +08:00
    @fishcat 你这个直接访问的是 80 端口吧。
    junbaor
        38
    junbaor  
    OP
       2017-08-02 09:17:18 +08:00 via iPhone
    @fishcat servet_addr 指的是服务端地址端口,具体域名前缀需要你在命令行指定,可以把 demo 换成你想自定义的内容。还有什么问题?
    EricInBj
        39
    EricInBj  
       2017-08-02 09:22:19 +08:00
    @jtsai 我家拔到的 IP 都是同一个 C 段里的,在路由上开个特殊的端口,要用的时候 nmap 一下那个 C 段。
    cyaninetechnai
        40
    cyaninetechnai  
       2017-08-02 09:23:42 +08:00
    @fishcat 你需要在服务器端开服务,具体就像 ./ngrokd -domain="xx.xxx.com" -httpAddr=":123" -httpsAddr=":124" -tunnelAddr=":125"

    那么,你在客户端连接 125 后,需要访问的就是类似 demo.xx.xxx.com:123 这个。如果在服务器端把 123 改成 80 的话,那么就是 demo.xx.xxx.com
    应该是这样子吧。。
    junbaor
        41
    junbaor  
    OP
       2017-08-02 09:25:22 +08:00 via iPhone
    @EricInBj 这个 6
    ToBeHacker
        42
    ToBeHacker  
       2017-08-02 09:38:41 +08:00 via Android
    话说这用 ssh 端口映射不久搞定了吗?
    junbaor
        43
    junbaor  
    OP
       2017-08-02 09:53:19 +08:00
    @ToBeHacker ssh 隧道当然可以啦,那玩意容易断吗?
    sixdian
        44
    sixdian  
       2017-08-02 10:23:30 +08:00 via Android
    wkfg 我靠,疯狗!
    7colcor
        45
    7colcor  
       2017-08-02 10:31:07 +08:00
    测 GPRS 的时候需要这个东东
    scofieldpeng
        46
    scofieldpeng  
       2017-08-02 10:33:03 +08:00
    既然有公网 ip,可以去 dnspod 或者 cloudxns 这种使用 api 方式定时换解析就行了
    millx
        47
    millx  
       2017-08-02 10:33:29 +08:00
    我用 ssh -R
    jyf
        48
    jyf  
       2017-08-02 10:43:12 +08:00
    都没有人提 n2n
    qqpkat2
        49
    qqpkat2  
       2017-08-02 11:10:12 +08:00
    @millx 正解,ssh -R 一条简单命令就行了。。。
    junbaor
        50
    junbaor  
    OP
       2017-08-02 11:11:24 +08:00
    @sixdian 我靠,我怎么没想到
    Jamedxs
        51
    Jamedxs  
       2017-08-02 11:11:51 +08:00
    66666
    powergx
        52
    powergx  
       2017-08-02 11:28:35 +08:00
    为什么要用透传? 宽带不是都有公网 ip 吗
    hantsy
        53
    hantsy  
       2017-08-02 12:10:39 +08:00
    用 Vagrant 简单, 一个命令 vagrant share (新版本依赖 ngrok )。
    just1
        54
    just1  
       2017-08-02 13:36:58 +08:00 via Android
    @powergx 大部分都没有
    ihciah
        55
    ihciah  
       2017-08-02 14:43:27 +08:00
    内网穿透还是 tinc 好用 2333
    anubu
        56
    anubu  
       2017-08-02 15:07:21 +08:00
    有没有流量不走中心服务器的?
    jtsai
        57
    jtsai  
       2017-08-02 18:52:57 +08:00 via Android
    harry890829
        58
    harry890829  
       2017-08-02 19:00:43 +08:00
    好像很不错的样子,请问考虑开源么?
    junbaor
        59
    junbaor  
    OP
       2017-08-02 19:42:21 +08:00
    @harry890829 本来就是拿开源代码搭建的啊
    kfg
        60
    kfg  
       2017-08-02 20:27:49 +08:00 via Android
    用过一段时间 ngrok,感觉不稳定,基本上 2,3 天左右客户端就会挂。周日换成 frp,到目前为止很稳定。
    Loyalsoldier
        61
    Loyalsoldier  
       2017-08-02 20:38:18 +08:00
    Nginx + SSH 端口转发,简单易用,还支持 HTTPS

    https://ninghao.net/blog/4452
    gam2046
        62
    gam2046  
       2017-08-02 20:40:38 +08:00 via Android
    @ajeef 有推荐么 什么后缀的域名便宜?想整个 10 年 自己用
    LuChengX
        63
    LuChengX  
       2017-08-02 22:39:28 +08:00
    ngrok 装起来挺麻烦的,我用 rfp
    woshixiaohao1982
        64
    woshixiaohao1982  
       2017-08-02 22:44:20 +08:00
    @gam2046 #62 pw
    UnknownR
        65
    UnknownR  
       2017-08-02 23:09:33 +08:00
    哈哈,这原型图是不是用 Balsamiq Mockups 画的
    9yu
        66
    9yu  
       2017-08-02 23:19:21 +08:00
    最近去工信部投诉联通搞到了固定 ip ……
    mtvboy
        67
    mtvboy  
       2017-08-03 02:41:55 +08:00 via Android
    @9yu 工信部投诉过瘾吗?程序复杂吗?
    Yingc
        68
    Yingc  
       2017-08-03 06:19:01 +08:00
    guochengjie
        69
    guochengjie  
       2017-08-03 06:28:11 +08:00 via Android
    感谢分享,虽然用不上。电信打 10000 私改公十分钟搞定
    fox0001
        70
    fox0001  
       2017-08-03 07:35:10 +08:00 via Android
    @9yu 求详情!
    junbaor
        71
    junbaor  
    OP
       2017-08-03 08:08:35 +08:00 via iPhone   ❤️ 1
    @Yingc 不错
    xoxo419
        72
    xoxo419  
       2017-08-03 08:39:41 +08:00
    是不是也可以把内网通过 ssh 连接当做远程服务器?
    fishcat
        73
    fishcat  
       2017-08-03 08:52:10 +08:00
    @junbaor 我的意思是你教程上的域名是不是写错了, .ngrok.org 也是你的米,如果是那就当我没说

    @cyaninetechnai 谢谢,ngrok 我会用, 现在一直在用 frp
    zhoubug
        74
    zhoubug  
       2017-08-03 08:58:03 +08:00
    n2n 多方便 还有手机端
    hzqim
        75
    hzqim  
       2017-08-03 08:58:38 +08:00
    看了网上一大堆编译搭建 ngrok 的教程,那个复杂!
    在 debian 上直接 apt-get ngrok-server 就可以了。
    存在问题:运行了一天多,发现程序自动退出了,暂时搞了一个监控脚本来应对。
    ldlood
        76
    ldlood  
       2017-08-03 09:07:56 +08:00
    考虑到市场上已经没有靠谱的免费内网穿透服务
    natapp 表示不服 买的 5 元最便宜的,非常还用
    tony1016
        77
    tony1016  
       2017-08-03 09:41:52 +08:00
    嘿,还真对题,来安利一下我前几天的帖子,https://www.v2ex.com/t/378263#reply18
    jyf
        78
    jyf  
       2017-08-03 09:59:12 +08:00
    @9yu 分享下经验呗
    figofuture
        79
    figofuture  
       2017-08-03 10:21:20 +08:00
    ngrok
    frp
    haproxy

    http://xip.io
    heyang
        80
    heyang  
       2017-08-03 10:41:01 +08:00
    !!!!
    heyang
        81
    heyang  
       2017-08-03 10:42:10 +08:00
    你是在 B 站直播过写代码的小伙伴吧?我还用弹幕跟你聊了一会你还记得吗。。。
    世界真是小啊。。。
    lee015
        82
    lee015  
       2017-08-03 10:50:00 +08:00 via Android
    只穿几个 tcp 端口,ssh -R 也够用了。ngrok 新版好像没开源了吧。
    powergx
        83
    powergx  
       2017-08-03 11:45:44 +08:00
    @just1 不会吧, 我一根电信, 两根联通 都是公网 ip 啊。
    junbaor
        84
    junbaor  
    OP
       2017-08-03 12:10:10 +08:00
    @heyang 确实在 B 站直播过,可是,不记得你啊,怎么认出我的?
    heyang
        85
    heyang  
       2017-08-03 13:59:29 +08:00
    @junbaor 哈哈哈哈,细节就不说了,藏好自己,做好清理。
    wxblcl
        86
    wxblcl  
       2017-08-03 14:04:49 +08:00
    这个不错
    harry890829
        87
    harry890829  
       2017-08-03 16:47:44 +08:00
    晚点我研究研究上面小伙伴说的 ngrok/frp,我这边是需要 server 主动通知内网的 pc,是要自己写 server 了,不过要是有参考那就太好了
    zzutmebwd
        88
    zzutmebwd  
       2017-08-03 16:55:57 +08:00
    我是学土建的,看到 frp 还以为是玻璃钢...

    @current 风信是免费的?
    junbaor
        89
    junbaor  
    OP
       2017-08-03 17:06:59 +08:00
    @heyang 微信 junbaor 来咱俩絮叨絮叨
    current
        90
    current  
       2017-08-03 17:08:48 +08:00
    @zzutmebwd 嗯,个人版是免费使用的
    zzutmebwd
        91
    zzutmebwd  
       2017-08-03 17:42:02 +08:00
    @ldlood 可以可以 比花生壳厚道
    zzutmebwd
        92
    zzutmebwd  
       2017-08-03 17:46:20 +08:00
    @current 可以可以 比花生壳厚道
    fwkimi
        93
    fwkimi  
       2017-08-03 18:57:16 +08:00
    mark 一下,目前 ngrok 中
    irexy
        94
    irexy  
       2017-08-03 19:02:45 +08:00
    感觉需要内网穿透服务的都在国内,弄个国外的服务器速度好慢。。
    stonehe
        95
    stonehe  
       2017-08-03 21:30:57 +08:00
    @junbaor 就是 web 端无法获取服务器数据的报错,估计是丢包了
    stonehe
        96
    stonehe  
       2017-08-03 21:34:05 +08:00
    @Sweden frp 不只有 http ( s )协议啊,还有 tcp,可以干的事情很多,我直接开端口 svn 家里虚拟机,代替 teamview
    stonehe
        97
    stonehe  
       2017-08-03 21:35:44 +08:00
    @Sweden 没弄明白,你家里路由器的 ss 服务端是起什么作用
    azzwacb9001
        98
    azzwacb9001  
       2017-08-04 02:44:38 +08:00
    我在使用 ngrok 的过程中出现了内存泄漏问题。推荐 frp
    Sweden
        99
    Sweden  
       2017-08-04 08:36:23 +08:00 via Android
    @stonehe 出国后翻墙回国
    svdztn
        100
    svdztn  
       2017-08-04 09:52:14 +08:00
    一直用 n2n。
    简单了解了一下,
    ngrok 优点是,可以使用域名访问子节点,如果服务端开放使用 80 端口,可以不带端口访问子节点;
    n2n 优点,使用通讯组概念,且通讯组可设置密码,子节点可组远程局域网;缺点,只能使用 ip 访问(应该可以在 n2n 网络内搭建 dns 服务器,但没尝试过)。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2088 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 00:45 · PVG 08:45 · LAX 16:45 · JFK 19:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.