summaryrefslogtreecommitdiff
path: root/helper/darwin.go
diff options
context:
space:
mode:
Diffstat (limited to 'helper/darwin.go')
-rw-r--r--helper/darwin.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/helper/darwin.go b/helper/darwin.go
index 48caaa4..733eaf1 100644
--- a/helper/darwin.go
+++ b/helper/darwin.go
@@ -34,6 +34,8 @@ import (
"os/exec"
"path"
"strings"
+
+ "github.com/sevlyar/go-daemon"
)
const (
@@ -48,6 +50,28 @@ const (
pfctl = "/sbin/pfctl"
)
+func daemonize() {
+ cntxt := &daemon.Context{
+ PidFileName: "pid",
+ PidFilePerm: 0644,
+ LogFileName: "bitmask-helper.log",
+ LogFilePerm: 0640,
+ WorkDir: "./",
+ Umask: 027,
+ Args: []string{"[bitmask-helper]"},
+ }
+
+ d, err := cntxt.Reborn()
+ if err != nil {
+ log.Fatal("Unable to run: ", err)
+ }
+ if d != nil {
+ return
+ }
+ defer cntxt.Release()
+ log.Print("bitmask-helper daemon started")
+}
+
func getOpenvpnPath() string {
return openvpnPath
}