GithubHelp home page GithubHelp logo

pierced's Introduction

钉钉提供的内网穿透工具

因安全合规要求,该工具已经下线,推荐采用最新推出的 Stream 模式 5分钟快速接入:

点击链接,加入Stream模式共创群交流

本仓库及以下说明来自钉钉官方开发文档。

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

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

内网穿透示意图

使用方法

HTTP 穿透

  1. 下载工具

    git clone https://github.com/open-dingtalk/pierced.git
    
  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。

数据库穿透

  1. 下载工具

    git clone https://github.com/open-dingtalk/pierced.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
    

    启动后界面如下图所示:

    命令参数说明:

    参数 说明
    config 内网穿透的配置文件,按命令照示例固定为钉钉提供的./ding.cfg,无需修改。
    proto 启动的是 TCP 协议穿透。
  3. 在数据库里面执行:

    GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '123456';
    FLUSH PRIVILEGES;

    注意 123456 是数据库远程登录的密码,root 为用户名。

  4. 数据库连接命令:

    mysql -h vaiwan.com -u root -p -P 1234 //端口号地址
    

    1234 是启动远程数据库连接默认的端口,可以在 ding.cfg 中进行修改。

注意

  1. 你需要访问的域名是 http://abcde.vaiwan.com/xxxxx 而不是 http://abcde.vaiwan.com:8082/xxxxx。

  2. 你启动命令的 subdomain 参数有可能被别人占用,尽量不要用常用字符,可以用自己公司名的拼音,例如:alibaba、dingding 等。

  3. 可以在本地起个 http-server 服务,放置一个 index.html 文件,然后访问 http://abcde.vaiwan.com/index.html 测试一下。

官方文档

pierced's People

Contributors

chzealot avatar liningwangyi avatar minifake avatar mzlogin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pierced's Issues

mac上启动报错fatal error: runtime: bsdthread_register error 如何解决啊

mac版本10.15.7 (19H2)
./ding -config=./ding.cfg -subdomain=abcde 8080

fatal error: runtime: bsdthread_register error (unset DYLD_INSERT_LIBRARIES)

runtime stack:
runtime.throw(0x14c6f23, 0x3f)
/usr/local/go/src/runtime/panic.go:619 +0x81 fp=0x7ffeefbff9e8 sp=0x7ffeefbff9c8 pc=0x102a911
runtime.goenvs()
/usr/local/go/src/runtime/os_darwin.go:127 +0x9e fp=0x7ffeefbffa18 sp=0x7ffeefbff9e8 pc=0x10284ae
runtime.schedinit()
/usr/local/go/src/runtime/proc.go:496 +0xa4 fp=0x7ffeefbffa70 sp=0x7ffeefbffa18 pc=0x102d1d4
runtime.rt0_go(0x7ffeefbffaa0, 0x4, 0x7ffeefbffaa0, 0x0, 0x4, 0x7ffeefbffbc8, 0x7ffeefbffbcf, 0x7ffeefbffbe2, 0x7ffeefbffbf3, 0x0, ...)
/usr/local/go/src/runtime/asm_amd64.s:252 +0x1f4 fp=0x7ffeefbffa78 sp=0x7ffeefbffa70 pc=0x10540d4

如何获得访问用户的真实ip

首先非常感谢贵团队开源此工具!
有一个问题请教:
使用内网穿透后,从应用内部获取到访问用户的ip都是127.0.0.1
是否能像nginx那样通过配置重写header?
再次谢谢分享~!

在macOs Monterey启动失败

错误信息:
fatal error: runtime: bsdthread_register error

runtime stack:
runtime.throw(0x14bd408, 0x21)
/usr/local/go/src/runtime/panic.go:619 +0x81 fp=0x7ff7bfeff5d8 sp=0x7ff7bfeff5b8 pc=0x102a911
runtime.goenvs()
/usr/local/go/src/runtime/os_darwin.go:129 +0x83 fp=0x7ff7bfeff608 sp=0x7ff7bfeff5d8 pc=0x1028493
runtime.schedinit()
/usr/local/go/src/runtime/proc.go:496 +0xa4 fp=0x7ff7bfeff660 sp=0x7ff7bfeff608 pc=0x102d1d4
runtime.rt0_go(0x7ff7bfeff698, 0x4, 0x7ff7bfeff698, 0x0, 0x1000000, 0x4, 0x7ff7bfeff890, 0x7ff7bfeff897, 0x7ff7bfeff8aa, 0x7ff7bfeff8bc, ...)
/usr/local/go/src/runtime/asm_amd64.s:252 +0x1f4 fp=0x7ff7bfeff668 sp=0x7ff7bfeff660 pc=0x10540d4

请问这个是你们官方返回的数据吗

您好!我使用这个穿透工具测试接口的时候,遇到一个问题:访问同一个接口,有时候可以正常返回给前端数据,有时候又会返回给前端如下数据(具体看以下图片),很玄学。
这种情况是官方自动代理的吗?还是说别的什么情况?我换了一种穿透方式之后就没出现过这个问题了。
图1
205821d3d64d794a726da91ccd1a7eb
图2
59f251868d4a426d30254fb494b4d0a
图3
2fa44aa5474724eccca7001e7fb0522

无法在macos 12上运行

Programs built with Go 1.10 or before use a way of issuing system calls that is no longer supported by the kernel on macOS 12 Monterey. In Go 1.11 and later, system calls are issued via libSystem.dylib, which is supported by the OS.

TCP穿透好像一直不行

ding.cfg

server_addr: "vaiwan.com:443"
trust_host_root_certs: false
tunnels:
  ssh:
    proto:
      tcp: "3306"
    remote_port: 7409

run ./ding -proto=tcp -config=./ding.cfg start ssh
显示

ngrok                                                                                                                                                                                       

Tunnel Status                 online
Version                       1.7/1.7
Forwarding                    tcp://vaiwan.com:7409 -> 127.0.0.1:3306
Web Interface                 127.0.0.1:4040
# Conn                        0
Avg Conn Time                 0.00ms

执行
mysql -h vaiwan -u root -p -P 7409 不行

Tunnel zhangyx.vaiwan.com:8081 not found

你好,使用钉钉官网的教程启动内网穿透工具,启动命令:
./ding -config=./ding.cfg -subdomain=zhangyx 8079
访问报错如下:
Tunnel zhangyx.vaiwan.com:8081 not found
求解

MAC 无法访问

已正常运行
image

防火墙已关
127.0.0.1 本地可访问
image

外网穿透地址无法访问
image

能否提供下arm版本的

如题,不知道怎么编译ngrok,网上的方法编译也失败
麻烦提供个arm版本的,应该有很多人需要的,谢谢

启动失败,是神马问题

执行启动内网穿透(λ ding -config=ding.cfg -subdomain=dog 8080)时提示parse 127.0.0.1:7890: first path segment in URL cannot contain colon
平时使用clash for windows使用7890端口,但是启动内网穿透是是关闭clash for windows的

是否有隐藏限制

企业内部应用之前大半年一直运行的好好的,最近不能用了,重启内网穿透工具不到一分钟又不能用了.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.