Browse Source

refactor: relocate actual templates from bindata to code itself

Mustafa Arici 5 years ago
parent
commit
5546a03af6
6 changed files with 79 additions and 83 deletions
  1. 0 14
      template/ccd.file.tmpl
  2. 0 24
      template/client.ovpn.tmpl
  3. 0 24
      template/dh4096.pem.tmpl
  4. 0 0
      template/iptables.tmpl
  5. 75 0
      templates.go
  6. 4 21
      vpn.go

+ 0 - 14
template/ccd.file.tmpl

@@ -1,14 +0,0 @@
-ifconfig-push {{ .IP }} {{ .NetMask }}
-
-{{if .RedirectGW }}
-push "redirect-gateway def1 bypass-dhcp"
-{{ end }}
-
-{{range .Servernets}}
-push "route {{index . 0}} {{index . 1}}"
-{{ end }}
-
-
-{{range .Routes}}
-push "route {{index . 0}} {{index . 1}} {{index . 2}}"
-{{ end }}

+ 0 - 24
template/client.ovpn.tmpl

@@ -1,24 +0,0 @@
-# this ovpn file is automatically generated by [OVPM](https://github.com/cad/ovpm)
-
-client
-dev tun
-server-poll-timeout 4
-proto {{ .Proto }}
-remote {{ .Hostname }} {{ .Port }}
-resolv-retry infinite
-ns-cert-type server
-cipher AES-128-CBC
-nobind
-keepalive {{ .KeepalivePeriod }} {{ .KeepaliveTimeout }}
-persist-key
-persist-tun
-{{ if .UseLZO }}comp-lzo{{ end }}
-verb 3
-auth-nocache
-
-<ca>
-{{ .CA }}</ca>
-<cert>
-{{ .Cert }}</cert>
-<key>
-{{ .Key }}</key>

+ 0 - 24
template/dh4096.pem.tmpl

@@ -1,24 +0,0 @@
------BEGIN DH PARAMETERS-----
-MIIEDQKCAgEAkeaoNKpzWIU4+8hJUfFeHJJki7lzxK9lVJzoT1O3vRD1pv1M0jm4
-d372rq7crH9lolgi0VydQagf+831JZJ7m9/PYfYRnU2bf53j4I8O8CgFBCjWLBgc
-dzPG7I4NGAc1YHV3R+Guh8bFgOvcfiWw4nEMNjkquHcZ7vivEfy5h2OGmbtqkrkQ
-6IV1uFGagwvQzIta3sxHL2r8Xxq3iGoXnW6azGcc6Zv+0p0gZWSkobu2GUdaIsH6
-jum//TZvouwkDEh60utF5wPwoqMye9ahUOexz+7tI7ue1/lre+hLaUWQigzEe56b
-fR5WUZRhwNg9zTngpFTLXiAI39J8xHbUid3kv/CSDPCq6XhUMWyCyLBsSSdc1Ijq
-pR675BBqLwSo4oON/o1TgMYD3/3xSakXSULvSODYlLdnHniL8Kh+B+2egAZeayUb
-pqV6lFUXFo1XjklWQscq2gwuKvw7XCd0PnYad0rxLVb/aLyYKzv4crL5RRs/xOcf
-O2D3/o4ld3nWQ5iB5iH47CGAlnaR/0jD5gGnOF8mgNGx64PMB+W5QekzZ/aams9K
-M0ctXH7vVdQvc+r86KDt/IQXopuooX1K4kmhqUjkWJrjt0UvVRp2skIYSNEeljA0
-NLeC/k0YB0rNWZx3URg3XS/v0oJO+Pt/O5U2iuopHZp2uWh9LeQ+qisCggIAJtmv
-4H727O/aDcty1c8K32pKGym+LGBxx9nuuMTjpa5N/Ww/wtHcQWKVo1HdknGoBOXc
-9a6I7574fJFuwEzQe4b44VYk+t+9pLxsBT/r36Qi1eFyrYgMhoiLgjfgJ1tarXE9
-HJ6jLJm/DIKoxwu5XRHUw1YJ7KDjqw1IZGeMEWhUxsyvPyGviyCiHPbmrvNJzJnP
-7ig1nMbbHi/Al+P9K1forRA5+VOf5fvTPtq6mxoQ585cCrLY3EqQe+fPlUzcBL/b
-fMVnw90b7sQVI9EEXxpp52uIY9xtTzsfaK3Gv3pmTeFEecyda2/Ow8oGYzobn5SA
-O9xEpc2mNUlONT4thBPh/3NYPGZnIiDYN8vHjKiSnYcYRsbWpxvTEZRNEkI6h5dV
-83EvsNMOoG8duJQhluQxka0OhFg0UTGhec11Xs0iTti8CvnOpKqyg2vXlOn0I94P
-IVcAwG0ppLn8Py3sBrYO5HF5pStopEPTceylCSkkOT31lVKEAu4TMBrEZh9x2nIV
-AHGxQVTkeqx8u7k9Hg02tX9Hm6w8aFF7WCPLJJLe+MWHlOtp4C6ep/PFnc6DESo9
-gWCAPLIM7tcb9iSSWBmugSkqVolAgLbX/T95Sxnvn4cwchgtgsoOV2lNUt89B8kf
-YtMGCwfzKB0Ws3SW31ayu9jzDgyIr+isjqk1a7MCAgEA
------END DH PARAMETERS-----

+ 0 - 0
template/iptables.tmpl


+ 75 - 0
template/server.conf.tmpl → templates.go

@@ -1,3 +1,77 @@
+package ovpm
+
+const ccdFileTemplate = `
+ifconfig-push {{ .IP }} {{ .NetMask }}
+
+{{if .RedirectGW }}
+push "redirect-gateway def1 bypass-dhcp"
+{{ end }}
+
+{{range .Servernets}}
+push "route {{index . 0}} {{index . 1}}"
+{{ end }}
+
+
+{{range .Routes}}
+push "route {{index . 0}} {{index . 1}} {{index . 2}}"
+{{ end }}
+`
+
+const clientOvpnTemplate = `
+# this ovpn file is automatically generated by [OVPM](https://github.com/cad/ovpm)
+
+client
+dev tun
+server-poll-timeout 4
+proto {{ .Proto }}
+remote {{ .Hostname }} {{ .Port }}
+resolv-retry infinite
+ns-cert-type server
+cipher AES-128-CBC
+nobind
+keepalive {{ .KeepalivePeriod }} {{ .KeepaliveTimeout }}
+persist-key
+persist-tun
+{{ if .UseLZO }}comp-lzo{{ end }}
+verb 3
+auth-nocache
+
+<ca>
+{{ .CA }}</ca>
+<cert>
+{{ .Cert }}</cert>
+<key>
+{{ .Key }}</key>
+`
+
+const dh4096PemTemplate = `
+-----BEGIN DH PARAMETERS-----
+MIIEDQKCAgEAkeaoNKpzWIU4+8hJUfFeHJJki7lzxK9lVJzoT1O3vRD1pv1M0jm4
+d372rq7crH9lolgi0VydQagf+831JZJ7m9/PYfYRnU2bf53j4I8O8CgFBCjWLBgc
+dzPG7I4NGAc1YHV3R+Guh8bFgOvcfiWw4nEMNjkquHcZ7vivEfy5h2OGmbtqkrkQ
+6IV1uFGagwvQzIta3sxHL2r8Xxq3iGoXnW6azGcc6Zv+0p0gZWSkobu2GUdaIsH6
+jum//TZvouwkDEh60utF5wPwoqMye9ahUOexz+7tI7ue1/lre+hLaUWQigzEe56b
+fR5WUZRhwNg9zTngpFTLXiAI39J8xHbUid3kv/CSDPCq6XhUMWyCyLBsSSdc1Ijq
+pR675BBqLwSo4oON/o1TgMYD3/3xSakXSULvSODYlLdnHniL8Kh+B+2egAZeayUb
+pqV6lFUXFo1XjklWQscq2gwuKvw7XCd0PnYad0rxLVb/aLyYKzv4crL5RRs/xOcf
+O2D3/o4ld3nWQ5iB5iH47CGAlnaR/0jD5gGnOF8mgNGx64PMB+W5QekzZ/aams9K
+M0ctXH7vVdQvc+r86KDt/IQXopuooX1K4kmhqUjkWJrjt0UvVRp2skIYSNEeljA0
+NLeC/k0YB0rNWZx3URg3XS/v0oJO+Pt/O5U2iuopHZp2uWh9LeQ+qisCggIAJtmv
+4H727O/aDcty1c8K32pKGym+LGBxx9nuuMTjpa5N/Ww/wtHcQWKVo1HdknGoBOXc
+9a6I7574fJFuwEzQe4b44VYk+t+9pLxsBT/r36Qi1eFyrYgMhoiLgjfgJ1tarXE9
+HJ6jLJm/DIKoxwu5XRHUw1YJ7KDjqw1IZGeMEWhUxsyvPyGviyCiHPbmrvNJzJnP
+7ig1nMbbHi/Al+P9K1forRA5+VOf5fvTPtq6mxoQ585cCrLY3EqQe+fPlUzcBL/b
+fMVnw90b7sQVI9EEXxpp52uIY9xtTzsfaK3Gv3pmTeFEecyda2/Ow8oGYzobn5SA
+O9xEpc2mNUlONT4thBPh/3NYPGZnIiDYN8vHjKiSnYcYRsbWpxvTEZRNEkI6h5dV
+83EvsNMOoG8duJQhluQxka0OhFg0UTGhec11Xs0iTti8CvnOpKqyg2vXlOn0I94P
+IVcAwG0ppLn8Py3sBrYO5HF5pStopEPTceylCSkkOT31lVKEAu4TMBrEZh9x2nIV
+AHGxQVTkeqx8u7k9Hg02tX9Hm6w8aFF7WCPLJJLe+MWHlOtp4C6ep/PFnc6DESo9
+gWCAPLIM7tcb9iSSWBmugSkqVolAgLbX/T95Sxnvn4cwchgtgsoOV2lNUt89B8kf
+YtMGCwfzKB0Ws3SW31ayu9jzDgyIr+isjqk1a7MCAgEA
+-----END DH PARAMETERS-----
+`
+
+const serverConfTemplate = `
 ;port 1194
 port {{ .Port }}
 
@@ -289,3 +363,4 @@ verb 3
 # sequential messages of the same message
 # category will be output to the log.
 ;mute 20
+`

+ 4 - 21
vpn.go

@@ -16,7 +16,6 @@ import (
 	"time"
 
 	"github.com/asaskevich/govalidator"
-	"github.com/cad/ovpm/bindata"
 	"github.com/cad/ovpm/pki"
 	"github.com/cad/ovpm/supervisor"
 	"github.com/coreos/go-iptables/iptables"
@@ -459,12 +458,8 @@ func (svr *Server) DumpsClientConfig(username string) (string, error) {
 		KeepaliveTimeout: svr.GetKeepaliveTimeout(),
 		UseLZO:           svr.IsUseLZO(),
 	}
-	data, err := bindata.Asset("template/client.ovpn.tmpl")
-	if err != nil {
-		return "", err
-	}
 
-	t, err := template.New("client.ovpn").Parse(string(data))
+	t, err := template.New("client.ovpn").Parse(clientOvpnTemplate)
 	if err != nil {
 		return "", fmt.Errorf("can not parse client.ovpn.tmpl template: %s", err)
 	}
@@ -706,12 +701,8 @@ func (svr *Server) emitServerConf() error {
 		KeepaliveTimeout: svr.GetKeepaliveTimeout(),
 		UseLZO:           svr.IsUseLZO(),
 	}
-	data, err := bindata.Asset("template/server.conf.tmpl")
-	if err != nil {
-		return err
-	}
 
-	t, err := template.New("server.conf").Parse(string(data))
+	t, err := template.New("server.conf").Parse(serverConfTemplate)
 	if err != nil {
 		return fmt.Errorf("can not parse server.conf.tmpl template: %s", err)
 	}
@@ -899,11 +890,7 @@ func (svr *Server) emitCCD() error {
 			RedirectGW bool
 		}{IP: user.getIP().String(), NetMask: svr.Mask, Routes: associatedRoutes, Servernets: serverNets, RedirectGW: !user.NoGW}
 
-		data, err := bindata.Asset("template/ccd.file.tmpl")
-		if err != nil {
-			return err
-		}
-		t, err := template.New("ccd.file.tmpl").Parse(string(data))
+		t, err := template.New("ccd.file.tmpl").Parse(ccdFileTemplate)
 		if err != nil {
 			return fmt.Errorf("can not parse ccd.file.tmpl template: %s", err)
 		}
@@ -921,12 +908,8 @@ func (svr *Server) emitCCD() error {
 
 func (svr *Server) emitDHParams() error {
 	var result bytes.Buffer
-	data, err := bindata.Asset("template/dh4096.pem.tmpl")
-	if err != nil {
-		return err
-	}
 
-	t, err := template.New("dh4096.pem.tmpl").Parse(string(data))
+	t, err := template.New("dh4096.pem.tmpl").Parse(dh4096PemTemplate)
 	if err != nil {
 		return fmt.Errorf("can not parse dh4096.pem template: %s", err)
 	}