使用.NetCore开发的内网穿透工具
Go to file
2020-04-23 23:15:20 +08:00
.circleci Update config.yml 2019-12-24 18:55:02 +08:00
.github Update dotnetcore.yml 2019-12-21 14:52:46 +08:00
FastTunnel.Client 删除多余的console 2020-04-11 14:59:51 +08:00
FastTunnel.Core 1111 2020-04-12 12:10:49 +08:00
FastTunnel.Server 优化提示信息 2020-04-12 11:26:24 +08:00
images 增加iis配置的图片说明 2020-02-28 12:05:45 +08:00
SuiDao.Client 修改程序发布方式 2020-04-09 14:34:14 +08:00
SuiDao.Server 1111 2020-04-12 12:10:49 +08:00
.gitignore 添加资源文件 2020-04-10 22:24:39 +08:00
FastTunnel.sln 新增基于FastTunnel的SuiDao程序 2020-04-01 23:20:35 +08:00
LICENSE init project 2019-12-16 10:29:06 +08:00
publish.cmd 修改程序发布方式 2020-04-09 14:34:14 +08:00
README_zh.md 修改readme 2020-04-23 23:04:00 +08:00
README.md Update README.md 2020-04-23 23:15:20 +08:00

FastTunnel -内网穿透利器

README | 中文文档

PRs Welcome Build status License CircleCI

FastTunnel是什么

FastTunnel是一款高性能跨平台内网穿透工具使用它可以实现在公网上访问您的内网服务。

演示地址 https://suidao.io

有帮助的朋友不要忘了支持一下,万分感谢☺️☺️☺️

使用FastTunnel能够做什么

  • 远程内网计算机 Windows/Linux/Mac
  • 用自定义域名访问内网web服务常用于微信开发
  • 端口转发/端口映射,访问内网任意端口提供的服务 mysql、redis、ftp等等
  • p2p穿透

快速开始

  1. releases 页面下载对应的程序
  2. 根据自己的需求修改配置文件appsettings.json
  3. 服务端运行FastTunnel.Server
  4. 客户端运行FastTunnel.Cient

如何在 Linux/Mac系统运行

Windows

直接双击 FastTunnel.Client.exe 即可运行

Linux

chmod +x FastTunnel.Client
.\FastTunnel.Client

Mac

直接运行 FastTunnel.Client

配置示例

1. 用自定义域名访问内网web服务

  • 例如你拥有一个服务器公网ip地址为 110.110.110.110 ,同时你有一个顶级域名为 test.cc 的域名,你希望访问 test.test.cc可以访问内网的一个网站。
  • 你需要新增一个域名地址的DNS解析类型为A,名称为 * , ipv4地址为 110.110.110.110 ,这样 *.test.cc的域名均会指向110.110.110.110的服务器,由于FastTunnel默认监听的http端口为1270所以要访问http://test.test.cc:1270
  • 如果不希望每次访问都带上端口号,可以通过nginx转发实现。
  • 如果服务端配置的域名为ft.suidao.io, 则通过子域名test.ft.suidao.io访问在本地的站点IIS配置如下 img1

2. 远程内网计算机 Windows/Linux/Mac

客户端配置如下内网有两台主机ip如下: appsettings.json

 "ClientSettings": {
    "Common": {
      "ServerAddr": "xxx.xxx.xxx.xxx",
      "ServerPort": 1271
    },
    "SSH": [
      {
        "LocalIp": "192.168.0.100", // linux主机
        "LocalPort": 22,            // ssh远程默认端口号
        "RemotePort": 12701
      },
      {
        "LocalIp": "192.168.0.101", // windows主机
        "LocalPort": 3389,          // windows远程桌面默认端口号
        "RemotePort": 12702
      }
    ]
  }

ssh远程内网linux主机 (ip:192.168.0.100)

假设内网主机的用户名为 root服务器ip为x.x.x.x访问内网的两个主机分别如下

ssh -oPort=12701 root@x.x.x.x

mstsc远程桌面Windows主机(ip:192.168.0.101)

被控制端设置

  • 打开cmd输入指令 sysdm.cpl 在弹出的对话框中选中允许远程连接此计算机
    img1

控制端设置

  • 打开cmd输入指令 mstsc,打开远程对话框,在对话框的计算机输入框,输入 x.x.x.x:12701 然后指定用户名密码即可远程内网的windows主机
    img1

开发/PR

  • 安装 vs2019
  • 安装 dotnetcore runtime&sdk 3.1 或以上版本

License

Apache License 2.0