mirror of
https://github.com/tobychui/zoraxy.git
synced 2025-10-18 08:39:40 +02:00
Fixed #706
- Added conditional injection of x-proxy-by zoraxy header by only injecting tracker when -dev flag is set to true
This commit is contained in:
@@ -75,7 +75,8 @@ type ResponseRewriteRuleSet struct {
|
||||
DisableChunkedTransferEncoding bool //Disable chunked transfer encoding
|
||||
|
||||
/* System Information Payload */
|
||||
Version string //Version number of Zoraxy, use for X-Proxy-By
|
||||
DevelopmentMode bool //Inject dev mode information to requests
|
||||
Version string //Version number of Zoraxy, use for X-Proxy-By
|
||||
}
|
||||
|
||||
type requestCanceler interface {
|
||||
@@ -284,7 +285,7 @@ func (p *ReverseProxy) ProxyHTTP(rw http.ResponseWriter, req *http.Request, rrr
|
||||
// Add user defined headers (to upstream)
|
||||
injectUserDefinedHeaders(outreq.Header, rrr.UpstreamHeaders)
|
||||
|
||||
// Rewrite outbound UA, must be after user headers
|
||||
// Rewrite outbound UA top upstream, must be after user headers
|
||||
rewriteUserAgent(outreq.Header, "Zoraxy/"+rrr.Version)
|
||||
|
||||
//Fix proxmox transfer encoding bug if detected Proxmox Cookie
|
||||
@@ -323,7 +324,9 @@ func (p *ReverseProxy) ProxyHTTP(rw http.ResponseWriter, req *http.Request, rrr
|
||||
}
|
||||
|
||||
//Add debug X-Proxy-By tracker
|
||||
res.Header.Set("x-proxy-by", "zoraxy/"+rrr.Version)
|
||||
if rrr.DevelopmentMode {
|
||||
res.Header.Set("x-proxy-by", "zoraxy/"+rrr.Version)
|
||||
}
|
||||
|
||||
//Custom Location header rewriter functions
|
||||
if res.Header.Get("Location") != "" {
|
||||
|
@@ -172,6 +172,7 @@ func (router *Router) StartProxyService() error {
|
||||
NoRemoveHopByHop: endpointProxyRewriteRules.DisableHopByHopHeaderRemoval,
|
||||
PathPrefix: "",
|
||||
Version: sep.parent.Option.HostVersion,
|
||||
DevelopmentMode: sep.parent.Option.DevelopmentMode,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
@@ -196,6 +196,7 @@ func (h *ProxyHandler) hostRequest(w http.ResponseWriter, r *http.Request, targe
|
||||
HostHeaderOverwrite: headerRewriteOptions.RequestHostOverwrite,
|
||||
NoRemoveHopByHop: headerRewriteOptions.DisableHopByHopHeaderRemoval,
|
||||
Version: target.parent.Option.HostVersion,
|
||||
DevelopmentMode: target.parent.Option.DevelopmentMode,
|
||||
})
|
||||
|
||||
//validate the error
|
||||
@@ -289,6 +290,7 @@ func (h *ProxyHandler) vdirRequest(w http.ResponseWriter, r *http.Request, targe
|
||||
DisableChunkedTransferEncoding: target.parent.DisableChunkedTransferEncoding,
|
||||
HostHeaderOverwrite: headerRewriteOptions.RequestHostOverwrite,
|
||||
Version: target.parent.parent.Option.HostVersion,
|
||||
DevelopmentMode: target.parent.parent.Option.DevelopmentMode,
|
||||
})
|
||||
|
||||
var dnsError *net.DNSError
|
||||
|
@@ -69,7 +69,8 @@ type RouterOption struct {
|
||||
OAuth2Router *oauth2.OAuth2Router //OAuth2Router router for OAuth2Router authentication
|
||||
|
||||
/* Utilities */
|
||||
Logger *logger.Logger //Logger for reverse proxy requets
|
||||
DevelopmentMode bool //Enable development mode, provide more debug information in headers
|
||||
Logger *logger.Logger //Logger for reverse proxy requests
|
||||
}
|
||||
|
||||
/* Router Object */
|
||||
|
@@ -122,7 +122,8 @@ func ReverseProxyInit() {
|
||||
LoadBalancer: loadBalancer,
|
||||
PluginManager: pluginManager,
|
||||
/* Utilities */
|
||||
Logger: SystemWideLogger,
|
||||
DevelopmentMode: *development_build,
|
||||
Logger: SystemWideLogger,
|
||||
})
|
||||
if err != nil {
|
||||
SystemWideLogger.PrintAndLog("proxy-config", "Unable to create dynamic proxy router", err)
|
||||
|
Reference in New Issue
Block a user