agent.go 998 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package main
  2. import (
  3. "flag"
  4. "log"
  5. "nginx-ui/agent"
  6. "nginx-ui/server/models"
  7. "os"
  8. )
  9. // 代理服务
  10. func main() {
  11. serverUrl := flag.String("server", "127.0.0.1:8080/nginx-ui/api", "agent host and path ,eg:127.0.0.1:8080/nginx-ui/api")
  12. ssl := flag.String("ssl", "N", "use ssl,https or wss,Y or N")
  13. token := flag.String("token", "", "token")
  14. flag.Parse()
  15. envUrl := os.Getenv("SERVER_URL")
  16. envSSL := os.Getenv("SSL")
  17. envToken := os.Getenv("TOKEN")
  18. if len(envUrl) > 0 {
  19. serverUrl = &envUrl
  20. }
  21. if len(envSSL) > 0 {
  22. ssl = &envSSL
  23. }
  24. if len(envToken) > 0 {
  25. token = &envToken
  26. }
  27. log.Printf("agent server url: %s", *serverUrl)
  28. c := agent.NewAgent(*serverUrl, *ssl, *token)
  29. c.SetMessageHandler(models.NginxUpdateType, agent.OnNginxUpdated)
  30. c.SetMessageHandler(models.AgentCmdType, agent.OnCMD)
  31. c.SetMessageHandler(models.SendFileType, agent.OnSendFile)
  32. c.SetMessageHandler(models.ServerConnected, agent.OnServerConnected)
  33. err := c.Run()
  34. if err != nil {
  35. log.Fatal(err)
  36. }
  37. }