https://github.com/ccding/go-rproxy
A transport layer reverse proxy speaking TCP and TLS
https://github.com/ccding/go-rproxy
Last synced: about 1 year ago
JSON representation
A transport layer reverse proxy speaking TCP and TLS
- Host: GitHub
- URL: https://github.com/ccding/go-rproxy
- Owner: ccding
- License: apache-2.0
- Created: 2016-08-01T02:02:46.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2017-04-17T17:22:48.000Z (about 9 years ago)
- Last Synced: 2025-04-23T01:08:21.884Z (about 1 year ago)
- Language: Go
- Homepage:
- Size: 205 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# go-rproxy
[](https://travis-ci.org/ccding/go-rproxy)
[](https://opensource.org/licenses/Apache-2.0)
[](http://godoc.org/github.com/ccding/go-rproxy/rproxy)
[](https://goreportcard.com/report/github.com/ccding/go-rproxy)
WARNING: This project is still under development. Its API may change
significantly.
go-rproxy is a transport layer reverse proxy speaking TCP and TLS.
A general usecase is that it accepts TLS/HTTPS requests and forwards them to
the backend server as TCP/HTTP requests. This helps software engineers to make
their TCP-based applications have TLS interfaces without modifying their
applications.
Another usecase is that it acts as a transport layer proxy to help debugging
the API between clients and the server.
In general, go-rproxy accepts TCP/TLS requests from clients and sends TCP/TLS
requests to the server, in any combination, say TCP->TCP, TCP->TLS, TLS-TCP,
TLS->TLS.
More details please see `main.go`.
To test this library, you can use these tools to send or receive TCP/TLS
requests:
```
server/server.go: TLS server
client/client.go: TLS client
nc (netcat): TCP server/client
telnet: TCP client
```
More features are on the way...