commit 80728aaf7796873546a406c7a1ff7d3a02468cb4 Author: r0n1n7an Date: Sat Nov 4 17:55:35 2023 +0800 init commit diff --git a/ftpsClient.exe b/ftpsClient.exe new file mode 100644 index 0000000..9289ab6 Binary files /dev/null and b/ftpsClient.exe differ diff --git a/ftpsClient.go b/ftpsClient.go new file mode 100644 index 0000000..a17a275 --- /dev/null +++ b/ftpsClient.go @@ -0,0 +1,75 @@ +package main + +import ( + "crypto/tls" + "flag" + "fmt" + "log" + "os" + "time" + + "github.com/secsy/goftp" +) + +var ( + host string = "" + port string = "" + user string = "" + pswd string = "" + rmt string = "" + loc string = "" +) + +func init() { + flag.StringVar(&host, "h", "10.60.254.52", "FTPS Server Address") + flag.StringVar(&port, "o", "3031", "FTPS Server Port") + flag.StringVar(&user, "u", "idte", "Username") + flag.StringVar(&pswd, "p", "wistronTE2022", "Password") + flag.StringVar(&loc, "L", "", "Local Path") + flag.StringVar(&rmt, "R", "", "Remote Path") + flag.Parse() +} + +func main() { + log.SetFlags(log.Ldate | log.Ltime) + log.SetOutput(os.Stdout) + + if host == "" || port == "" || user == "" || pswd == "" { + log.Println("[ERR] Invalid Arguments.") + os.Exit(1) + } + + cfg := goftp.Config{ + User: user, + Password: pswd, + Timeout: time.Second * 30, + TLSMode: goftp.TLSExplicit, + TLSConfig: &tls.Config{ + InsecureSkipVerify: true, + MinVersion: tls.VersionTLS10, + }, + } + + client, err := goftp.DialConfig(cfg, host+":"+port) + if err != nil { + log.Printf("[ERR] %s\r\n", err.Error()) + os.Exit(1) + } + defer client.Close() + + cwd, err := client.Getwd() + if err != nil { + log.Printf("[ERR] %s\r\n", err.Error()) + os.Exit(1) + } + log.Printf("[MSG] CWD: %s\r\n", cwd) + + fis, err := client.ReadDir(cwd) + if err != nil { + log.Printf("[ERR] %s\r\n", err.Error()) + os.Exit(1) + } + for _, f := range fis { + fmt.Printf("FileName=%v; FileSize=%v; ModTime=%v; IsDir=%v\r\n", f.Name(), f.Size(), f.ModTime().Format("2006-01-02 15:04:05"), f.IsDir()) + } +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..02f250b --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module ftpsClient + +go 1.20 + +require github.com/secsy/goftp v0.0.0-20200609142545-aa2de14babf4 diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..b9b74f5 --- /dev/null +++ b/go.sum @@ -0,0 +1,2 @@ +github.com/secsy/goftp v0.0.0-20200609142545-aa2de14babf4 h1:PT+ElG/UUFMfqy5HrxJxNzj3QBOf7dZwupeVC+mG1Lo= +github.com/secsy/goftp v0.0.0-20200609142545-aa2de14babf4/go.mod h1:MnkX001NG75g3p8bhFycnyIjeQoOjGL6CEIsdE/nKSY=