mirror of
https://github.com/bettercap/bettercap
synced 2025-08-19 21:13:18 -07:00
new: http and https proxy modules can now define an onCommand callback to handle custom session commands (closes #182)
This commit is contained in:
parent
77f8e070bc
commit
86ba73f5bb
3 changed files with 59 additions and 5 deletions
|
@ -37,6 +37,8 @@ var (
|
|||
reCmdSpaceCleaner = regexp.MustCompile(`^([^\s]+)\s+(.+)$`)
|
||||
)
|
||||
|
||||
type UnknownCommandCallback func(cmd string) bool
|
||||
|
||||
type Session struct {
|
||||
Options core.Options `json:"options"`
|
||||
Interface *network.Endpoint `json:"interface"`
|
||||
|
@ -57,6 +59,8 @@ type Session struct {
|
|||
Modules []Module `json:"-"`
|
||||
|
||||
Events *EventPool `json:"-"`
|
||||
|
||||
UnkCmdCallback UnknownCommandCallback `json:"-"`
|
||||
}
|
||||
|
||||
func ParseCommands(line string) []string {
|
||||
|
@ -132,9 +136,10 @@ func New() (*Session, error) {
|
|||
Active: false,
|
||||
Queue: nil,
|
||||
|
||||
CoreHandlers: make([]CommandHandler, 0),
|
||||
Modules: make([]Module, 0),
|
||||
Events: nil,
|
||||
CoreHandlers: make([]CommandHandler, 0),
|
||||
Modules: make([]Module, 0),
|
||||
Events: nil,
|
||||
UnkCmdCallback: nil,
|
||||
}
|
||||
|
||||
if s.Options, err = core.ParseOptions(); err != nil {
|
||||
|
@ -501,5 +506,9 @@ func (s *Session) Run(line string) error {
|
|||
}
|
||||
}
|
||||
|
||||
if s.UnkCmdCallback != nil && s.UnkCmdCallback(line) == true {
|
||||
return nil
|
||||
}
|
||||
|
||||
return fmt.Errorf("Unknown or invalid syntax \"%s%s%s\", type %shelp%s for the help menu.", core.BOLD, line, core.RESET, core.BOLD, core.RESET)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue