Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "flag"
  5. filedriver "github.com/goftp/file-driver"
  6. "github.com/goftp/server"
  7. "log"
  8. "golang.org/x/net/context"
  9. )
  10.  
  11. var (
  12. root = flag.String("root", "~/ftp_server", "Root directory to serve")
  13. user = flag.String("user", "admin", "Username for login")
  14. pass = flag.String("pass", "123456", "Password for login")
  15. port = flag.Int("port", 5678, "Port")
  16. host = flag.String("host", "185.20.227.83", "Host")
  17. )
  18.  
  19. func main() {
  20.  
  21. flag.Parse()
  22. if *root == "" {
  23. log.Fatalf("Please set a root to serve with -root")
  24. }
  25.  
  26. factory := &filedriver.FileDriverFactory{
  27. RootPath: *root,
  28. Perm: server.NewSimplePerm("user", "group"),
  29. }
  30.  
  31. opts := &server.ServerOpts{
  32. Factory: factory,
  33. Port: *port,
  34. Hostname: *host,
  35. Auth: &server.SimpleAuth{Name: *user, Password: *pass},
  36. }
  37.  
  38. log.Printf("Starting ftp server on %v:%v", opts.Hostname, opts.Port)
  39. log.Printf("Username %v, Password %v", user, pass)
  40. server := server.NewServer(opts)
  41. err := server.ListenAndServe()
  42. if err != nil {
  43. log.Fatal("Error starting server:", err)
  44. }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement