create dingtalk pierced client

This commit is contained in:
zhiqiang.szq 2022-01-17 17:42:28 +08:00
parent 95b9821e0f
commit 6812f273c0
16 changed files with 166 additions and 2 deletions

1
.gitignore vendored
View File

@ -6,6 +6,7 @@
# BlueJ files
*.ctxt
.DS_Store
# Mobile Tools for Java (J2ME)
.mtj.tmp/

118
README.md
View File

@ -1,2 +1,116 @@
# dingtalk-pierced-client
钉钉内网穿透客户端鉴于很多开发者在临时体验开发时往往没有公网域名或者公网IP本工具提供了一个公网代理服务目的是方便开发测试仅用于开发测试过程不可用于线上生产环境。
# 钉钉提供的内网穿透工具
本仓库及以下说明来自钉钉官方开发文档。
> 注意鉴于很多开发者在临时体验开发时往往没有公网域名或者公网IP本工具提供了一个公网代理服务目的是方便开发测试。
>
> 本工具当前不保证多个开发者随意设置相同的子域名导致的冲突以及通道稳定性因此正式应用、正式环境必须是真实的公网IP或者域名正式应用上线绝对不能使用本工具。
>
>
>
测试结束之后请及时关闭内网穿透功能,释放资源以供其他同学共享,共建和谐友爱社区。
## 内网穿透示意图
![](https://img.alicdn.com/imgextra/i2/O1CN01aJ6Q4k1hlEYAyHZL0_!!6000000004317-2-tps-1524-858.png)
## 使用方法
### HTTP 穿透
1. 下载工具
```
git clone https://github.com/open-dingtalk/dingtalk-pierced-client.git
```
2. 执行命令 `./ding -config=./ding.cfg -subdomain=域名前缀 端口`
以 Mac 为例(m1芯片请进入mac_m1目录)
```
cd mac/
chmod 777 ./ding
./ding -config=./ding.cfg -subdomain=dingabcde 8080
```
Windows
```
cd windows_64
./ding -config ding.cfg -subdomain dingabcde 8080
```
启动后界面如下图所示:
![](https://img.alicdn.com/imgextra/i2/O1CN01BuAh4h1OMysVWmLQl_!!6000000001692-0-tps-1778-604.jpg)
命令参数说明:
| 参数 | 说明 |
|-----------|-----------------------------------------------------------------------------------------------------------------------------------|
| config | 内网穿透的配置文件,按命令照示例固定为钉钉提供的./ding.cfg无需修改。 |
| subdomain | 您需要使用的域名前缀该前缀将会匹配到“vaiwan.cn”前面例如你的 subdomain 是 dingabcde启动工具后会将 dingabcde.vaiwan.cn 映射到本地。 |
| 端口 | 您需要代理的本地服务 http-server 端口,例如你本地端口为 8080 等。 |
3. 启动完客户端后,你访问 http://dingabcde.vaiwan.cn/xxxxx 都会映射到 http://127.0.0.1:8080/xxxxx。
### 数据库穿透
1. 下载工具
```
git clone https://github.com/open-dingtalk/dingtalk-pierced-client.git
```
2. 执行命令 `./ding -config=./ding.cfg -proto=tcp start ssh`
以 Mac 为例:
```
cd mac_64
chmod 777 ./ding
./ding -proto=tcp -config=./ding.cfg start ssh
```
启动后界面如下图所示:
![](https://img.alicdn.com/imgextra/i2/O1CN01KAwyrE1WGaH0X2Cok_!!6000000002761-0-tps-1766-402.jpg)
命令参数说明:
| 参数 | 说明 |
|--------|------------------------------------------------------------------------|
| config | 内网穿透的配置文件,按命令照示例固定为钉钉提供的./ding.cfg无需修改。 |
| proto | 启动的是 TCP 协议穿透。 |
3. 在数据库里面执行:
```sql
GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
```
注意 123456 是数据库远程登录的密码root 为用户名。
4. 数据库连接命令:
```
mysql -h vaiwan.cn -u root -p -P 1234 //端口号地址
```
1234 是启动远程数据库连接默认的端口,可以在 ding.cfg 中进行修改。
## 注意
1. 你需要访问的域名是 http://dingabcde.vaiwan.cn/xxxxx 而不是 http://dingabcde.vaiwan.cn:8082/xxxxx。
2. 你启动命令的 subdomain 参数有可能被别人占用尽量不要用常用字符可以用自己公司名的拼音例如alibaba、dingding 等。
3. 可以在本地起个 http-server 服务,放置一个 index.html 文件,然后访问 http://dingabcde.vaiwan.cn/index.html 测试一下。
## 官方文档
- <https://ding-doc.dingtalk.com/doc#/kn6zg7/hb7000>

BIN
linux/ding Executable file

Binary file not shown.

7
linux/ding.cfg Normal file
View File

@ -0,0 +1,7 @@
server_addr: "vaiwan.cn:443"
trust_host_root_certs: false
tunnels:
ssh:
proto:
tcp: "3306"
remote_port: 1234

BIN
linux_386/ding Executable file

Binary file not shown.

7
linux_386/ding.cfg Normal file
View File

@ -0,0 +1,7 @@
server_addr: "vaiwan.cn:443"
trust_host_root_certs: false
tunnels:
ssh:
proto:
tcp: "3306"
remote_port: 1234

BIN
linux_arm/ding Executable file

Binary file not shown.

7
linux_arm/ding.cfg Normal file
View File

@ -0,0 +1,7 @@
server_addr: "vaiwan.cn:443"
trust_host_root_certs: false
tunnels:
ssh:
proto:
tcp: "3306"
remote_port: 1234

BIN
mac/ding Executable file

Binary file not shown.

7
mac/ding.cfg Normal file
View File

@ -0,0 +1,7 @@
server_addr: "vaiwan.cn:443"
trust_host_root_certs: false
tunnels:
ssh:
proto:
tcp: "3306"
remote_port: 1234

BIN
mac_m1/ding Executable file

Binary file not shown.

7
mac_m1/ding.cfg Normal file
View File

@ -0,0 +1,7 @@
server_addr: "vaiwan.cn:443"
trust_host_root_certs: false
tunnels:
ssh:
proto:
tcp: "3306"
remote_port: 1234

7
windows_386/ding.cfg Normal file
View File

@ -0,0 +1,7 @@
server_addr: "vaiwan.cn:443"
trust_host_root_certs: false
tunnels:
ssh:
proto:
tcp: "3306"
remote_port: 1234

BIN
windows_386/ding.exe Executable file

Binary file not shown.

7
windows_64/ding.cfg Normal file
View File

@ -0,0 +1,7 @@
server_addr: "vaiwan.cn:443"
trust_host_root_certs: false
tunnels:
ssh:
proto:
tcp: "3306"
remote_port: 1234

BIN
windows_64/ding.exe Executable file

Binary file not shown.