diff --git a/client/public/assets/apple-touch-icon-180x180.png b/client/public/assets/apple-touch-icon-180x180.png
new file mode 100644
index 00000000..ebc0be50
Binary files /dev/null and b/client/public/assets/apple-touch-icon-180x180.png differ
diff --git a/client/public/favicon.png b/client/public/assets/favicon.png
similarity index 100%
rename from client/public/favicon.png
rename to client/public/assets/favicon.png
diff --git a/client/public/assets/safari-pinned-tab.svg b/client/public/assets/safari-pinned-tab.svg
new file mode 100644
index 00000000..d2cd031d
--- /dev/null
+++ b/client/public/assets/safari-pinned-tab.svg
@@ -0,0 +1,16 @@
+
+
+
diff --git a/client/public/index.html b/client/public/index.html
index 56d4bfda..ecf811ec 100644
--- a/client/public/index.html
+++ b/client/public/index.html
@@ -6,7 +6,9 @@
-
+
+
+
AdGuard Home
diff --git a/client/public/install.html b/client/public/install.html
index 2fd3bb7d..3a09704c 100644
--- a/client/public/install.html
+++ b/client/public/install.html
@@ -5,7 +5,9 @@
-
+
+
+
Setup AdGuard Home
diff --git a/client/public/login.html b/client/public/login.html
index 03179b42..9f06fc03 100644
--- a/client/public/login.html
+++ b/client/public/login.html
@@ -5,7 +5,9 @@
-
+
+
+
Login
diff --git a/client/webpack.common.js b/client/webpack.common.js
index 99b6dbae..f4f0bae4 100644
--- a/client/webpack.common.js
+++ b/client/webpack.common.js
@@ -14,9 +14,10 @@ const ENTRY_LOGIN = path.resolve(RESOURCES_PATH, 'src/login/index.js');
const HTML_PATH = path.resolve(RESOURCES_PATH, 'public/index.html');
const HTML_INSTALL_PATH = path.resolve(RESOURCES_PATH, 'public/install.html');
const HTML_LOGIN_PATH = path.resolve(RESOURCES_PATH, 'public/login.html');
-const FAVICON_PATH = path.resolve(RESOURCES_PATH, 'public/favicon.png');
+const ASSETS_PATH = path.resolve(RESOURCES_PATH, 'public/assets');
const PUBLIC_PATH = path.resolve(__dirname, '../build/static');
+const PUBLIC_ASSETS_PATH = path.resolve(PUBLIC_PATH, 'assets');
const config = {
target: 'web',
@@ -134,7 +135,7 @@ const config = {
filename: '[name].[contenthash].css',
}),
new CopyPlugin([
- { from: FAVICON_PATH, to: PUBLIC_PATH },
+ { from: ASSETS_PATH, to: PUBLIC_ASSETS_PATH },
]),
],
};
diff --git a/home/auth.go b/home/auth.go
index c72ca546..a2d6d5f2 100644
--- a/home/auth.go
+++ b/home/auth.go
@@ -380,11 +380,10 @@ func optionalAuth(handler func(http.ResponseWriter, *http.Request)) func(http.Re
}
}
- } else if r.URL.Path == "/favicon.png" ||
- strings.HasPrefix(r.URL.Path, "/login.") ||
- strings.HasPrefix(r.URL.Path, "/__locales/") {
+ } else if strings.HasPrefix(r.URL.Path, "/assets/") ||
+ strings.HasPrefix(r.URL.Path, "/login.") {
// process as usual
-
+ // no additional auth requirements
} else if Context.auth != nil && Context.auth.AuthRequired() {
// redirect to login page if not authenticated
ok := false
diff --git a/home/control.go b/home/control.go
index 310b9f20..744fc327 100644
--- a/home/control.go
+++ b/home/control.go
@@ -188,7 +188,7 @@ func postInstall(handler func(http.ResponseWriter, *http.Request)) func(http.Res
if Context.firstRun &&
!strings.HasPrefix(r.URL.Path, "/install.") &&
- r.URL.Path != "/favicon.png" {
+ !strings.HasPrefix(r.URL.Path, "/assets/") {
http.Redirect(w, r, "/install.html", http.StatusFound)
return
}