FastTunnel


   

FastTunnel是用.net core开发的一款跨平台内网穿透工具,它可以实现将内网服务暴露到公网供自己或任何人访问。

与其他穿透工具不同的是:FastTunnel项目致力于打造一个易于扩展、易于维护的内网穿透框架,任何人都可以基于该框架二次开发,你可以直接通过nuget安装依赖进行开发,当然它也是开箱即用的工具。

荣获GVP开源项目


FastTunnel荣获开源中国2020最有价值开源项目

开源仓库地址


github: https://github.com/SpringHgui/FastTunnel

gitee: https://gitee.com/Hgui/FastTunnel

官网:https://suidao.io

什么是内网穿透?


一般来说,如果你在内网部署一个网站或应用,也只有处于内网之中的其他网络设备才能访问;但如果你想让公网上任何人都可以访问你内网的应用,则必须要采取一些手段,内网穿透在这种背景下应用而生。

FastTunnel能够做什么?


  • 家中建站

  • 微信开发

  • 远程桌面

  • erp互通

  • svn代码仓库

  • 端口转发

  • iot物联网

  • 等等场景,不局限以上

搭建属于自己的内网穿透平台


1.在仓库的 releases 页面下载对应的程序

2.根据自己的需求修改客户端以及服务端配置文件appsettings.json

3.服务端运行FastTunnel.Server

4.客户端运行FastTunnel.Cient (客户端可运行在内网任何一台设备上)

配置示例


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

例如你拥有一台云服务器,公网ip地址为 110.110.110.110 ,同时你有一个域名 suidao.io,你希望访问 test.suidao.io可以访问你自己电脑上部署的一个网站。

你需要新增一个域名地址的DNS解析,类型为A,名称为 * , ipv4地址为 110.110.110.110 ,这样 *.abc.com的域名均会指向110.110.110.110的服务器,由于FastTunnel默认监听的http端口为1270,所以要访问http://test.abc.com:1270。

服务端配置文件:config/appsettings.json

"ServerSettings": {// 必选 默认值"BindAddr": "0.0.0.0",// 必选 默认值"BindPort": 1271,// 自定义域名web穿透必须"WebDomain": "suidao.io",// 服务监听的端口号, 访问自定义域名站点时url为 http://{SubDomain}.{Domain}:{ProxyPort_HTTP}/// web穿透必须"WebProxyPort": 1270,// 可选,ngixn反向代理后可省略域名后的端口号进行访问"WebHasNginxProxy": false,// 可选,访问白名单,不在白名单的ip拒绝"WebAllowAccessIps": [],// 可选,是否开启SSH,禁用后不处理SSH类型端口转发.默认false。"SSHEnabled": true}

客户端配置文件:

"ClientSettings": {"Common": {// 服务端公网ip, 对应服务端配置文件的 BindAddr,支持域名"ServerAddr": "test.cc",// 服务端通信端口,对应服务端配置文件的 BindPort"ServerPort": 1271},"Webs": [{// 本地站点所在内网的ip"LocalIp": "127.0.0.1",// 站点监听的端口号"LocalPort": 8080,// 子域名, 访问本站点时的url为 http://{SubDomain}.{Domain}:{ProxyPort_HTTP}/"SubDomain": "test", // test.test.cc}]}

2.如何去掉域名后的端口号

在服务器端部署nginx,通过nginx反向代理将80端口流量转发至1270端口,nginx的配置示例如下:

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;}
}

3.配置端口转发

假设内网有一个mysql服务端口为3306,在内网的ip地址为192.168.1.100,你希望访问suidao.io:33306端口的请求转发至内网的mysql上,则需要如下配置:

1.服务端配置文件不变

2.客户端配置如下

"ClientSettings": {"Common": {// 服务端公网ip, 对应服务端配置文件的 BindAddr,支持域名"ServerAddr": "test.cc",// 服务端通信端口,对应服务端配置文件的 BindPort"ServerPort": 1271},"Webs": [],/*** ssh穿透,ssh访问内网主机* 访问方式 #ssh -oPort=12701 {root}@{ServerAddr}* ServerAddr 填入服务端ip,root对应内网用户名*/"SSH": [{"LocalIp": "192.168.1.100","LocalPort": 3306,"RemotePort": 33306}]}

3.远程内网电脑

windows:只需要将上一步中的3306端口换成3389,

linux:只需要将上一步中的3306端口换成21

结语


相信聪明的你已经看懂了如何配置,以及每个参数代表的意义,如果还有不懂的地方,可以提issue给作者。有兴趣的朋友可以去clone下来耍耍,给作者提提需求、bug,如果能提交代码一起参与开发改进就更完美了。

作者建了qq群,有兴趣的可以加下:

FastTunnel-开源内网穿透框架相关推荐

  1. FastTunnel Win10内网穿透实现远程桌面

    目录 一.需求 二.购买公网服务器 三.远程公网服务器 四.FastTunnel 的使用 1.下载 FastTunnel 2.启动服务器端 3.启动客户端 五.测试 六.安装服务 结束 一.需求 Fa ...

  2. 测试龙芯 LoongArch .NET之 使用 FastTunnel 做内网穿透远程计算机

    龙芯3A5000 已经上市,从老伙计哪里搞来一台3A5000 机器,安装统信UOS.使用体验上看还可以,就是软件生态急需建设,软件生态的建设上自然有我dotnet 的一份力量.龙芯团队已经完成了Loo ...

  3. frp:开源内网穿透工具

    前言 frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便捷的方式通过具有公网 IP 节点的中转暴露到公网. 官网Git ...

  4. FastTunnel - 打造人人都能搭建的内网穿透工具

    FastTunnel是用.net core开发的一款跨平台内网穿透工具,它可以实现将内网服务暴露到公网供自己或任何人访问. 与其他穿透工具不同的是:FastTunnel项目致力于打造一个易于扩展.易于 ...

  5. FastTunnel - 免费好用的内网穿透工具搭建教程

    FastTunnel是用.net core开发的一款跨平台内网穿透工具,它可以实现将内网服务暴露到公网供自己或任何人访问. 与其他穿透工具不同的是:FastTunnel项目致力于打造一个易于扩展.易于 ...

  6. 一个基于.Net高性能跨平台内网穿透工具

    作为一名程序员,我们平常需要调试远程API(如公众号回调).远程操作公司内部.家里的电脑,我们都会用到内网穿透的工具. 今天给大家推荐一个高性能跨平台内网穿透工具的开源项目. 项目简介 一个基于.Ne ...

  7. 推荐 4 款超好用的内网穿透工具,总有一款适合你

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 1前言 本文以渗透的视角,总结几种个人常用的内网穿透,内网代理工具,介绍其简单原理和使用方法. 0x01 nps- ...

  8. 推荐几款超好用的内网穿透神器,总有一款适合你!

    前言 本文以渗透的视角,总结几种个人常用的内网穿透,内网代理工具,介绍其简单原理和使用方法. 0x01 nps-npc 1.1 简介 nps是一款轻量级.高性能.功能强大的内网穿透代理服务器.目前支持 ...

  9. 推荐几款实用的内网穿透工具

    点击上方关注 "终端研发部" 设为"星标",和你一起掌握更多数据库知识 作者:V0W' 来源:v0w.top/2020/08/11/IntranetProxy ...

最新文章

  1. 约瑟夫环 猴子选大王
  2. python 气泡图 聚类_2015年度10大Plotly数据可视化美图及工具介绍
  3. Android在Java获取组件,在Java中解析HTML以获取Android应用
  4. Java 三大特性 —— 多态
  5. [缓存]关于memcached的详细介绍以及用法
  6. 创业,白手起家需要些什么?
  7. macbook配置java环境变量_配置java环境变量
  8. input换行输入_小白也能学的Python基础语法-变量与输入和输出
  9. summernote 字体名字不显示_觉得 Windows 10 显示字体不好看吗? 教你轻松更换成 Mac 字体版本。...
  10. 【Java面试系列】Java微服务面试题
  11. Houdini学习笔记003
  12. 大数据可视化学期总结
  13. 表达式类型错误oracle,这个语句报pls_00382 表达式类型错误 求问为什么。
  14. Pycharm中如何将界面上的英文换为中文与Pycharm的背景设置与更换
  15. 白话 P-value 这个再通俗不过了~
  16. docker部署springboot工程
  17. MySql基础语法-java学习
  18. Gromacs(三) NPT平衡
  19. 2019总结 2020
  20. 使用paypal的手续费

热门文章

  1. 奥巴马访华:不建议过度审查 提倡加强互联网开放
  2. C# Global.asax.cs 定时任务
  3. 201671030107胡文艳实验三作业互评与改进报告
  4. char data[0]在struct末尾的用法
  5. LuckyDraw app使用CosmosDB的成本分析
  6. 什么是Microsoft Teams的App Studio
  7. 如何在Photoshop中制作双曝光图像
  8. chrome 固定缩放比例_您如何调整Google Chrome浏览器的用户界面缩放比例?
  9. CentOS 6.9通过RPM安装EPEL源(http://dl.fedoraproject.org)
  10. Android SQLite (一) 数据库简介