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

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

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

    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   ·   实用小工具   ·   1097 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:05 · PVG 03:05 · LAX 11:05 · JFK 14:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.