Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
    Alex Scotton
    Hi, please excuse my ignorance. This is my first foray into Golang. I am trying to write a custom ReqCondition func. I unfortunately lack the knowledge to understand why it doesn't work.
    Here is the prototype func:
    func isBlacklisted() goproxy.ReqCondition {
      return goproxy.ReqConditionFunc(func(req *http.Request, ctx *goproxy.ProxyCtx) bool {
        return true;
    and I am including thusly:
    the isBlacklisted func is being called but the ReqConditionFunc is not, I have also tried that without the wrapper
    Alex Scotton
    scrap that! the issue this whole time was my use of goproxy.AlwaysReject , Pretty sure I'm doing it wrong :P as I'm already useing HandleConnect with an AlwaysMitM function, can you only have one HandleConnect statement?
    Hi, I have a problem:
    func handler(r *http.Request, ctx *goproxy.ProxyCtx) (*http.Request, *http.Response) {
        temp := make([]byte, 1024)
        r.Body.Read(temp) // How to seek to start?
        return r, nil
    Sriharsha Setty
    Sriharsha Setty
    @elazarl I came across goproxy while looking around for a CORS proxy server. Basically I am looking at a way to proxy requests for servers that don't handle the CORS very well.
    Sriharsha Setty
    Can I setup goproxy to accept requests in a manner: www.goproxy.com/http://api-server.com to proxy the request to http://api-server.com?
    hello all, I just wonder if anyone has asked, how to get the raw request strings from this goproxy ? espcially in HandleConnectFunc with CONNECT MOTHOD...
    Odohi David
    :point_up: December 7, 2016 8:49 PM this proxy will help you with your CORS issue.
    Hi - How can access the https response body with goproxy? I have some jobs which fetch xml and json (written in different langs) and they should use a central proxy which save all the responses. I need that for logging/history purposes.
    Mohamed Isoukrane
    Hi, I am trying to proxy HTTPS through connect without using MITM, all what I see in the transparent example is AlwaysMitm. is there a different option that I can use to achieve proxying HTTPS without mitm? Thanks in advance.
    Do I need to do anything to enable keep alive?
    Guess so
    func responseIsKeepAlive(res *http.Response) bool {
          // TODO: implement.  for now just always shutting down the connection.
    Hi, one question. Why some of the requests are invisible in OnRequest func?
    Vu Viet Phuong
    I am trying to use Basic auth on https://github.com/abourget/goproxy for HTTPS. Can anyone help me please? I cannot get it to work
    Serhii Chaplia
    Hello! Guys how can I proxy proxied request ? :) I should change http.Transport for goproxy client

    Hello, my name is Liora and I am currently hunting open source projects for company NeuraLegion (www.neuralegion.com)
    We just launched a free annual subscription for open source projects for our AIAST tool NexPloit.

    If you are interested, please, reach us on opensource@neuralegion.com!

    Thank you for your time and consideration! If you have any questions, please do not hesitate to contact us!


    Stoyan Kirov
    Hi everyone. I'm having troubles using the transparent example. I use all default settings and only change the GOPROXY_SERVER IP address.
    The problem is that I'm not getting any requests to go to the proxy. No pages are loading, which means that the iptables rules are doing something, but they don't seem to route the requests to the proxy, because I get no logs (in verbose mode). When I make any requests, to any website, all I get is a failure to resolve the hostname.
    Forgot to mention that I tried Docker and an Ubuntu virtual machine.
    Has anyone had a similar problem?
    Arun Kumar Pariyar
    Hi everyone, anyone around please ?
    Bijay Singh
    getting too much trouble using this module can anyone help?
    Vishnu V

    I am trying to cache request using elazarl/goproxy. If request is not cached, it needs to be routed through an external proxy.

        proxy.OnRequest().DoFunc(func(req *http.Request,ctx *goproxy.ProxyCtx)(*http.Request,*http.Response) {
            if alreadyCached {
                return req, getCachedResponse(req)
            //Here I want to route req via external proxy, I tried the following
            transport := &http.Transport{Proxy: http.ProxyURL(proxyUrl), TLSClientConfig: &tls.Config{InsecureSkipVerify: true},}
            proxtResponse, err := client.Do(proxyReq)
            //cache the response
            return req, response

    But some sites are not loading properly on using the client.Do method.
    Any suggestion to route http.Request via proxy.

    Alain Gilbert
    anyone knows if it is possible to get the headers from the response of a CONNECT request ?
    Atılhan Emre Dursunoğlu
    I posted in mailing list, however i just see this gitter.
    I have been getting "Cannot write TLS response header from mitm'd client: write tcp{ProxyPort}->{RandomPort}: write: broken pipe" warnings in Mitm connections. Are these normal?
    Hi, Team! I have multiple IP addresses on my servers. How can I do to use all addresses to rotate?
    Hello Everyone, anyone knows how to proxy target endpoint which is a secured TLS endpoint using goproxy ? any pointers or reference is much appreciated