Groxy: a pre-v1 Go library for building forward proxy servers, looking for API feedback

Hey everyone,

I recently launched Groxy, a pre-v1 Go library for building forward proxy servers.

Repo: https://github.com/SalzDevs/groxy
Docs: https://pkg.go.dev/github.com/SalzDevs/groxy

It supports:

  • HTTP forwarding
  • HTTPS CONNECT tunneling
  • request/response/CONNECT middleware
  • blocking helpers
  • header helpers
  • request/response body transforms
  • configurable timeouts/logging
  • opt-in HTTPS inspection using a local CA

I’m mainly looking for API feedback before v1.

Example:

```go
proxy.Use(groxy.AddRequestHeader(“X-From-Groxy”, “true”))

proxy.OnRequest(func(ctx *groxy.RequestContext) error {
ctx.Request.Header.Set(“X-Debug”, “true”)
return nil
})```

Questions I’d love feedback on:

  1. Does the middleware API feel natural?
  2. Is the HTTPS inspection config clear enough?
  3. What would you expect from a Go proxy framework before v1?
  4. Are there docs/examples missing that would stop you from trying it?

Thanks!

1 Like