<div align="center">
<img src="images/logo.png" width="150" align=center />
## FastTunnel
[![License](https://img.shields.io/badge/license-Apache%202-green.svg)](https://www.apache.org/licenses/LICENSE-2.0)
[![Build status](https://github.com/anjoy8/blog.core/workflows/.NET%20Core/badge.svg)](https://github.com/SpringHgui/FastTunnel/actions)
[![Nuget](https://img.shields.io/nuget/v/FastTunnel.Core)](https://www.nuget.org/packages/FastTunnel.Core/)
[![Nuget](https://img.shields.io/nuget/dt/FastTunnel.Core)](https://www.nuget.org/packages/FastTunnel.Core/)
[README](README.md) | [中文文档](README_zh.md)
***This project supports any commercial and secondary development activities, but seriously despises plagiarizing and copying the code, implementation scheme or architecture of this project and repackaging them into their own open source works.***
</div>
## What is FastTunnel?
- FastTunnel is a high-performance cross-platform intranet penetration tool. With it, you can expose intranet services to the public network for yourself or anyone to access.
- Unlike other penetration tools, the FastTunnel project is committed to creating an easy-to-extensible and easy-to-maintain intranet penetration framework.
- You can build your own penetration application by referencing the nuget package of `FastTunnel.Core`, and target the business extension functions you need.
***
Official website : https://suidao.io
The penetration platform developed based on this framework, if you need intranet penetration, you can register and use it directly, eliminating the cost of building and maintaining yourself.
But do not use this service for important items.
OpenSource:
GitHub : [FastTunnel](https://github.com/SpringHgui/FastTunnel)
Gitee: [FastTunnel](https://gitee.com/Hgui/FastTunnel)
**If helpful, click on ⭐Star to support this project, please submit an issue if you have needs and bugs, and welcome coder to PR**
## Get GVP
![img1](images/gvp.png)
***
## What can FastTunel do?
- [x] Remote intranet computer Windows/Linux/Mac
- [x] Use a custom domain name to access intranet web services (usually used for WeChat development)
- [x] Port forwarding/port mapping, access services provided by any port on the intranet mysql, redis, ftp, etc.
- [ ] p2p penetration
- [x] Support binding multiple domain names to access intranet services
- [x] Support domain name whitelist restriction
- [x] Support client identity verification
## Quickstart
1. Download the corresponding program on the [releases](https://github.com/SpringHgui/FastTunnel/releases) page
2. Modify the client and server configuration files according to your needs`appsettings.json`
3. Run FastTunnel.Server
4. Run FastTunnel.Cient
## Install FastTunel.Sever using Docker Engine
Configuration files and log files are mounted through volume. If this image has been run before, docker may not update to the latest image. Please delete the existing image manually, and then execute the following command
```
docker run --detach \
--publish 1270:1270 --publish 1271:1271 \
--name FastTunnel \
--restart always \
--volume /var/FastTunnel/config:/app/config \
--volume /var/FastTunnel/Logs:/app/Logs \
springhgui/fasttunnel:latest
```
## Run on Linux/Mac os?
#### Windows
Double click directly `FastTunnel.Client.exe` to run
#### Linux
`chmod +x FastTunnel.Client`
`./FastTunnel.Client`
#### Mac
click directly `FastTunnel.Client` to run
## Configuration example
### 1. Use a custom domain name to access intranet web services
- For example, you have a server with a public IP address of `110.110.110.110`, and you have a domain name with a top-level domain name of `abc.com`, you want to visit a website on the intranet by visiting `test.abc.com`
- You need to add a DNS resolution for the domain name address, the type is `A`, the name is `*`, and the ipv4 address is `110.110.110.110`, so that all domain names of `*.abc.com` will point to `110.110.110.110`’s server, because the default http port of `FastTunnel` is 1270, so you need to visit`http://test.abc.com:1270`
- #### If you don't want to bring the port number every time you visit, you can use `nginx` forwarding.
```
http {
# add resolver
resolver 8.8.8.8;
# set *.abc.com to 1270 port
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;
}
}
```
- If the domain name configured on the server is `ft.suidao.io`, then access the local site through the subdomain name `test.ft.suidao.io:1270`, the IIS configuration is as follows:
![img1](images/iis-web.png)
### 2. Remote intranet computer Windows/Linux/Mac
The client configuration is as follows, there are two hosts in the intranet, and the ip is as follows:
appsettings.json
```
"ClientSettings": {
"Common": {
"ServerAddr": "xxx.xxx.xxx.xxx",
"ServerPort": 1271
},
"SSH": [
{
"LocalIp": "192.168.0.100", // linux pc
"LocalPort": 22, // ssh default port
"RemotePort": 12701
},
{
"LocalIp": "192.168.0.101", // windows pc
"LocalPort": 3389, // windows default port for Remote
"RemotePort": 12702
}
]
}
```
#### remote intranet linux host by ssh (ip:192.168.0.100)
Assuming that the user name of the intranet host is root, the server ip is x.x.x.x, and the two hosts that access the intranet are as follows
```
ssh -oPort=12701 root@x.x.x.x
```
#### remote desktop Windows host by mstsc (ip:192.168.0.101)
#### Controlled terminal setting
- Open cmd and enter the command `sysdm.cpl` in the pop-up dialog box and select Allow remote connection to this computer
![img1](images/setallow.png)
#### Control terminal settings
- Open cmd and enter the command `mstsc`, open the remote dialog box, enter `x.x.x.x:12701` in the computer input box of the dialog box, and then specify the user name and password to remote the windows host of the intranet
![img1](images/remote.png)
## Development/PR
- install `vs2019` last version
- install `.net5` or higher `https://dotnet.microsoft.com/download/dotnet/5.0`
- add `test.test.cc 127.0.0.1` in system host file
- run fasttunnel.server
- run fasttunnel.client
## contributors
<a href = "https://github.com/FastTunnel/FastTunnel/graphs/contributors">
<img src = "https://contrib.rocks/image?repo=FastTunnel/FastTunnel"/>
</a>
## Join QQ Group
<div align="center"><img src="images/qqgroup.png" width="150" align=center /></div>
## License
Apache License 2.0
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
高性能跨平台内网穿透工具 (114个子文件)
addhost.bat 562B
install.bat 480B
install.bat 480B
uninstall.bat 274B
uninstall.bat 274B
Dockerfile.Client 828B
TunnelResource.Designer.cs 10KB
LoginHandler.cs 6KB
Program.cs 5KB
FastTunnelClient.cs 5KB
InMemoryConfigProvider.cs 5KB
FastTunnelClientHandler.cs 5KB
WebSocketUtility.cs 4KB
PortProxyListener.cs 4KB
FastTunnelForwarderHttpClientFactory.cs 4KB
ForwardDispatcher.cs 4KB
SwapHandler.cs 4KB
TranStream.cs 3KB
WebSocketStream.cs 3KB
TunnelClient.cs 3KB
AccountController.cs 3KB
FastTunnelSwapHandler.cs 3KB
AccountController.cs 3KB
FastTunnelApiHostingStartup.cs 3KB
SystemController.cs 3KB
ServicesExtensions.cs 3KB
FastTunnelServer.cs 3KB
SystemController.cs 3KB
ResponseStream.cs 2KB
Program.cs 2KB
ServiceFastTunnelClient.cs 2KB
DefaultServerConfig.cs 1KB
CustomExceptionFilterAttribute.cs 1KB
CustomExceptionFilterAttribute.cs 1KB
WebSocketExtensions.cs 1KB
ServicesExtensions.cs 1KB
FastTunnelExceptionFilter.cs 1009B
FastTunnelProxyConfig.cs 1002B
ForwardConfig.cs 969B
TaskCompletionSourceExtensions.cs 953B
IClientHandler.cs 918B
DnsSocketFactory.cs 907B
WebConfig.cs 854B
LogHandler.cs 816B
SocketExtensions.cs 735B
ObjectExtensions.cs 726B
ApiResponse.cs 725B
BaseController.cs 710B
BaseController.cs 710B
IClientConfig.cs 707B
IClientMessageHandler.cs 705B
LogInMassage.cs 693B
DefaultClientConfig.cs 684B
ForwardInfo.cs 664B
Message.cs 646B
FastTunnelConst.cs 644B
ApiResponse.cs 628B
ILoginHandler.cs 607B
SocketClosedException.cs 573B
WebInfo.cs 564B
SuiDaoServer.cs 561B
ByteArrayExtensions.cs 560B
LoggerExtentions.cs 554B
ForwardHandlerArg.cs 551B
IFastTunnelClient.cs 538B
APIErrorException.cs 536B
AssemblyUtility.cs 528B
GetTokenRequest.cs 526B
GetTokenRequest.cs 523B
ClienOffLineException.cs 491B
IServerConfig.cs 489B
FastTunnelProxyConfigProvider.cs 389B
TunnelMassage.cs 359B
FastTunnel.Core.csproj 2KB
FastTunnel.Core.Client.csproj 2KB
FastTunnel.Server.csproj 2KB
FastTunnel.Client.csproj 1KB
FastTunnel.Api.csproj 856B
Dockerfile 1002B
.dockerignore 316B
.editorconfig 17KB
.gitignore 449B
NoSite.html 3KB
TunnelNotFound.html 3KB
HostReqired.html 3KB
index.html 5B
alipay.jpg 128KB
wxpay.jpg 110KB
0211207100705.jpg 10KB
appsettings.json 2KB
appsettings.json 2KB
launchSettings.json 567B
appsettings.Development.json 76B
appsettings.Development.json 76B
LICENSE 11KB
README.md 7KB
README_zh.md 6KB
gvp.png 252KB
logo.png 102KB
qqgroup.png 39KB
共 114 条
- 1
- 2
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 7363
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功