Skip to content

Commit

Permalink
重构代码,RPServer、RPClient合并为一个程序,并支持Header
Browse files Browse the repository at this point in the history
  • Loading branch information
ying32 committed Jan 14, 2017
1 parent 95746c0 commit 30cac20
Show file tree
Hide file tree
Showing 14 changed files with 426 additions and 306 deletions.
27 changes: 17 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,26 @@
# ReverseProxy
简单的反向代理用于内网穿透
简单的反向代理用于内网穿透

**特别注意,此工具只适合小文件类的访问测试,用来做做数据调试**

最近周末闲来无事,想起了做下微信公共号的开发,但微信限制只能80端口的,自己用的城中村的那种宽带,共用一个公网,没办法自己用路由做端口映射。自己的服务器在腾讯云上,每次都要编译完后用ftp上传再进行调试,非常的浪费时间。 一时间又不知道上哪找一个符合我的这种要求的工具,就索性自己构思了下,整个工作流程大致为:

最近周末闲来无事,想起了做下微信公共号的开发,但微信限制只能80端口的,自己用的城中村的那种宽带,共用一个公网,没办法自己用路由做端口映射。自己的服务器在腾讯云上,每次都要编译完后用ftp上传再进行调试,非常的浪费时间。 一时间又不知道上哪找一个符合我的这种要求的工具,就索性自己构思了下,整个工作流程大致为:

> 外部请求自己服务器上的HTTP服务端 -> 将数据传递给Socket服务器 -> Socket服务器将数据发送至已连接的Socket客户端 -> Socket客户端收到数据 -> 使用http请求本地http服务端 -> 本地http服务端处理相关后返回 -> Socket客户端将返回的数据发送至Socket服务端 -> Socket服务端解析出数据后原路返回至外部请求的HTTP

**不过目前不支持Cookie与Header的设置,只保留了Method, URL, Body段的数据**
> 使用方法:go get github.com/ying32/ReverseProxy
> 1、go build
> 2、服务端运行runsvr.bat或者runsvr.sh
> 3、客户端运行runcli.bat或者runcli.sh
> 使用方法:go get github.com/ying32/ReverseProxy
> 1、分别编译**RPServer****RPClient**
> 2、在RPServer目录下的runsvr.bat或者runsvr.sh修改为你想要的端口后启动并执行。
> 3、在RPClient目录下的runcli_local.bat或者runcli_local.sh修改为你想要的端口后启动并执行。
> 命令行说明:
> --tcpport Socket连接或者监听的端口
> --httpport 当mode为server时为服务端监听端口,当为mode为client时为转发至本地客户端的端口
> --mode 启动模式,可选为client、server,默认为client
> --svraddr 当mode为client时有效,为连接服务器的地址,不需要填写端口
**两个程序总共不到300行的代码量。简单是简单了点,但还是能用用的**

##### 支持Win32, Win64, Linux32, Linux64, MacOSX32, MacOSX64等,无第三方依赖库。
##### 支持Windows、Linux、MacOSX等,无第三方依赖库。

v0.1 释出 https://github.com/ying32/ReverseProxy/releases/tag/v0.1
v0.2 释出 https://github.com/ying32/ReverseProxy/releases/tag/v0.2
145 changes: 0 additions & 145 deletions RPClient/client.go

This file was deleted.

1 change: 0 additions & 1 deletion RPClient/runcli_local.bat

This file was deleted.

1 change: 0 additions & 1 deletion RPClient/runcli_local.sh

This file was deleted.

1 change: 0 additions & 1 deletion RPServer/runsvr.bat

This file was deleted.

1 change: 0 additions & 1 deletion RPServer/runsvr.sh

This file was deleted.

147 changes: 0 additions & 147 deletions RPServer/server.go

This file was deleted.

1 change: 1 addition & 0 deletions Sample/sample.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Println("服务端请求数据了!")
fmt.Println(r)
w.Write([]byte("请求成功!"))
})
fmt.Println("监听HTTP 8085端口中...")
Expand Down
Loading

0 comments on commit 30cac20

Please sign in to comment.