All Projects → ying32 → Rproxy

ying32 / Rproxy

Licence: mit
简单的反向代理用于内网穿透,支持HTTP/HTTPS转发

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Rproxy

Frpc Android
Android,安卓版frpc,一个快速反向代理,可帮助您将NAT或防火墙后面的本地服务器暴露给Internet。
Stars: ✭ 205 (+115.79%)
Mutual labels:  proxy, https
E2guardian
E2guardian is a web content filter that can work in proxy, transparent or icap server modes
Stars: ✭ 340 (+257.89%)
Mutual labels:  proxy, https
Websafety
Simple and powerful web filter for HTTP and HTTPS traffic
Stars: ✭ 208 (+118.95%)
Mutual labels:  proxy, https
Global Agent
Global HTTP/HTTPS proxy agent configurable using environment variables.
Stars: ✭ 146 (+53.68%)
Mutual labels:  proxy, https
Hiproxy
🛠 hiproxy is a lightweight proxy tool for Front-End developers based on Node.js that supports an NGINX-like configuration. 🔥
Stars: ✭ 629 (+562.11%)
Mutual labels:  proxy, https
Haproxy
HAProxy Load Balancer's development branch (mirror of git.haproxy.org)
Stars: ✭ 2,463 (+2492.63%)
Mutual labels:  proxy, https
Forwardproxy
Forward proxy plugin for the Caddy web server
Stars: ✭ 333 (+250.53%)
Mutual labels:  proxy, https
Zan Proxy
An extensible proxy for PC/Mobile/APP developer
Stars: ✭ 1,727 (+1717.89%)
Mutual labels:  proxy, https
Blinksocks
A framework for building composable proxy protocol stack.
Stars: ✭ 587 (+517.89%)
Mutual labels:  proxy, https
Tor2web
Tor2web is an HTTP proxy software that enables access to Tor Hidden Services by mean of common web browsers
Stars: ✭ 531 (+458.95%)
Mutual labels:  proxy, https
Nuster
A high performance HTTP proxy cache server and RESTful NoSQL cache server based on HAProxy
Stars: ✭ 1,825 (+1821.05%)
Mutual labels:  proxy, https
Go Fasthttp Sniproxy Chunks
Inspired by https://github.com/SadeghHayeri/GreenTunnel
Stars: ✭ 33 (-65.26%)
Mutual labels:  proxy, https
Hoverfly
Lightweight service virtualization/API simulation tool for developers and testers
Stars: ✭ 1,814 (+1809.47%)
Mutual labels:  proxy, https
Fq Book
📖《这本书能让你连接互联网》详细阐述代理、隧道、VPN运作过程,并对GFW策略如:地址端口封锁、服务器缓存投毒、数字验证攻击、SSL连接阻断做相关的原理说明
Stars: ✭ 2,393 (+2418.95%)
Mutual labels:  proxy, https
Hoverfly Java
Java binding for Hoverfly
Stars: ✭ 130 (+36.84%)
Mutual labels:  proxy, https
Chameleon
Customizable honeypots for monitoring network traffic, bots activities and username\password credentials (DNS, HTTP Proxy, HTTP, HTTPS, SSH, POP3, IMAP, STMP, RDP, VNC, SMB, SOCKS5, Redis, TELNET, Postgres and MySQL)
Stars: ✭ 230 (+142.11%)
Mutual labels:  proxy, https
Forward Proxy
150 LOC Ruby forward proxy using only standard libraries.
Stars: ✭ 105 (+10.53%)
Mutual labels:  proxy, https
Hotel
🏩 A simple process manager for developers. Start apps from your browser and access them using local domains
Stars: ✭ 9,736 (+10148.42%)
Mutual labels:  proxy, https
Localdots
HTTPS domains for localhost. 🏠
Stars: ✭ 486 (+411.58%)
Mutual labels:  proxy, https
Switcher
Run SSH and HTTP(S) on the same port
Stars: ✭ 877 (+823.16%)
Mutual labels:  proxy, https

rproxy

简单的反向代理用于内网穿透

特别注意,此工具只适合小文件类的访问测试,用来做做数据调试。当初也只是用于微信公众号开发,所以定位也是如此(注:目前代码中限制一个包最大为4M)

前言

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

工作原理

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

使用方法

1、go get github.com/ying32/rproxy
2、使用构建命令
3、参照命令行用例使用,或者使用带GUI的客户端

命令行说明

  --tcpport      # Socket连接或者监听的端口。   
  --httpport     # 当mode为server时为服务端监听端口,当为mode为client时为转发至本地客户端的端口。  
  --mode         # 启动模式,可选为client、server,默认为client。  
  --svraddr      # 当mode为client时有效,为连接服务器的地址,不需要填写端口。    
  --vkey         # 客户端与服务端建立连接时校验的加密key,简单的。  
  ### 以下参数为v0.6版本及之后的
  --ishttps      # httpPort端口是否只用作HTTPS监听,默认为false。    
  --tlscafile    # 当ishttps为true时,所需的CA根证书文件。可为空,根据实际情况确定。  
  --tlscertfile  # 当ishttps为true时,所需求的TLS证书文件。  
  --tlskeyfile   # 当ishttps为true时,所需求的TLS密匙文件。  
  --iszip        # 是否开启zip压缩
  --cfgfile      # 使用指定的配置文件中的参数,此时只有mode参数有效   

用例

命令行用例

  • HTTP:
## ---- 从命令行加载主要参数 ----
# 服务端
rproxy --tcpport=8285 --httpport=8286 --mode="server" --vkey="DKibZF5TXvic1g3kY" 

# 客户端
rproxy --tcpport=8285 --httpport=8080 --svraddr="127.0.0.1" --vkey="DKibZF5TXvic1g3kY"

## ---- 从配置文件加载主要参数 ----
# 服务端
rproxy --mode="server" --cfgfile="./conf/config.cfg"

# 客户端
rproxy --cfgfile="./conf/config.cfg"
  • HTTPS
## ---- 从命令行加载主要参数 ----
# 服务端
rproxy --tcpport=8285 --httpport=8286 --mode="server" --ishttps=true --tlscafile="./cert/ca.pem" --tlscertfile="./cert/server.pem" --tlskeyfile="./cert/server.key" --vkey="DKibZF5TXvic1g3kY"

# 客户端 
rproxy --tcpport=8285 --httpport=8089 --svraddr="127.0.0.1" --ishttps=true --tlscafile="./cert/ca.pem" --tlscertfile="./cert/client.pem" --tlskeyfile="./cert/client.key" --vkey="DKibZF5TXvic1g3kY"

## ---- 从配置文件加载主要参数 ----
# 服务端
rproxy --mode="server" --cfgfile="./conf/confighttps.cfg"

# 客户端
rproxy --cfgfile="./conf/confighttps.cfg"

带GUI的客户端

查看截图

操作系统支持

支持Windows、Linux、MacOSX等,无第三方依赖库。

二进制下载

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].