域名代理模式

适用范围: 小程序开发、微信公众号开发、产品演示

假设场景:

  • 有一个域名proxy.com,有一台公网机器ip为{{.ip}}
  • 两个内网开发站点127.0.0.1:81,127.0.0.1:82
  • 想通过a.proxy.com访问127.0.0.1:81,通过b.proxy.com访问127.0.0.1:82
  • 使用步骤:

    • 将a.proxy.com,b.proxy.com解析到公网服务器{{.ip}}
    • 使用nginx监听这两个个域名,并配置ssl等……
    • 在nginx配置中添加反向代理(或直接将http监听端口改为80)
      
                          server {
                              listen 80;
                              server_name a.proxy.com b.proxy.com;#也可以是泛解析*.proxy.com
                              #ssl等配置
                              location / {
                                  proxy_pass http://127.0.0.1:{{.proxyPort}};
                              }
                          }
                              
    • 在域名代理管理中添加一个客户端,选择压缩方式,保存。 立即添加
    • {{/*
    • 在域名代理管理中找到新加的客户端(查看其vkey或者客户端命令),任意内网机器执行客户端命令
    • */}}
    • 点击该客户端的域名管理,添加两条规则规则:1、域名:a.proxy.com,内网目标:127.0.0.1:81,2、域名:b.proxy.com,内网目标:127.0.0.1:82
    • 现在访问a.proxy.com,b.proxy.com即可成功

    注:上文中提到公网ip({{.ip}})为系统自动识别,如果是在测试环境中请自行对应,默认启动方式为单客户端模式,默认内网客户端已经启动

    tcp隧道模式

    适用范围: ssh、远程桌面等tcp连接场景

    假设场景: 想通过访问公网服务器{{.ip}}的8001端口,连接内网机器10.1.50.101的22端口,实现ssh连接

    使用步骤:

    • 在tcp隧道管理中添加一条隧道,填写监听的端口(8001)、内网目标ip和目标端口(10.1.50.101:22),选择压缩方式,保存。 立即添加
    • {{/*
    • 在tcp管理列表中找到新加的隧道(查看其vkey或者客户端命令),任意内网机器执行客户端命令
    • */}}
    • 访问公网服务器ip({{.ip}}):填写的监听端口(8001),相当于访问内网ip(10.1.50.101):目标端口(22),例如:ssh -p 8001 root@{{.ip}}

    注:上文中提到公网ip({{.ip}})为系统自动识别,如果是在测试环境中请自行对应,默认启动方式为单客户端模式,默认内网客户端已经启动

    udp隧道模式

    适用范围: 内网dns解析等udp连接场景

    假设场景: 内网有一台dns(10.1.50.102:53),在非内网环境下想使用该dns,公网服务器为{{.ip}}

    使用步骤:

    • 在udp隧道管理中添加一条隧道,填写监听的端口(8002)、内网目标ip和目标端口(10.1.50.102:53),选择压缩方式,保存。 立即添加
    • {{/*
    • 在udp管理列表中找到新加的隧道(查看其vkey或者客户端命令),任意内网机器执行客户端命令
    • */}}
    • 修改本机dns为{{.ip}},则相当于使用10.1.50.202作为dns服务器

    注:上文中提到公网ip({{.ip}})为系统自动识别,如果是在测试环境中请自行对应,默认启动方式为单客户端模式,默认内网客户端已经启动

    socks5代理模式

    适用范围: 在外网环境下如同使用vpn一样访问内网设备或者资源

    假设场景: 想将公网服务器{{.ip}}的8003端口作为socks5代理,达到访问内网任意设备或者资源的效果

    使用步骤:

    • 在socks5隧道管理中添加一条隧道,填写监听的端口(8003),验证用户名和密码自行选择(建议先不填,部分客户端不支持,proxifer支持),选择压缩方式,保存。 立即添加
    • {{/*
    • 在socks5代理管理列表中找到新加的隧道(查看其vkey或者客户端命令),任意内网机器执行客户端命令
    • */}}
    • 在外网环境的本机配置socks5代理,ip为公网服务器ip({{.ip}}),端口为填写的监听端口(8003),即可畅享内网了

    注:上文中提到公网ip({{.ip}})为系统自动识别,如果是在测试环境中请自行对应,默认启动方式为单客户端模式,默认内网客户端已经启动

    http代理模式

    适用范围: 在外网环境下访问内网站点

    假设场景: 想将公网服务器{{.ip}}的8004端口作为http代理,访问内网网站

    使用步骤:

    • 在http隧道管理中添加一条隧道,填写监听的端口(8004),选择压缩方式,保存。 立即添加
    • 在http代理管理列表中找到新加的隧道(查看其vkey或者客户端命令),任意内网机器执行客户端命令
    • 在外网环境的本机配置http代理,ip为公网服务器ip({{.ip}}),端口为填写的监听端口(8004),即可访问了

    注:上文中提到公网ip({{.ip}})为系统自动识别,如果是在测试环境中请自行对应,默认启动方式为单客户端模式,默认内网客户端已经启动

    多客户端模式:

  • 服务端启动:./proxy_server
  • 客户端启动:./proxy_client -server={{.ip}}:{{.p}} -vkey=xxx(见管理列表的客户端启动模式)
  • 支持客户端同时建立多条隧道,例如单个通道时命令为./proxy_client -server={{.ip}}:{{.p}} -vkey=ccc,如果要支持另外一个隧道,则对应的执行命令为./proxy_client -server={{.ip}}:{{.p}} -vkey=ccc,ddd,即用逗号分隔开多个vkey,适用于所有模式!