diff --git a/Caddyfile b/Caddyfile index 19549fc..f2bff27 100644 --- a/Caddyfile +++ b/Caddyfile @@ -1,5 +1,21 @@ - www.j.de { + www.jpmatz.de { + proxy link1:80 link/1 + tls dfasfasfsafdsafsd + } + www.jpmatz.de { + proxy link1:80 link/1 + tls dfasfasfsafdsafsd + } + www.jpmatz.de { + proxy link1:80 link/1 + tls dfasfasfsafdsafsd + } + www.jpmatz.de { + proxy link1:80 link/1 + tls dfasfasfsafdsafsd + } + www.jpmatz.de { proxy link1:80 link/1 tls dfasfasfsafdsafsd } \ No newline at end of file diff --git a/main.go b/main.go index 0b48451..ce49e75 100644 --- a/main.go +++ b/main.go @@ -3,7 +3,8 @@ package main import ( "bytes" "encoding/json" - "exec" + "os/exec" + "fmt" "io/ioutil" "log" @@ -54,10 +55,10 @@ func load() { func save() { jsonString, _ := json.Marshal(sites) ioutil.WriteFile(saveFile, jsonString, 0777) + saveCaddy() } func saveCaddy() { - //var caddyFileString = "" tmpl, _ := template.New("Caddy").Parse(` {{.Domain}} { proxy {{.Source}} {{.Target}} @@ -65,43 +66,44 @@ func saveCaddy() { }`) buf := &bytes.Buffer{} - buf2 := &bytes.Buffer{} - for _, value := range sites { tmpl.Execute(buf, value) - buf2.WriteString(buf.String()) } - fmt.Println("String: ", buf2.String()) + + fmt.Println("String: ", buf.String()) f, err := os.OpenFile(saveCaddyFile, os.O_CREATE|os.O_WRONLY, 0777) if err != nil { log.Fatal(err) } + //clear file before writing + f.Truncate(0) + f.Seek(0, 0) // do the actual work - f.WriteString(buf2.String()) + f.WriteString(buf.String()) } func startCaddy() { cmd := exec.Command("nohup caddy -agree &") stdout, err := cmd.Output() if err != nil { - Println(err.Error()) + fmt.Println(err.Error()) return } - Print(string(stdout)) + fmt.Print(string(stdout)) } func restartCaddy() { cmd := exec.Command("pkill -USR1 caddy") stdout, err := cmd.Output() if err != nil { - Println(err.Error()) + fmt.Println(err.Error()) return } - Print(string(stdout)) + fmt.Print(string(stdout)) } // site controllers @@ -124,9 +126,8 @@ func updateSite(w http.ResponseWriter, r *http.Request) { delete(sites, id) var site Site _ = json.NewDecoder(r.Body).Decode(&site) - newID := getBiggest(sites) + 1 - site.Id = newID - sites[newID] = site + fmt.Print(site) + sites[id] = site json.NewEncoder(w).Encode(site) save() } diff --git a/sites.json b/sites.json index ca56cf2..f7774f1 100644 --- a/sites.json +++ b/sites.json @@ -1 +1 @@ -{"1":{"id":1,"title":"titrle 1","description":"dewsc1","domain":"www.j.de","source":"link1:80","target":"link/1","email":"dfasfasfsafdsafsd"}} \ No newline at end of file +{"1":{"id":1,"title":"title 2","description":"desc 3452345235345","domain":"www.jpmatz.de","source":"link1:80","target":"link/1","email":"dfasfasfsafdsafsd"},"2":{"id":2,"title":"title 2","description":"desc 3452345235345","domain":"www.jpmatz.de","source":"link1:80","target":"link/1","email":"dfasfasfsafdsafsd"},"3":{"id":3,"title":"title 2","description":"desc 3452345235345","domain":"www.jpmatz.de","source":"link1:80","target":"link/1","email":"dfasfasfsafdsafsd"},"4":{"id":4,"title":"title 2","description":"desc 3452345235345","domain":"www.jpmatz.de","source":"link1:80","target":"link/1","email":"dfasfasfsafdsafsd"},"5":{"id":5,"title":"title 2","description":"desc 3452345235345","domain":"www.jpmatz.de","source":"link1:80","target":"link/1","email":"dfasfasfsafdsafsd"}} \ No newline at end of file