1.1.3 • Published 3 years ago

nat-server v1.1.3

Weekly downloads
18
License
ISC
Repository
-
Last release
3 years ago

核心代码部分,分为服务端和客户端

Server 服务端

bootstrap.js 封装了http、tcp、udp

Client 客户端

client.js nodejs 版客户端,封装了http、tcp、udp

通信流程

http 走websocket,Many-Server-Many

tcp 走websocket,Many-Server-One-Many

udp 走websocket,Many-Server-One-Many

特殊

http 的headers中:

  • host=目标服务器的host
  • v-host=nat服务器host

作用是为了防止大部分服务器的nginx判断了host, 如果不是自己的域名,会造成无限301, 或者会跳转出nat域名,这样做是为了兼容。

http 传输 request和response都是流式操作,能达到100%兼容http

而且还减少了爆内存的几率,大文件双向传输最多只占用带宽,对CPU和内存没过多的占用。

部署

需要关闭服务器的防火墙,并且保证10000-65536的TCP端口没有被占用。这些区间的端口,将会根据数据库中已有端口进行随机分配。

# 安装
npm install nat-server -g

# 启动
nat-server 9000

# pm2 启动

pm2 start "nat-server 9000" --name nat-server
pm2 save
pm2 startup
1.1.0

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.0.16

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.13

3 years ago

1.0.12

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago