add -capture for all commands
This commit is contained in:
parent
5149487c18
commit
63b94197ec
|
@ -99,11 +99,11 @@ func main() {
|
||||||
flag.BoolVar(&utils.Options.ExtraDebug, "extra-debug", false, locale.Loc("extra_debug", nil))
|
flag.BoolVar(&utils.Options.ExtraDebug, "extra-debug", false, locale.Loc("extra_debug", nil))
|
||||||
flag.StringVar(&utils.Options.PathCustomUserData, "userdata", "", locale.Loc("custom_user_data", nil))
|
flag.StringVar(&utils.Options.PathCustomUserData, "userdata", "", locale.Loc("custom_user_data", nil))
|
||||||
flag.String("lang", "", "lang")
|
flag.String("lang", "", "lang")
|
||||||
flag.BoolVar(&utils.Options.EnableDNS, "dns", false, locale.Loc("enable_dns", nil))
|
flag.BoolVar(&utils.Options.Capture, "capture", false, "Capture Packet log")
|
||||||
|
|
||||||
subcommands.Register(subcommands.HelpCommand(), "")
|
subcommands.Register(subcommands.HelpCommand(), "")
|
||||||
subcommands.ImportantFlag("debug")
|
subcommands.ImportantFlag("debug")
|
||||||
subcommands.ImportantFlag("dns")
|
subcommands.ImportantFlag("capture")
|
||||||
subcommands.ImportantFlag("preload")
|
subcommands.ImportantFlag("preload")
|
||||||
subcommands.HelpCommand()
|
subcommands.HelpCommand()
|
||||||
|
|
||||||
|
|
|
@ -65,3 +65,7 @@ func NewPacketCapturer() *utils.ProxyHandler {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
utils.NewPacketCapturer = NewPacketCapturer
|
||||||
|
}
|
||||||
|
|
|
@ -4,7 +4,6 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"flag"
|
"flag"
|
||||||
|
|
||||||
"github.com/bedrock-tool/bedrocktool/handlers"
|
|
||||||
"github.com/bedrock-tool/bedrocktool/locale"
|
"github.com/bedrock-tool/bedrocktool/locale"
|
||||||
"github.com/bedrock-tool/bedrocktool/utils"
|
"github.com/bedrock-tool/bedrocktool/utils"
|
||||||
)
|
)
|
||||||
|
@ -34,6 +33,6 @@ func (c *CaptureCMD) Execute(ctx context.Context, ui utils.UI) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
proxy.AlwaysGetPacks = true
|
proxy.AlwaysGetPacks = true
|
||||||
proxy.AddHandler(handlers.NewPacketCapturer())
|
utils.Options.Capture = true
|
||||||
return proxy.Run(ctx, address, hostname)
|
return proxy.Run(ctx, address, hostname)
|
||||||
}
|
}
|
||||||
|
|
|
@ -282,6 +282,7 @@ func (p *ProxyContext) IsClient(addr net.Addr) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
var NewDebugLogger func(bool) *ProxyHandler
|
var NewDebugLogger func(bool) *ProxyHandler
|
||||||
|
var NewPacketCapturer func() *ProxyHandler
|
||||||
|
|
||||||
func (p *ProxyContext) connectClient(ctx context.Context, serverAddress string, cdpp **login.ClientData) (err error) {
|
func (p *ProxyContext) connectClient(ctx context.Context, serverAddress string, cdpp **login.ClientData) (err error) {
|
||||||
GetTokenSource() // ask for login before listening
|
GetTokenSource() // ask for login before listening
|
||||||
|
@ -337,6 +338,9 @@ func (p *ProxyContext) Run(ctx context.Context, serverAddress, name string) (err
|
||||||
if Options.Debug || Options.ExtraDebug {
|
if Options.Debug || Options.ExtraDebug {
|
||||||
p.AddHandler(NewDebugLogger(Options.ExtraDebug))
|
p.AddHandler(NewDebugLogger(Options.ExtraDebug))
|
||||||
}
|
}
|
||||||
|
if Options.Capture {
|
||||||
|
p.AddHandler(NewPacketCapturer())
|
||||||
|
}
|
||||||
p.AddHandler(&ProxyHandler{
|
p.AddHandler(&ProxyHandler{
|
||||||
Name: "Commands",
|
Name: "Commands",
|
||||||
PacketCB: p.CommandHandlerPacketCB,
|
PacketCB: p.CommandHandlerPacketCB,
|
||||||
|
|
|
@ -30,7 +30,7 @@ var Options struct {
|
||||||
Preload bool
|
Preload bool
|
||||||
IsInteractive bool
|
IsInteractive bool
|
||||||
ExtraDebug bool
|
ExtraDebug bool
|
||||||
EnableDNS bool
|
Capture bool
|
||||||
PathCustomUserData string
|
PathCustomUserData string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue