local.go 1002 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package functions
  2. import (
  3. "fmt"
  4. "path/filepath"
  5. "log"
  6. "os"
  7. "io/ioutil"
  8. )
  9. func FileExists(f string) bool {
  10. info, err := os.Stat(f)
  11. if os.IsNotExist(err) {
  12. return false
  13. }
  14. return !info.IsDir()
  15. }
  16. func SetCorefile(domains string) error {
  17. dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
  18. if err != nil {
  19. return err
  20. }
  21. _, err = os.Stat(dir + "/config/dnsconfig")
  22. if os.IsNotExist(err) {
  23. os.Mkdir(dir +"/config/dnsconfig", 744)
  24. } else if err != nil {
  25. fmt.Println("couldnt find or create /config/dnsconfig")
  26. return err
  27. }
  28. corefile := domains + ` {
  29. hosts /root/dnsconfig/netmaker.hosts {
  30. reload 15s
  31. fallthrough
  32. }
  33. forward . 8.8.8.8 8.8.4.4
  34. log
  35. }
  36. `
  37. corebytes := []byte(corefile)
  38. err = ioutil.WriteFile(dir + "/config/dnsconfig/Corefile", corebytes, 0644)
  39. if err != nil {
  40. log.Println(err)
  41. log.Println("")
  42. return err
  43. }
  44. return err
  45. }