-
diff --git a/src/bower_components/apiclient/apiclientcore.js b/src/bower_components/apiclient/apiclientcore.js
index ea4d05d0ab..90a8d83392 100644
--- a/src/bower_components/apiclient/apiclientcore.js
+++ b/src/bower_components/apiclient/apiclientcore.js
@@ -242,7 +242,7 @@ define(["events", "appStorage"], function(events, appStorage) {
var url = serverAddress || this._serverAddress;
if (!url) throw new Error("serverAddress is yet not set");
var lowered = url.toLowerCase();
- return -1 === lowered.indexOf("/emby") && -1 === lowered.indexOf("/mediabrowser") && (url += "/emby"), "/" !== name.charAt(0) && (url += "/"), url += name, params && (params = paramsToString(params)) && (url += "?" + params), url
+ return "/" !== name.charAt(0) && (url += "/"), url += name, params && (params = paramsToString(params)) && (url += "?" + params), url
}, ApiClient.prototype.fetchWithFailover = function(request, enableReconnection) {
console.log("Requesting " + request.url), request.timeout = 3e4;
var instance = this;
diff --git a/src/bower_components/apiclient/connectionmanager.js b/src/bower_components/apiclient/connectionmanager.js
index 93e9673a46..378b9cdefc 100644
--- a/src/bower_components/apiclient/connectionmanager.js
+++ b/src/bower_components/apiclient/connectionmanager.js
@@ -40,7 +40,7 @@ define(["events", "apiclient", "appStorage"], function(events, apiClientFactory,
}
function getEmbyServerUrl(baseUrl, handler) {
- return baseUrl + "/emby/" + handler
+ return baseUrl + "/" + handler
}
function getFetchPromise(request) {
diff --git a/src/controllers/addserver.js b/src/controllers/addserver.js
index 45fa427420..6d596632b2 100644
--- a/src/controllers/addserver.js
+++ b/src/controllers/addserver.js
@@ -6,7 +6,8 @@ define(["appSettings", "loading", "browser", "emby-button"], function(appSetting
switch (result.State) {
case "SignedIn":
var apiClient = result.ApiClient;
- Dashboard.onServerChanged(apiClient.getCurrentUserId(), apiClient.accessToken(), apiClient), Dashboard.navigate("home.html");
+ Dashboard.onServerChanged(apiClient.getCurrentUserId(), apiClient.accessToken(), apiClient);
+ Dashboard.navigate("home.html");
break;
case "ServerSignIn":
Dashboard.navigate("login.html?serverid=" + result.Servers[0].Id, false, "none");
@@ -27,14 +28,9 @@ define(["appSettings", "loading", "browser", "emby-button"], function(appSetting
}
}
- function submitManualServer(page) {
- var host = page.querySelector("#txtServerHost").value;
- var port = page.querySelector("#txtServerPort").value;
- if (port) {
- host += ":" + port;
- }
-
+ function submitServer(page) {
loading.show();
+ var host = page.querySelector("#txtServerHost").value;
ConnectionManager.connectToAddress(host, {
enableAutoLogin: appSettings.enableAutoLogin()
}).then(function(result) {
@@ -47,11 +43,11 @@ define(["appSettings", "loading", "browser", "emby-button"], function(appSetting
}
return function(view, params) {
- view.querySelector(".manualServerForm").addEventListener("submit", onManualServerSubmit);
- view.querySelector(".btnCancelManualServer").addEventListener("click", goBack);
+ view.querySelector(".addServerForm").addEventListener("submit", onServerSubmit);
+ view.querySelector(".btnCancel").addEventListener("click", goBack);
- function onManualServerSubmit(e) {
- submitManualServer(view);
+ function onServerSubmit(e) {
+ submitServer(view);
e.preventDefault();
return false;
}
diff --git a/src/controllers/networking.js b/src/controllers/networking.js
index c283cf44d1..c0367a8136 100644
--- a/src/controllers/networking.js
+++ b/src/controllers/networking.js
@@ -2,25 +2,62 @@ define(["loading", "libraryMenu", "globalize", "emby-checkbox", "emby-select"],
"use strict";
function onSubmit(e) {
- var form = this,
- localAddress = form.querySelector("#txtLocalAddress").value,
- enableUpnp = form.querySelector("#chkEnableUpnp").checked;
+ var form = this;
+ var localAddress = form.querySelector("#txtLocalAddress").value;
+ var enableUpnp = form.querySelector("#chkEnableUpnp").checked;
confirmSelections(localAddress, enableUpnp, function() {
var validationResult = getValidationAlert(form);
if (validationResult) return void alertText(validationResult);
validateHttps(form).then(function() {
- loading.show(), ApiClient.getServerConfiguration().then(function(config) {
+ loading.show();
+ ApiClient.getServerConfiguration().then(function(config) {
config.LocalNetworkSubnets = form.querySelector("#txtLanNetworks").value.split(",").map(function(s) {
return s.trim()
}).filter(function(s) {
return s.length > 0
- }), config.RemoteIPFilter = form.querySelector("#txtExternalAddressFilter").value.split(",").map(function(s) {
+ });
+
+ config.RemoteIPFilter = form.querySelector("#txtExternalAddressFilter").value.split(",").map(function(s) {
return s.trim()
}).filter(function(s) {
return s.length > 0
- }), config.IsRemoteIPFilterBlacklist = "blacklist" === form.querySelector("#selectExternalAddressFilterMode").value, config.PublicPort = form.querySelector("#txtPublicPort").value, config.PublicHttpsPort = form.querySelector("#txtPublicHttpsPort").value;
+ });
+
+ config.IsRemoteIPFilterBlacklist = "blacklist" === form.querySelector("#selectExternalAddressFilterMode").value;
+ config.PublicPort = form.querySelector("#txtPublicPort").value;
+ config.PublicHttpsPort = form.querySelector("#txtPublicHttpsPort").value;
var httpsMode = form.querySelector("#selectHttpsMode").value;
- "proxy" === httpsMode ? (config.EnableHttps = !0, config.RequireHttps = !1, config.IsBehindProxy = !0) : "required" === httpsMode ? (config.EnableHttps = !0, config.RequireHttps = !0, config.IsBehindProxy = !1) : "enabled" === httpsMode ? (config.EnableHttps = !0, config.RequireHttps = !1, config.IsBehindProxy = !1) : (config.EnableHttps = !1, config.RequireHttps = !1, config.IsBehindProxy = !1), config.HttpsPortNumber = form.querySelector("#txtHttpsPort").value, config.HttpServerPortNumber = form.querySelector("#txtPortNumber").value, config.EnableUPnP = enableUpnp, config.WanDdns = form.querySelector("#txtDdns").value, config.EnableRemoteAccess = form.querySelector("#chkRemoteAccess").checked, config.CertificatePath = form.querySelector("#txtCertificatePath").value || null, config.CertificatePassword = form.querySelector("#txtCertPassword").value || null, config.LocalNetworkAddresses = localAddress ? [localAddress] : [], ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult, Dashboard.processErrorResponse)
+ switch (httpsMode) {
+ case "proxy":
+ config.EnableHttps = true;
+ config.RequireHttps = false;
+ config.IsBehindProxy = true;
+ break;
+ case "required":
+ config.EnableHttps = true;
+ config.RequireHttps = true;
+ config.IsBehindProxy = false;
+ break;
+ case "enabled":
+ config.EnableHttps = true;
+ config.RequireHttps = false;
+ config.IsBehindProxy = false;
+ break;
+ default:
+ config.EnableHttps = false;
+ config.RequireHttps = false;
+ config.IsBehindProxy = false;
+ }
+ config.HttpsPortNumber = form.querySelector("#txtHttpsPort").value;
+ config.HttpServerPortNumber = form.querySelector("#txtPortNumber").value;
+ config.EnableUPnP = enableUpnp;
+ config.WanDdns = form.querySelector("#txtDdns").value;
+ config.BaseUrl = form.querySelector("#txtBaseUrl").value;
+ config.EnableRemoteAccess = form.querySelector("#chkRemoteAccess").checked;
+ config.CertificatePath = form.querySelector("#txtCertificatePath").value || null;
+ config.CertificatePassword = form.querySelector("#txtCertPassword").value || null;
+ config.LocalNetworkAddresses = localAddress ? [localAddress] : [];
+ ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult, Dashboard.processErrorResponse);
})
})
}), e.preventDefault()
@@ -63,11 +100,26 @@ define(["loading", "libraryMenu", "globalize", "emby-checkbox", "emby-select"],
return function(view, params) {
function loadPage(page, config) {
- page.querySelector("#txtPortNumber").value = config.HttpServerPortNumber, page.querySelector("#txtPublicPort").value = config.PublicPort, page.querySelector("#txtPublicHttpsPort").value = config.PublicHttpsPort, page.querySelector("#txtLocalAddress").value = config.LocalNetworkAddresses[0] || "", page.querySelector("#txtLanNetworks").value = (config.LocalNetworkSubnets || []).join(", "), page.querySelector("#txtExternalAddressFilter").value = (config.RemoteIPFilter || []).join(", "), page.querySelector("#selectExternalAddressFilterMode").value = config.IsRemoteIPFilterBlacklist ? "blacklist" : "whitelist", page.querySelector("#chkRemoteAccess").checked = null == config.EnableRemoteAccess || config.EnableRemoteAccess;
+ page.querySelector("#txtPortNumber").value = config.HttpServerPortNumber;
+ page.querySelector("#txtPublicPort").value = config.PublicPort;
+ page.querySelector("#txtPublicHttpsPort").value = config.PublicHttpsPort;
+ page.querySelector("#txtLocalAddress").value = config.LocalNetworkAddresses[0] || "";
+ page.querySelector("#txtLanNetworks").value = (config.LocalNetworkSubnets || []).join(", ");
+ page.querySelector("#txtExternalAddressFilter").value = (config.RemoteIPFilter || []).join(", ");
+ page.querySelector("#selectExternalAddressFilterMode").value = config.IsRemoteIPFilterBlacklist ? "blacklist" : "whitelist";
+ page.querySelector("#chkRemoteAccess").checked = null == config.EnableRemoteAccess || config.EnableRemoteAccess;
var selectHttpsMode = page.querySelector("#selectHttpsMode");
- config.IsBehindProxy ? selectHttpsMode.value = "proxy" : config.RequireHttps ? selectHttpsMode.value = "required" : config.EnableHttps ? selectHttpsMode.value = "enabled" : selectHttpsMode.value = "disabled", page.querySelector("#txtHttpsPort").value = config.HttpsPortNumber, page.querySelector("#txtDdns").value = config.WanDdns || "";
+ config.IsBehindProxy ? selectHttpsMode.value = "proxy" : config.RequireHttps ? selectHttpsMode.value = "required" : config.EnableHttps ? selectHttpsMode.value = "enabled" : selectHttpsMode.value = "disabled";
+ page.querySelector("#txtHttpsPort").value = config.HttpsPortNumber;
+ page.querySelector("#txtDdns").value = config.WanDdns || "";
+ page.querySelector("#txtBaseUrl").value = config.BaseUrl || "";
var txtCertificatePath = page.querySelector("#txtCertificatePath");
- txtCertificatePath.value = config.CertificatePath || "", page.querySelector("#txtCertPassword").value = config.CertificatePassword || "", page.querySelector("#chkEnableUpnp").checked = config.EnableUPnP, onCertPathChange.call(txtCertificatePath), triggerChange(page.querySelector("#chkRemoteAccess")), loading.hide()
+ txtCertificatePath.value = config.CertificatePath || "";
+ page.querySelector("#txtCertPassword").value = config.CertificatePassword || "";
+ page.querySelector("#chkEnableUpnp").checked = config.EnableUPnP;
+ onCertPathChange.call(txtCertificatePath);
+ triggerChange(page.querySelector("#chkRemoteAccess"));
+ loading.hide();
}
function onCertPathChange() {
diff --git a/src/networking.html b/src/networking.html
index 4ea44cee24..e55840482c 100644
--- a/src/networking.html
+++ b/src/networking.html
@@ -56,6 +56,11 @@
${LabelExternalDDNSHelp}