1
1
Fork 0
mirror of https://github.com/schollz/croc.git synced 2025-10-11 13:21:00 +02:00

add output folder

This commit is contained in:
Zack Scholl 2018-10-22 06:36:36 -07:00
parent 47931d6ba2
commit 3064ceef81
3 changed files with 8 additions and 0 deletions

View file

@ -84,6 +84,7 @@ func Run() {
cli.StringFlag{Name: "port", Value: "8153", Usage: "port that the websocket listens on"},
cli.StringFlag{Name: "tcp-port", Value: "8154,8155,8156,8157,8158,8159,8160,8161", Usage: "ports that the tcp server listens on"},
cli.StringFlag{Name: "curve", Value: "siec", Usage: "specify elliptic curve to use for PAKE (p256, p384, p521, siec)"},
cli.StringFlag{Name: "out", Value: ".", Usage: "specify an output folder to receive the file"},
}
app.EnableBashCompletion = true
app.HideHelp = false
@ -203,6 +204,9 @@ func receive(c *cli.Context) error {
if c.Args().First() != "" {
cr.Codephrase = c.Args().First()
}
if c.GlobalString("out") != "" {
os.Chdir(c.GlobalString("out"))
}
cr.LoadConfig()
openFolder := false
if len(os.Args) == 1 {

View file

@ -34,6 +34,7 @@ func (cr *Croc) startSender(forceSend int, serverAddress string, tcpPorts []stri
log.Debugf("sending %s", fname)
err := cr.send(forceSend, serverAddress, tcpPorts, isLocal, c, fname, codephrase, useCompression, useEncryption)
if err != nil {
log.Debug(err)
if !strings.HasPrefix(err.Error(), "websocket: close 100") {
fmt.Fprintf(os.Stderr, "\n"+err.Error())
err = errors.Wrap(err, "error in sender:")

View file

@ -153,6 +153,7 @@ func (c *Croc) sendReceive(address, websocketPort string, tcpPorts []string, fna
log.Debugf("connecting to %s", websocketAddress)
sock, _, err := websocket.DefaultDialer.Dial(websocketAddress, nil)
if err != nil {
log.Error(err)
return
}
defer sock.Close()
@ -160,6 +161,7 @@ func (c *Croc) sendReceive(address, websocketPort string, tcpPorts []string, fna
// tell the websockets we are connected
err = sock.WriteMessage(websocket.BinaryMessage, []byte("connected"))
if err != nil {
log.Error(err)
return err
}
@ -172,6 +174,7 @@ func (c *Croc) sendReceive(address, websocketPort string, tcpPorts []string, fna
for {
select {
case <-done:
log.Debug("received done signal")
return nil
case <-interrupt:
if !c.Debug {