钉钉内网穿透

126 篇文章 9 订阅

钉钉提供的内网穿透工具

https://github.com/mzlogin/ding-tunnel

注意:鉴于很多开发者在临时体验开发时往往没有公网域名或者公网IP,本工具提供了一个公网代理服务,目的是方便开发测试。

本工具当前不保证多个开发者随意设置相同的子域名导致的冲突以及通道稳定性,因此正式应用、正式环境必须是真实的公网IP或者域名,正式应用上线绝对不能使用本工具。

内网穿透示意图
在这里插入图片描述

使用方法

HTTP 穿透

  • 1.下载工具
git clone https://github.com/open-dingtalk/pierced.git

或者直接从我的csdn下载:
https://download.csdn.net/download/lxyoucan/14136363

  • 2.执行命令 ./ding -config=./ding.cfg -subdomain=域名前缀 端口。
    以 Mac 为例:
cd mac_64
chmod 777 ./ding
./ding -config=./ding.cfg -subdomain=abcde 8080

Windows:

cd windows_64
./ding -config ding.cfg -subdomain abcde 8080

启动后界面如下图所示:
在这里插入图片描述
命令参数说明:

参数说明
config内网穿透的配置文件,按命令照示例固定为钉钉提供的./ding.cfg,无需修改。
subdomain您需要使用的域名前缀,该前缀将会匹配到“vaiwan.com”前面,例如你的 subdomain 是 abcde,启动工具后会将 abcde.vaiwan.com 映射到本地。
端口您需要代理的本地服务 http-server 端口,例如你本地端口为 8080 等。
  • 3.启动完客户端后,你访问 http://abcde.vaiwan.com/xxxxx 都会映射到 http://127.0.0.1:8080/xxxxx。

命令翻译

官方的说明文档个人感觉比较简陋,有些我想用的功能不知道如何使用,所以翻译了一下程序的帮助。
示例:

./ding -config=./ding.cfg -subdomain=abcde 8080

./ding --help
用法: ./ding [OPTIONS]
Options:

  • -authtoken string
    用于标识ngrok.com帐户的身份验证令牌
  • -config string
    ngrok配置文件的路径。 (默认值: $HOME/.ngrok)
  • -hostname string
    从ngrok服务器请求自定义主机名。(仅HTTP)(需要DNS的CNAME)
  • -httpauth string
    username:password 公共隧道端点的HTTP基本身份验证
  • -log string
    将日志消息写入此文件. ‘stdout’ and ‘none’ 具有特殊含义(默认为“ none”)
  • -log-level string
    字符串要记录的消息级别。下列之一:DEBUG,INFO,WARNING,ERROR(默认为“ DEBUG”)
  • -proto string
    隧道{‘http’,‘https’,‘tcp’}上的流量协议(默认值:‘http + https’)(默认值“ http + https”)
  • -subdomain string
    从ngrok服务器请求自定义子域。(仅HTTP)

Examples:

ngrok 80
ngrok -subdomain=example 8080
ngrok -proto=tcp 22
ngrok -hostname="example.com" -httpauth="user:password" 10.0.0.1

高级用法:

ngrok [OPTIONS] <command> [command args] [...]

命令:

ngrok start [tunnel] [...]    #通过名称从配置文件中启动隧道
ngork start-all               #启动在配置文件中定义的所有隧道
ngrok list                    #列表从配置文件中列出隧道名称
ngrok help                    #打印帮助
ngrok version                 #打印ngrok版本

示例:

ngrok start www api blog pubsub
ngrok -log=stdout -config=ngrok.yml start ssh
ngrok start-all
ngrok version

我的命令分享

前台运行

/Users/itkey/dd/ding -config=/Users/itkey/dd/ding.cfg -log=stdout -log-level=INFO -proto=http -subdomain=itkey 8082

命令解释:

项目解释
/Users/itkey/dd/ding程序位置
-config=/Users/itkey/dd/ding.cfg配置文件位置
-log=stdout日志格式为stdout
-log-level=INFO日志级别为INFO
-proto=http仅用http
-subdomain=itkey 8082二级域名为itkey 本地端口为8082

在这里插入图片描述

后台运行

执行这个命令,就可以后台运行了。这样窗口关闭或者ssh会话关闭程序依然可以后台运行。

并且把日志输出到catalina.out文件。

nohup /Users/itkey/dd/ding -config=/Users/itkey/dd/ding.cfg -log=stdout -log-level=INFO -proto=http -subdomain=itkey 8082  > catalina.out 2>&1 &

命令解释:

项目解释
nohup表示后台运行
> catalina.out 2>&1 &把日志实时的输出到 catalina.out文件

动态查日志:

tail -f catalina.out 

转发非本地的

转发到不同机器上的服务器(非本地服务)
ngrok可以转发到本地计算机上未运行的服务。而不是指定端口号,而只是指定一个网络地址和端口。

示例:转发到不同计算机上的Web服务器
ngrok http 192.168.1.1:8080

钉钉后台运行实例:

nohup /home/itkey/.soft/dingding/ding -config=/home/itkey/.soft/dingding/ding.cfg -log=stdout -log-level=INFO -proto=http -subdomain=servername 172.8.8.8:8080 > haha.out 2>&1 &

数据库穿透TCP(实测无法使用)

经过多次测试,发现实际无法使用。

连接都显示成功了,实际上是无用的。
在这里插入图片描述
理论上我做的配置是没有错误的,我反复测试了好多个端口,就是不能使用,我也很无奈。

做人不能太贪心啊,http能免费使用已经很不错啦。

有兴趣的,可以自己按照官方文档测试。
https://github.com/mzlogin/ding-tunnel

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值