• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

fastnat: 全协议内网穿透神器,智能家居,支持TCP、UDP、HTTP

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

fastnat

开源软件地址:

https://gitee.com/tompeppa/fastnat

开源软件介绍:

FAST NAT 全协议内网穿透

FAST NAT是基于WeNAT的扩展版,支持HTTP、TCP、UDP、WebSocket等协议。简单的说,就是可以给你的内网电脑分配一个公网IP和端口例如:

123.1.1.1:8888 -> 192.168.1.123:3306

当外网服务器的8888端口收到数据包后,会转发给内网的3306端口,从而实现穿透。服务器做了个中转,和传统的P2P穿透不同。

提示

基于P2P的也可以开发定制,适用于智能家居、NAS等,实现文件传输、设备控制,不经过服务器,可以承受无限的用户数。

联系方式:

2.0 在线DEMO

我们在此基础上研发出新版本的内网穿透客户端,全套源码可以出售,需要可以联系QQ:599194993

在线下载客户端:

https://nat.72wo.com

支持windows、linux、macOS、树莓派、命令行版本

支持协议

  • TCP

  • UDP

  • HTTP、HTTPS

  • WebSocket

    应用场景

    • 本地发布网站
    • 远程桌面
    • SSH 本地服务器
    • 访问本地mysql
    • 访问本地redis
    • 访问本地mongodb

    联系方式

    开发语言

    • 服务端、web网站:node.js
    • 客户端:nw.js + node.js

TCP协议和流程

流程图

内外网代理流程

  • 内网和外网建立协议通道,用于主动连接通知
  • 外网客户端连接服务器,并且分配一个id,保存起来
  • 通知内网客户端,并且告诉id,由内网主动发起连接
  • 内网连接代理目标
  • 内网连接服务器,并且传入id,和外网进行绑定
  • 映射内外网的socket

断线和报错处理

  • 任何一方报错,终端所有端口监听以及所有的连接
  • 由客户端再次发起连接请求,并且分配一个随机端口或者继续使用上次的外网端口

TCP接口

  • 协议类型

    协议为JSON字符串

  • 安全性

    在第一次连接服务器的时候,需要带上用户的token,服务器进行校验合法后开放2个端口提供给后续使用。在后续的流程中,不做任何校验。虽然有安全风险,但是常见的TCP应用:Mysql、Mongodb、Redis等,都有用户机制可以保护。

  • 协议类型

    类型
    TCP
    UDP
    HTTP
    WebSocket
  • 和通信服务器连接

    • 基本信息响应

      直接连接通信服务器端口8888,不用发送任何数据,成功后响应如下数据

      字段类型说明
      idstring(8)本次会话的id
      outIdstring(8)外网socket 会话id
      intPortint(5)内网连接的端口,5位数的端口,30000-65535
      outPortint(5)外网连接的端口
      commandstring操作命令
      protocolstring协议类型
      • 举个栗子

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap