From 91f5213526527566b5834de3941ab49eb1b4ba07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=98=B8=EF=B8=8F?= <29265684+buffermet@users.noreply.github.com> Date: Sat, 23 Nov 2024 15:56:54 +0100 Subject: [PATCH] Implement HTTP proxy script onEvent call. --- modules/http_proxy/http_proxy_base.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/http_proxy/http_proxy_base.go b/modules/http_proxy/http_proxy_base.go index 5d4eebef..7ace2122 100644 --- a/modules/http_proxy/http_proxy_base.go +++ b/modules/http_proxy/http_proxy_base.go @@ -27,6 +27,8 @@ import ( "github.com/evilsocket/islazy/log" "github.com/evilsocket/islazy/str" "github.com/evilsocket/islazy/tui" + + "github.com/robertkrimen/otto" ) const ( @@ -432,6 +434,14 @@ func (p *HTTPProxy) Start() { } func (p *HTTPProxy) Stop() error { + if p.Script != nil { + if p.Script.Plugin.HasFunc("onExit") { + if _, err := p.Script.Call("onExit"); err != nil { + log.Error("Error while executing onExit callback: %s", "\nTraceback:\n "+err.(*otto.Error).String()) + } + } + } + if p.doRedirect && p.Redirection != nil { p.Debug("disabling redirection %s", p.Redirection.String()) if err := p.Sess.Firewall.EnableRedirection(p.Redirection, false); err != nil {