mirror of https://github.com/schollz/croc.git
add ask flag
This commit is contained in:
parent
41b91a3baf
commit
42c2d5c6c1
|
@ -72,6 +72,7 @@ func Run() (err error) {
|
|||
cli.BoolFlag{Name: "debug", Usage: "increase verbosity (a lot)"},
|
||||
cli.BoolFlag{Name: "yes", Usage: "automatically agree to all prompts"},
|
||||
cli.BoolFlag{Name: "stdout", Usage: "redirect file to stdout"},
|
||||
cli.BoolFlag{Name: "ask", Usage: "make sure sender and recipient are prompted"},
|
||||
cli.StringFlag{Name: "relay", Value: models.DEFAULT_RELAY, Usage: "address of the relay"},
|
||||
cli.StringFlag{Name: "out", Value: ".", Usage: "specify an output folder to receive the file"},
|
||||
}
|
||||
|
@ -139,6 +140,7 @@ func send(c *cli.Context) (err error) {
|
|||
Stdout: c.GlobalBool("stdout"),
|
||||
DisableLocal: c.Bool("no-local"),
|
||||
RelayPorts: strings.Split(c.String("ports"), ","),
|
||||
Ask: c.GlobalBool("ask"),
|
||||
}
|
||||
b, errOpen := ioutil.ReadFile(getConfigFile())
|
||||
if errOpen == nil && !c.GlobalBool("remember") {
|
||||
|
@ -288,6 +290,7 @@ func receive(c *cli.Context) (err error) {
|
|||
NoPrompt: c.GlobalBool("yes"),
|
||||
RelayAddress: c.GlobalString("relay"),
|
||||
Stdout: c.GlobalBool("stdout"),
|
||||
Ask: c.GlobalBool("ask"),
|
||||
}
|
||||
if c.Args().First() != "" {
|
||||
crocOptions.SharedSecret = c.Args().First()
|
||||
|
|
|
@ -55,6 +55,7 @@ type Options struct {
|
|||
Stdout bool
|
||||
NoPrompt bool
|
||||
DisableLocal bool
|
||||
Ask bool
|
||||
}
|
||||
|
||||
// Client holds the state of the croc transfer
|
||||
|
@ -519,7 +520,7 @@ func (c *Client) processMessageFileInfo(m message.Message) (done bool, err error
|
|||
}
|
||||
}
|
||||
// c.spinner.Stop()
|
||||
if !c.Options.NoPrompt {
|
||||
if !c.Options.NoPrompt || c.Options.Ask {
|
||||
fmt.Fprintf(os.Stderr, "\rAccept %s (%s)? (y/n) ", fname, utils.ByteCountDecimal(totalSize))
|
||||
if strings.ToLower(strings.TrimSpace(utils.GetInput(""))) != "y" {
|
||||
err = message.Send(c.conn[0], c.Key, message.Message{
|
||||
|
@ -900,7 +901,19 @@ func (c *Client) updateState() (err error) {
|
|||
}
|
||||
|
||||
if c.Options.IsSender && c.Step3RecipientRequestFile && !c.Step4FileTransfer {
|
||||
if c.Options.Ask {
|
||||
fmt.Fprintf(os.Stderr, "\rSend to X? (y/n) ")
|
||||
if strings.ToLower(strings.TrimSpace(utils.GetInput(""))) != "y" {
|
||||
err = message.Send(c.conn[0], c.Key, message.Message{
|
||||
Type: "error",
|
||||
Message: "refusing files",
|
||||
})
|
||||
return fmt.Errorf("refused files")
|
||||
}
|
||||
}
|
||||
|
||||
log.Debug("start sending data!")
|
||||
|
||||
if !c.firstSend {
|
||||
fmt.Fprintf(os.Stderr, "\nSending (->%s)\n", c.ExternalIPConnected)
|
||||
c.firstSend = true
|
||||
|
|
Loading…
Reference in New Issue