2
0

local.go 1.2 KB

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