All Projects → jafarlihi → revp

jafarlihi / revp

Licence: MIT license
Reverse HTTP proxy that works on Linux, Windows, and macOS. Made with C++ and Boost.

Programming Languages

C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to revp

hyper-reverse-proxy
A simple reverse proxy for use with Hyper and Tokio
Stars: ✭ 94 (+17.5%)
Mutual labels:  http-proxy, reverse-proxy
Noginx
High performance HTTP and reverse proxy server based on Node.js. 基于 Node.js 的高性能 HTTP 及反向代理服务器,类似nginx。
Stars: ✭ 53 (-33.75%)
Mutual labels:  http-proxy, reverse-proxy
FastTunnel
expose a local server to the internet. 高性能跨平台的内网穿透解决方案 远程内网计算机 域名访问内网站点 反向代理内网服务 端口转发 http代理
Stars: ✭ 815 (+918.75%)
Mutual labels:  http-proxy, reverse-proxy
trickster
Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator
Stars: ✭ 1,753 (+2091.25%)
Mutual labels:  http-proxy, reverse-proxy
Goproxy
🔥 Proxy is a high performance HTTP(S) proxies, SOCKS5 proxies,WEBSOCKET, TCP, UDP proxy server implemented by golang. Now, it supports chain-style proxies,nat forwarding in different lan,TCP/UDP port forwarding, SSH forwarding.Proxy是golang实现的高性能http,https,websocket,tcp,socks5代理服务器,支持内网穿透,链式代理,通讯加密,智能HTTP,SOCKS5代理,黑白名单,限速,限流量,限连接数,跨平台,KCP支持,认证API。
Stars: ✭ 11,334 (+14067.5%)
Mutual labels:  http-proxy, reverse-proxy
mps
MPS is a high-performance HTTP(S) proxy library that supports forward proxies, reverse proxies, man-in-the-middle proxies, tunnel proxies, Websocket proxies. MPS 是一个高性能HTTP(s)中间代理库,它支持正向代理、反向代理、中间人代理、隧道代理、Websocket代理
Stars: ✭ 64 (-20%)
Mutual labels:  http-proxy, reverse-proxy
anytunnel
内网穿透,内网穿透代理服务器,商用内网穿透代理系统,内网穿透平台,内网穿透多用户会员系统。
Stars: ✭ 115 (+43.75%)
Mutual labels:  http-proxy, reverse-proxy
Trickster
Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator
Stars: ✭ 1,306 (+1532.5%)
Mutual labels:  http-proxy, reverse-proxy
node-proxy
High performance HTTP and reverse proxy server based on Node.js. 基于 Node.js 的高性能 HTTP 及反向代理服务器,类似nginx。
Stars: ✭ 71 (-11.25%)
Mutual labels:  http-proxy, reverse-proxy
Frp
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
Stars: ✭ 51,746 (+64582.5%)
Mutual labels:  http-proxy, reverse-proxy
Otoroshi
Lightweight api management on top of a modern http reverse proxy
Stars: ✭ 177 (+121.25%)
Mutual labels:  http-proxy, reverse-proxy
Coroute
Node HTTP reverse-proxy server
Stars: ✭ 147 (+83.75%)
Mutual labels:  http-proxy, reverse-proxy
Fasttunnel
NAT 内网穿透 远程内网计算机 域名访问内网站点 反向代理内网服务 花生壳 端口转发 http代理 微信 小程序 expose a local server behind a NAT or firewall to the internet like ngrok and frp. NAT ssh proxy tunnel reverse-proxy
Stars: ✭ 248 (+210%)
Mutual labels:  http-proxy, reverse-proxy
Toxy
Hackable HTTP proxy for resiliency testing and simulated network conditions
Stars: ✭ 2,698 (+3272.5%)
Mutual labels:  http-proxy
bmcweb
A do everything Redfish, KVM, GUI, and DBus webserver for OpenBMC
Stars: ✭ 109 (+36.25%)
Mutual labels:  boost-asio
Contour
Contour is a Kubernetes ingress controller using Envoy proxy.
Stars: ✭ 2,985 (+3631.25%)
Mutual labels:  http-proxy
Mubeng
An incredibly fast proxy checker & IP rotator with ease.
Stars: ✭ 234 (+192.5%)
Mutual labels:  http-proxy
devproxy
A local development http proxy with hosts spoofing written in Go
Stars: ✭ 35 (-56.25%)
Mutual labels:  http-proxy
httpproxy
一个轻量级HTTP代理,支持shadowsocks服务,方便命令行、开发环境使用。
Stars: ✭ 90 (+12.5%)
Mutual labels:  http-proxy
Proxybroker
Proxy [Finder | Checker | Server]. HTTP(S) & SOCKS 🎭
Stars: ✭ 2,767 (+3358.75%)
Mutual labels:  http-proxy

revp

Build

Run make and then use the resulting executable revp.exe.

Note: revp also builds on Windows. Just create a new Visual Studio project and import the files.

Instructions

Run server with ./revp.exe -s -l 5000 -p 6000, where 5000 is where your client will connect and 6000 is where proxy connections will be serviced.

Run client with ./revp.exe -c -a 192.168.1.1 -z 5000, where 192.168.1.1 is your server address and 5000 is your chosen server port that listens for a client.

Open up a browser in your server instance and configure your HTTP proxy to port 6000, now you will be effectively browsing the Internet with client's connection.

Explanation

There are 3 components to revp: server, client, and proxy connections.

Server listens for client and starts listening for proxy connections once client connects.

All proxy connection requests are routed to the client through the server.

Proxy connections are expected to make a first request of HTTP CONNECT and once connected they can exchange any data of any protocol with the destination address:port requested in the HTTP CONNECT. Server transparently routes all traffic from and to client and client routes all traffic from and to the remote destination.

What makes this a "reverse" proxy is the fact that the client initiates connection to the server, so there's no need to open ports or write firewall rules for the client whose network access you want to reach into -- you can basically run this on any network node whose firewall allows outbound traffic to your server port (essentially all firewall configurations found in the wild allow all outbound traffic).

Options

  -h [ --help ]              Help screen
  -s [ --server ]            Starts revp in server mode
  -c [ --client ]            Starts revp in client mode
  -l [ --clientPort ] arg    [Server mode] Port that listens for client
  -p [ --proxyPort ] arg     [Server mode] Port that listens for proxy connections
  -a [ --serverAddress ] arg [Client mode] Address of server
  -z [ --serverPort ] arg    [Client mode] Port of server
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].