summaryrefslogtreecommitdiffstats
path: root/extra/uptime-kuma-push/uptime-kuma-push.go
diff options
context:
space:
mode:
Diffstat (limited to 'extra/uptime-kuma-push/uptime-kuma-push.go')
-rw-r--r--extra/uptime-kuma-push/uptime-kuma-push.go44
1 files changed, 44 insertions, 0 deletions
diff --git a/extra/uptime-kuma-push/uptime-kuma-push.go b/extra/uptime-kuma-push/uptime-kuma-push.go
new file mode 100644
index 0000000..69cd1f8
--- /dev/null
+++ b/extra/uptime-kuma-push/uptime-kuma-push.go
@@ -0,0 +1,44 @@
+package main
+
+import (
+ "fmt"
+ "net/http"
+ os "os"
+ "time"
+)
+
+func main() {
+ if len(os.Args) < 2 {
+ fmt.Fprintln(os.Stderr, "Usage: uptime-kuma-push <url> [<interval>]")
+ os.Exit(1)
+ }
+
+ pushURL := os.Args[1]
+
+ var interval time.Duration
+
+ if len(os.Args) >= 3 {
+ intervalString, err := time.ParseDuration(os.Args[2] + "s")
+ interval = intervalString
+
+ if err != nil {
+ fmt.Fprintln(os.Stderr, "Error: Invalid interval", err)
+ os.Exit(1)
+ }
+
+ } else {
+ interval = 60 * time.Second
+ }
+
+ for {
+ _, err := http.Get(pushURL)
+ if err == nil {
+ fmt.Print("Pushed!")
+ } else {
+ fmt.Print("Error: ", err)
+ }
+
+ fmt.Println(" Sleeping for", interval)
+ time.Sleep(interval)
+ }
+}