一个 C/C++语言的 ngrok 客户端 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
dosgo
V2EX    分享创造

一个 C/C++语言的 ngrok 客户端

  •  
  •   dosgo 215-03-14 14:09:12 +08:00 9381 次点击
    这是一个创建于 3930 天前的主题,其中的信息可能已经有所发展或是发生改变。

    ngrok是一个内网映射神器,因为go语言写的,移植到openwrt挺麻烦的,所以用C语言重写了一个。源码 https://github.com/dosgo/ngrok-c

    20 条回复    2020-06-29 16:03:58 +08:00
    Bluek404
        1
    Bluek404  
       2015-03-14 15:17:11 +08:00
    移植到openwrt麻烦?
    qinix
        2
    qinix  
       2015-03-14 18:26:39 +08:00 via iPad
    看到楼主的 git commit message,瞬间感觉好简洁
    dosgo
        3
    dosgo  
    OP
       2015-03-15 01:38:14 +08:00
    @Bluek404 你移过嘛?反正我加入了gccgo从新编译了openwrt固件跟交叉工具链,还得改成gclibc,折腾了一天,终于编译好了,发现那体积好大啊,又不想重新刷固件,就用C重写了。。
    dosgo
        4
    dosgo  
    OP
       2015-03-15 01:39:05 +08:00
    @qinix 好吧,新手,多多包涵。。
    Had
        5
    Had  
       2015-03-15 09:12:19 +08:00
    感谢楼主,但是有个问题要咨询下:
    是基于哪一版的ngrok?支持指定port么?
    dosgo
        6
    dosgo  
    OP
       2015-03-15 12:44:41 +08:00
    @Had 支持指定端口-SER[Shost:ngrokd.ngrok.com,Sport:443,Atoken:xxx] -AddTun[Type:tcp,Lhost:127.0.0.1,Lport:22,Rport:55555] Rport就是远程端口号,如果端口占用了会报错, 如果指定端口authtoken不能为空,这个是ngrok的服务器要求的,如果你用tunnel.mobi则没有这个限制。
    Metre
        7
    Metre  
       2015-05-27 17:30:24 +08:00   1
    希望楼主帮忙编译一个mt7620 openwrt 路由器上能用的
    dosgo
        8
    dosgo  
    OP
       2015-06-09 18:40:03 +08:00
    @Metre 有SDK包吗?如果没有我也无能为力。。
    Metre
        9
    Metre  
       2015-06-22 16:51:18 +08:00
    la0wei
        10
    la0wei  
       2015-06-29 10:58:58 +08:00
    楼主的 7260n openwrt有编译好的吗?
    Metre
        11
    Metre  
       2015-07-03 22:44:01 +08:00   1
    @dosgo 感谢楼主 我自己编译了个 X86的 和 mt7620a的
    http://www.right.com.cn/forum/thread-168857-1-1.html
    Metre
        12
    Metre  
       2015-07-03 22:44:48 +08:00
    @la0wei
    我编译了个mt7620a的 不知道 mt7620n的能不能用 你可以试试看
    http://www.right.com.cn/forum/thread-168857-1-1.html
    dosgo
        13
    dosgo  
    OP
       2015-07-09 22:19:40 +08:00
    @Metre 学会编译了啊?恭喜,主要是polarssl library麻烦些。。
    Metre
        14
    Metre  
       2015-07-10 08:59:35 +08:00 via Android
    @dosgo 惭愧 本身是程序员 就是比较忙 没时间搞 周末抽了点时间整了下…………
    deben
        15
    deben  
       2015-08-25 17:25:17 +08:00
    @dosgo 您好,能否有时间出一个编译的过程说明呢?搞了半天没编出来。。。
    deben
        16
    deben  
       2015-08-26 09:37:52 +08:00
    @Metre 请问你编译的是 openssl 还是 polarssl ?如果编译 polarssl 是有一个自己配置 polarssl 环境的步骤吗?
    dosgo
        17
    dosgo  
    OP
       2015-08-30 21:59:06 +08:00
    @deben 看 makefile 文件就可以了啊。。有事联系邮箱。。很少上 v2ex
    evanzing
        18
    evanzing  
       2015-10-15 22:28:11 +08:00
    @Metre 终于可以回复了,在恩山看不到您出现
    请教一下好吗,谢谢

    我把 ngrokc 放 package 目录,终端执行 make -f Makefile.openssl
    结果如下:
    make -f Makefile.openssl
    g++ -fexceptions -DOPENSSL=1 -c -o sendmsg.o sendmsg.cpp
    sendmsg.cpp: In function ‘ int loadargs(int, char**, std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, TunnelInfo*, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, TunnelInfo*> > >*, char*, int*, char*)’:
    sendmsg.cpp:368: 警告:不建议使用从字符串常量到‘ char*’的转换
    sendmsg.cpp:369: 警告:不建议使用从字符串常量到‘ char*’的转换
    sendmsg.cpp:373: 警告:不建议使用从字符串常量到‘ char*’的转换
    sendmsg.cpp:399: 警告:不建议使用从字符串常量到‘ char*’的转换
    sendmsg.cpp:400: 警告:不建议使用从字符串常量到‘ char*’的转换
    sendmsg.cpp:402: 警告:不建议使用从字符串常量到‘ char*’的转换
    sendmsg.cpp:407: 警告:不建议使用从字符串常量到‘ char*’的转换
    sendmsg.cpp:411: 警告:不建议使用从字符串常量到‘ char*’的转换
    sendmsg.cpp:412: 警告:不建议使用从字符串常量到‘ char*’的转换
    cc -fexceptions -DOPENSSL=1 -c -o cJSON.o cJSON.c
    g++ -fexceptions -DOPENSSL=1 -c -o nonblocking.o nonblocking.cpp
    g++ -fexceptions -DOPENSSL=1 -c -o sslbio.o sslbio.cpp
    g++ -fexceptions -DOPENSSL=1 -c -o main.o main.cpp
    g++ -s sendmsg.o cJSON.o nonblocking.o sslbio.o main.o -o ngrokc -lpthread -lssl -lcrypto
    dosgo
        19
    dosgo  
    OP
       2020-06-27 23:47:49 +08:00
    @evanzing 。。
    evanzing
        20
    evanzing  
       2020-06-29 16:03:58 +08:00
    ……
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2381 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 15:46 PVG 23:46 LAX 07:46 JFK 10:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86