Procházet zdrojové kódy

feat(webui): ensure assets are fetched from the OVPM HTTP server only

Previously we were fetching the necessary webui libraries such as bootstrap
and mui css, from the CDN for the sake of bandwidth and round-trip time.

But now we have decided to serve these assets from the OVPM server itself for
better integrity and protection against
information leaks such as IP address of the user agent to the 3rd party CDN
services.

Closes #65
Mustafa Arici před 7 roky
rodič
revize
34fe513f89

+ 7 - 7
bindata/bindata.go

@@ -93,7 +93,7 @@ func templateAuthSwaggerJson() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/auth.swagger.json", size: 2854, mode: os.FileMode(420), modTime: time.Unix(1522842388, 0)}
+	info := bindataFileInfo{name: "template/auth.swagger.json", size: 2854, mode: os.FileMode(420), modTime: time.Unix(1522853267, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }
@@ -113,7 +113,7 @@ func templateBundleJs() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/bundle.js", size: 559674, mode: os.FileMode(420), modTime: time.Unix(1522842400, 0)}
+	info := bindataFileInfo{name: "template/bundle.js", size: 559674, mode: os.FileMode(420), modTime: time.Unix(1522853280, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }
@@ -178,7 +178,7 @@ func templateDh4096PemTmpl() (*asset, error) {
 	return a, nil
 }
 
-var _templateIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x92\xcb\xae\xd3\x30\x10\x86\xf7\x79\x0a\x33\x6b\x12\x73\xa8\x90\x00\xd9\xd9\x70\xd9\xa1\x76\x51\x90\x58\xba\xf6\x40\xa6\xf8\x12\xd9\x93\xb4\x7d\x7b\x64\x07\xb5\x12\x48\x9c\x6c\x32\xb7\xff\xfb\x47\xb6\xd5\x8b\x8f\xfb\x0f\xc7\xef\x87\x4f\x62\xe2\xe0\xc7\x4e\xd5\x9f\xf0\x26\xfe\xd4\x80\x11\x6a\x01\x8d\x1b\x3b\x21\x54\x40\x36\xc2\x4e\x26\x17\x64\x0d\x5f\x8f\x9f\xfb\xb7\xd0\x1a\x4c\xec\x71\xdc\x7f\x3b\x7c\x51\x72\x8b\xef\xe3\xd1\x04\xd4\xb0\x12\x5e\xe6\x94\x19\x84\x4d\x91\x31\xb2\x86\x0b\x39\x9e\xb4\xc3\x95\x2c\xf6\x2d\x79\x29\x28\x12\x93\xf1\x7d\xb1\xc6\xa3\x7e\xda\xe0\x9e\xe2\x2f\x91\xd1\x6b\x28\x7c\xf3\x58\x26\x44\x06\xc1\xb7\x19\x35\x30\x5e\x59\xda\x52\x40\x4c\x19\x7f\x68\x98\x98\xe7\xf2\x5e\xca\x60\xae\xd6\xc5\xe1\x94\x12\x17\xce\x66\xae\x89\x4d\x41\xde\x0b\x72\x37\xec\x86\xa7\x2a\x7d\xd4\x86\x40\x71\xa8\xb0\x87\xed\x46\x95\xb2\xea\xc3\x42\xb6\x94\x86\x09\x0b\xf5\xaf\x86\x77\xc3\xeb\x37\x8d\x10\x16\xba\x6b\x9f\xdf\x54\x36\x7c\xb1\x99\x66\x16\x25\xdb\xff\xf3\xcf\x0f\xfc\xb9\xc0\xa8\xe4\x26\x1c\x3b\x25\xb7\x7b\x51\xa7\xe4\x6e\x0d\xe9\x68\x15\xd6\x9b\x52\x34\x54\x40\x3d\x69\x43\x11\x33\x8c\x5d\x27\xda\xd7\x46\xc8\x69\xc8\x29\x71\x85\x39\x5a\x5b\xf3\x4f\xf4\xf7\x5e\xa7\x25\x3a\x8f\xff\x18\x6f\x8e\x4a\x6e\x0f\xe6\x77\x00\x00\x00\xff\xff\xb8\x2a\x09\x7f\x41\x02\x00\x00")
+var _templateIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x91\x3f\x4f\xc3\x30\x10\xc5\xf7\x7c\x8a\xe3\x66\x52\x8b\x8d\xc1\xce\xc2\x9f\x0d\xb5\x43\x41\x62\x74\xed\x83\x5c\x71\xec\xc8\xbe\xa6\xf4\xdb\xa3\x38\xa8\x45\x30\xe0\xc5\xcf\x7e\xcf\xbf\x27\x9d\xf5\xd5\xfd\xfa\x6e\xfb\xba\x79\x80\x5e\x86\xd0\x35\x7a\xde\x20\xd8\xf8\x6e\x90\x22\xce\x17\x64\x7d\xd7\x00\xe8\x81\xc4\x82\xeb\x6d\x2e\x24\x06\x9f\xb7\x8f\xed\x2d\x56\x43\x58\x02\x75\xeb\x97\xcd\x93\x56\x8b\x3e\xc7\xa3\x1d\xc8\xe0\xc4\x74\x1c\x53\x16\x04\x97\xa2\x50\x14\x83\x47\xf6\xd2\x1b\x4f\x13\x3b\x6a\xeb\xe1\x1a\x38\xb2\xb0\x0d\x6d\x71\x36\x90\xb9\x59\xe0\x81\xe3\x07\x64\x0a\x06\x8b\x9c\x02\x95\x9e\x48\x10\xe4\x34\x92\x41\xa1\x4f\x51\xae\x14\x84\x3e\xd3\x9b\xc1\x59\xab\x5d\x4a\x52\x24\xdb\x71\x35\x70\x5c\xcd\xee\x85\xf3\x23\x36\x1c\xf8\x1c\xf8\x9f\xaf\x2a\xa3\xb8\xcc\xa3\x40\xc9\xce\xa0\xda\x5f\x18\xfb\x82\x9d\x56\x8b\xdb\x35\x5a\x2d\x23\xd3\xbb\xe4\x4f\xf5\x9d\xe7\x09\x5c\xb0\xa5\x18\x1c\x0e\xdc\xce\x43\xb0\x1c\x29\x63\xd7\x34\x50\x57\x8d\xb0\x37\x98\x53\x92\x19\xe6\x79\xaa\xe6\xb7\xfa\x5d\xbe\x3b\x44\x1f\xe8\x4f\xf1\xd2\xa8\xd5\xf2\x97\x5f\x01\x00\x00\xff\xff\x12\xc8\xdc\xf3\xdc\x01\x00\x00")
 
 func templateIndexHtmlBytes() ([]byte, error) {
 	return bindataRead(
@@ -193,7 +193,7 @@ func templateIndexHtml() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/index.html", size: 577, mode: os.FileMode(420), modTime: time.Unix(1522842400, 0)}
+	info := bindataFileInfo{name: "template/index.html", size: 476, mode: os.FileMode(420), modTime: time.Unix(1522853280, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }
@@ -233,7 +233,7 @@ func templateNetworkSwaggerJson() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/network.swagger.json", size: 6669, mode: os.FileMode(420), modTime: time.Unix(1522842388, 0)}
+	info := bindataFileInfo{name: "template/network.swagger.json", size: 6669, mode: os.FileMode(420), modTime: time.Unix(1522853267, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }
@@ -273,7 +273,7 @@ func templateUserSwaggerJson() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/user.swagger.json", size: 6907, mode: os.FileMode(420), modTime: time.Unix(1522842388, 0)}
+	info := bindataFileInfo{name: "template/user.swagger.json", size: 6907, mode: os.FileMode(420), modTime: time.Unix(1522853267, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }
@@ -293,7 +293,7 @@ func templateVpnSwaggerJson() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/vpn.swagger.json", size: 3732, mode: os.FileMode(420), modTime: time.Unix(1522842388, 0)}
+	info := bindataFileInfo{name: "template/vpn.swagger.json", size: 3732, mode: os.FileMode(420), modTime: time.Unix(1522853267, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }

+ 3 - 3
template/index.html

@@ -4,9 +4,9 @@
   <meta charset="UTF-8">
   <title>OVPM</title>
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
-  <link href="//cdn.muicss.com/mui-0.9.25/css/mui.min.css" rel="stylesheet" type="text/css" />
-  <script src="//cdn.muicss.com/mui-0.9.25/js/mui.min.js"></script>
+  <link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css">
+  <link href="/css/mui.min.css" rel="stylesheet" type="text/css" />
+  <script src="/js/mui.min.js"></script>
 </head>
 <body>
   <div class="mui-container">

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 4 - 0
webui/ovpm/public/css/bootstrap.min.css


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
webui/ovpm/public/css/mui.min.css


binární
webui/ovpm/public/fonts/glyphicons-halflings-regular.woff


+ 3 - 3
webui/ovpm/public/index.html

@@ -4,9 +4,9 @@
   <meta charset="UTF-8">
   <title>OVPM</title>
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
-  <link href="//cdn.muicss.com/mui-0.9.25/css/mui.min.css" rel="stylesheet" type="text/css" />
-  <script src="//cdn.muicss.com/mui-0.9.25/js/mui.min.js"></script>
+  <link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css">
+  <link href="/css/mui.min.css" rel="stylesheet" type="text/css" />
+  <script src="/js/mui.min.js"></script>
 </head>
 <body>
   <div class="mui-container">

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
webui/ovpm/public/js/mui.min.js


Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů