mirror of
https://github.com/bettercap/bettercap
synced 2025-07-08 05:51:37 -07:00
refact: refactored module params management
This commit is contained in:
parent
0cbe0f8782
commit
1b3cc9fbca
4 changed files with 48 additions and 15 deletions
|
@ -45,12 +45,12 @@ func NewStringParameter(name string, def_value string, validator string, desc st
|
|||
return NewModuleParameter(name, def_value, STRING, validator, desc)
|
||||
}
|
||||
|
||||
func NewBoolParameter(name string, def_value string, validator string, desc string) *ModuleParam {
|
||||
return NewModuleParameter(name, def_value, BOOL, validator, desc)
|
||||
func NewBoolParameter(name string, def_value string, desc string) *ModuleParam {
|
||||
return NewModuleParameter(name, def_value, BOOL, "^(true|false)$", desc)
|
||||
}
|
||||
|
||||
func NewIntParameter(name string, def_value string, validator string, desc string) *ModuleParam {
|
||||
return NewModuleParameter(name, def_value, INT, validator, desc)
|
||||
func NewIntParameter(name string, def_value string, desc string) *ModuleParam {
|
||||
return NewModuleParameter(name, def_value, INT, "^[\\d]+$", desc)
|
||||
}
|
||||
|
||||
func (p ModuleParam) Validate(value string) (error, interface{}) {
|
||||
|
|
|
@ -45,10 +45,24 @@ func NewHttpProxy(s *session.Session) *HttpProxy {
|
|||
script: nil,
|
||||
}
|
||||
|
||||
p.AddParam(session.NewIntParameter("http.port", "80", "", "HTTP port to redirect when the proxy is activated."))
|
||||
p.AddParam(session.NewIntParameter("http.proxy.port", "8080", "", "Port to bind the HTTP proxy to."))
|
||||
p.AddParam(session.NewStringParameter("http.proxy.address", "<interface address>", `^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$`, "Address to bind the HTTP proxy to."))
|
||||
p.AddParam(session.NewStringParameter("http.proxy.script", "", "", "Path of a proxy JS script."))
|
||||
p.AddParam(session.NewIntParameter("http.port",
|
||||
"80",
|
||||
"HTTP port to redirect when the proxy is activated."))
|
||||
|
||||
p.AddParam(session.NewIntParameter("http.proxy.port",
|
||||
"8080",
|
||||
"Port to bind the HTTP proxy to."))
|
||||
|
||||
p.AddParam(session.NewStringParameter("http.proxy.address",
|
||||
"<interface address>",
|
||||
`^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$`,
|
||||
"Address to bind the HTTP proxy to."))
|
||||
|
||||
p.AddParam(session.NewStringParameter("http.proxy.script",
|
||||
"",
|
||||
"",
|
||||
"Path of a proxy JS script."))
|
||||
|
||||
p.AddHandler(session.NewModuleHandler("http.proxy on", "",
|
||||
"Start HTTP proxy.",
|
||||
func(args []string) error {
|
||||
|
@ -206,7 +220,7 @@ func (p *HttpProxy) Stop() error {
|
|||
}
|
||||
}
|
||||
|
||||
func (p *HttpProxy) doProxy(req *http.Request) bool {
|
||||
func (p HttpProxy) doProxy(req *http.Request) bool {
|
||||
blacklist := []string{
|
||||
"localhost",
|
||||
"127.0.0.1",
|
||||
|
|
|
@ -18,7 +18,9 @@ func NewProber(s *session.Session) *Prober {
|
|||
SessionModule: session.NewSessionModule(s),
|
||||
}
|
||||
|
||||
p.AddParam(session.NewIntParameter("net.probe.throttle", "10", "", "If greater than 0, probe packets will be throttled by this value in milliseconds."))
|
||||
p.AddParam(session.NewIntParameter("net.probe.throttle",
|
||||
"10",
|
||||
"If greater than 0, probe packets will be throttled by this value in milliseconds."))
|
||||
|
||||
p.AddHandler(session.NewModuleHandler("net.probe on", "",
|
||||
"Start network hosts probing in background.",
|
||||
|
|
|
@ -121,11 +121,28 @@ func NewSniffer(s *session.Session) *Sniffer {
|
|||
Stats: nil,
|
||||
}
|
||||
|
||||
sniff.AddParam(session.NewBoolParameter("net.sniffer.verbose", "true", "", "Print captured packets to screen."))
|
||||
sniff.AddParam(session.NewBoolParameter("net.sniffer.local", "false", "", "If true it will consider packets from/to this computer, otherwise it will skip them."))
|
||||
sniff.AddParam(session.NewStringParameter("net.sniffer.filter", "not arp", "", "BPF filter for the sniffer."))
|
||||
sniff.AddParam(session.NewStringParameter("net.sniffer.regexp", "", "", "If filled, only packets matching this regular expression will be considered."))
|
||||
sniff.AddParam(session.NewStringParameter("net.sniffer.output", "", "", "If set, the sniffer will write captured packets to this file."))
|
||||
sniff.AddParam(session.NewBoolParameter("net.sniffer.verbose",
|
||||
"true",
|
||||
"Print captured packets to screen."))
|
||||
|
||||
sniff.AddParam(session.NewBoolParameter("net.sniffer.local",
|
||||
"false",
|
||||
"If true it will consider packets from/to this computer, otherwise it will skip them."))
|
||||
|
||||
sniff.AddParam(session.NewStringParameter("net.sniffer.filter",
|
||||
"not arp",
|
||||
"",
|
||||
"BPF filter for the sniffer."))
|
||||
|
||||
sniff.AddParam(session.NewStringParameter("net.sniffer.regexp",
|
||||
"",
|
||||
"",
|
||||
"If filled, only packets matching this regular expression will be considered."))
|
||||
|
||||
sniff.AddParam(session.NewStringParameter("net.sniffer.output",
|
||||
"",
|
||||
"",
|
||||
"If set, the sniffer will write captured packets to this file."))
|
||||
|
||||
sniff.AddHandler(session.NewModuleHandler("net.sniffer stats", "",
|
||||
"Print sniffer session configuration and statistics.",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue