您当前的位置: 首页 > 

ITKEY_

暂无认证

  • 0浏览

    0关注

    732博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

钉钉内网穿透

ITKEY_ 发布时间:2021-01-12 22:15:31 ,浏览量:0

钉钉提供的内网穿透工具

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 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

关注
打赏
1665243900
查看更多评论
立即登录/注册

微信扫码登录

0.0391s