演示地址 https://suidao.io
演示程序源码:FastTunnel.SuiDao
Star Please
FastTunnel是一款高性能跨平台内网穿透工具,使用它可以实现在公网上访问您的内网服务。
- 远程内网计算机 Windows/Linux/Mac
- 用自定义域名访问内网web服务(常用于微信开发)
- 端口转发/端口映射,访问内网任意端口提供的服务 mysql、redis、ftp等等
- Support binding milti domain names for web
- p2p
- 在 releases 页面下载对应的程序
- 根据自己的需求修改配置文件
appsettings.json
- 服务端运行FastTunnel.Server
- 客户端运行FastTunnel.Cient
直接双击 FastTunnel.Client.exe
Ready to run
chmod +x FastTunnel.Client
./FastTunnel.Client
直接运行 FastTunnel.Client
- 例如你拥有一个服务器,公网ip地址为
110.110.110.110
,同时你有一个顶级域名为abc.com
的域名,你希望访问test.abc.com
可以访问内网的一个网站。 - 你需要新增一个域名地址的DNS解析,类型为
A
,名称为*
, ipv4地址为110.110.110.110
,这样*.abc.com
的域名均会指向110.110.110.110
的服务器,由于FastTunnel
默认监听的http端口为1270,所以要访问http://test.abc.com:1270
http {
# 添加resolver
resolver 8.8.8.8;
# 设置 *.abc.com 转发至1270端口
server {
server_name *.abc.com;
location / {
proxy_pass http://$host:1270;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 可选
error_log /var/log/nginx/error_ft.log error;
}
}
客户端配置如下,内网有两台主机,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
}
]
}
假设内网主机的用户名为: root,服务器ip为x.x.x.x,访问内网的两个主机分别如下
ssh -oPort=12701 root@x.x.x.x
- install
vs2019
- install
dotnetcore runtime&sdk 3.1
或以上版本 - add
test.test.cc 127.0.0.1
in host file - run fasttunnel.server
- run fasttunnel.client
Apache License 2.0