main.go 960 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package main
  2. import (
  3. "backup-x/client"
  4. "backup-x/web"
  5. "embed"
  6. "os"
  7. "log"
  8. "net/http"
  9. "time"
  10. )
  11. var defaultPort = "9977"
  12. //go:embed static
  13. var staticEmbededFiles embed.FS
  14. //go:embed favicon.ico
  15. var faviconEmbededFile embed.FS
  16. func main() {
  17. // 启动静态文件服务
  18. http.Handle("/static/", http.FileServer(http.FS(staticEmbededFiles)))
  19. http.Handle("/favicon.ico", http.FileServer(http.FS(faviconEmbededFile)))
  20. http.HandleFunc("/", web.BasicAuth(web.WritingConfig))
  21. http.HandleFunc("/save", web.BasicAuth(web.Save))
  22. http.HandleFunc("/logs", web.BasicAuth(web.Logs))
  23. http.HandleFunc("/webhookTest", web.BasicAuth(web.WebhookTest))
  24. // 运行
  25. go client.DeleteOldBackup()
  26. go client.RunLoop()
  27. if os.Getenv("port") != "" {
  28. defaultPort = os.Getenv("port")
  29. }
  30. err := http.ListenAndServe(":"+defaultPort, nil)
  31. if err != nil {
  32. log.Println("启动端口发生异常, 请检查端口是否被占用", err)
  33. time.Sleep(time.Minute)
  34. }
  35. }