1.2.2 • Published 6 years ago

http-proxy2 v1.2.2

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

一个可用于内网穿透的HTTP代理工具

code style: prettier npm.io npm.io

需要准备的

一台拥有公网IP的服务器 node 8.0+ 一台需要内网穿透的客户端 node 8.0+

Usage

首先在客户端和服务端安装http-proxy2

npm i http-proxy2 -g

在服务端

proxy2 server -p <公网监听端口>
# demo: proxy2 server -p 8123

在客户端

proxy2 client -s <服务端IP> -p <将请求转发到的本地端口>
# demo: proxy2 client -s 139.129.132.196 -p 3000  

之后在客户端访问服务端IP:公网监听端口,如: 139.129.132.196:8123,即可发现请求已被转发。

可以在服务端看到输出:

可以在客户端看到输出:

原理

  1. 在服务器上启动一个HTTP服务器,用于接收用户的请求
  2. 服务器和客户端Socket连接。服务器作为Socket的Server端,客户端作为Socekt的Client端
  3. Server端将接收到的HTTP请求进行解析,转发到Client端
  4. Client端解析收到的Socket数据,并将其转发到需要代理的端口
  5. Client向Server端返回数据
  6. Server端的HTTP服务器向用户返回数据

难点

  1. TCP下的黏包、拆包问题
  2. 针对HTTP请求,POST请求,图片请求等解析
  3. Socket编程中一些令人意想不到的坑点
1.2.2

6 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.8

6 years ago

1.1.7

6 years ago

1.1.6

6 years ago

1.1.5

6 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago