Home

Awesome

ngrok-c

不会编译的伙伴可以用,hauntek大神写的python版本,https://github.com/hauntek/python-ngrok

openwrt 编译方法。

build

ddns.cpp and https.cpp are abandoned

windows

run Build.bat in CLI.

linux

run build.sh instead of makefile

openwrt

run openwrtbuild.sh

tomatoware

openssl

cp Makefile.openssl.static Makefile

make

mbedTLS

Compile and install mbedTLS into tomatoware first, then:

cp Makefile.mbedtls.static Makefile

make

使用说明

命令

ngrok-polarssl -SER[Shost:ngrokd.ngrok.com,Sport:443,Atoken:xxx] -AddTun[Type:http,Lhost:127.0.0.1,Lport:80,Sdname:xxdosgo]

Shost -Server host. //服务器host

Sport -server port. //服务器端口

Atoken -ngrok authtoken. //服务器认证串

type -tcp or http or https. //要映射的类型,tcp,http,https

Lhost -local address. //本地地址,如果是本机直接127.0.0.1

Lport -local port. //本地端口

sdname -Subdomain. //子域名

Hostname -hostname //自定义域名映射

Rport -remote port //远程端口,tcp映射的时候,制定端口使用。

Example

You can also register multiple Tunnel, but can only have one of each type.

2015/7/10更新增加

ngrokc.exe -SER[Shost:tunnel.mobi,Sport:44433] -AddTun[Type:http,Lhost:127.0.0.1,Lport:80,Hostname:xx.xxx.org] -AddTun[Type:tcp,Lhost:127.0.0.1,Lport:80,Rport:55556]

2015/7/28更新

2015/8/4

2015/10/7

注意如果编译polarssl版本

如果你使用的PolarSSL 版本是v2.0.0及其以上的版本编译,请把config.h文件的define ISMBEDTLS 改为1

2015/10/17

2015/10/20

2015/11/5

2015/12/8

2015/12/13

2015/12/20

2015/12/30

2016/3/12

2016/3/29

2016/3/31

2016/4/4

2016/04/19

2016/04/20

2016/04/25

-1.25 版本(测试)增加多个通道功能,避免多个进程,可以注册N个通道,如- ngrokc -AddTun[Type:http,Lhost:127.0.0.1,Lport:80,Sdname:Example] -AddTun[Type:http,Lhost:127.0.0.1,Lport:80,Sdname:Example1] -AddTun[Type:http,Lhost:127.0.0.1,Lport:80,Sdname:Example2]

2016/05/2

-1.32稳定版本,修复1.25版本tcp映射出错问题。修复1.25的崩溃bug。

2016/05/11

-1.33版本 修复重连子域名bug。

2016/05/25

-1.37版本 修复一个崩溃bug,建议所有的都升级到这个版本。

2016/07/26

-1.39版本 为了增加自定义cid。其它没用

2016/10/27

-1.40版本 增加password功能支持。

2016/11/26

准备新功能开发,UDP端口映射功能,有没有有兴趣的,一起开发,目前最大的问题在于,我的go语言很烂,别指望官方会加这功能,自己自己动手,又兴趣的加群192182463(QQ群)

2017/1/9

-1.41版本 修复一个网络不好可能导致的内存泄漏问题。

2018/5/7

-1.45版本 增加自定义转发Hostheader功能。用于那些本地会判断host的网站  使用方法-AddTun[Type:http,Lhost:127.0.0.1,Lport:80,Hostheader:localhost]

2019/07/28

-1.53 add support openssl 1.1。

2019/11/2

-1.54 add support http basic auth。 Example -AddTun[Type:http,Lhost:127.0.0.1,Lport:80,Httpauth:"test:test"]

2019/11/2

-1.54 add support http basic auth。 Example -AddTun[Type:http,Lhost:127.0.0.1,Lport:80,Httpauth:"test:test"]

2021/8/31

-1.55 add support local tls。 Example -AddTun[Type:https,Lhost:127.0.0.1,Lport:443,Ltls:1]

关于编译对应路由的版本的ngrokc。

一。去http://downloads.openwrt.org/下载你路由对应的SDK版本 ,如OpenWrt-SDK-ar71xx-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2.tar.bz2,并且解压。

二.需要先编译polarssl或者openssl库(取决你想用啥库,2选1)。

三.编译ngrokc

四.简单编译ngrokc。

  1. 去http://downloads.openwrt.org/下载你路由对应的SDK版本 ,如OpenWrt-SDK-ar71xx-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2.tar.bz2,并且解压。
  2.编辑openwrtbuildv2.sh 修改export STAGING_DIR export PATH,把里面的路径改成你下载的SDK。
  3. 把openssl.zip解压到你的下载的sdk,/xxx/OpenWrt-SDK/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/include目录下,
  4. 运行编辑openwrtbuildv2.sh,就会在build-mips生成一个叫ngrokc的文件。成功了。。把它复制到bin目录。就可以运行ngrokc了。
  5.记得安装,libopenssl.ipk,官网有下载。

五.zig交叉编译ngrokc。

  1. 去https://ziglang.org/download/下载zig编译器并且安装好,
  2. 修改crossbuild.bat文件的TARGET=mipsel-linux-musl改成你的平台。
  3. 运行crossbuild.bat就会在当前目录生成编译文件。
  4. 记得安装,libopenssl.ipk,官网有下载。

编译就这样了,以后请不要邮件问我怎么编译了,有bug可以联系。

现在tunnel.mobi不能用了。。,哪里还有国内的服务器的。。