diff --git a/client/pages/config/index.vue b/client/pages/config/index.vue index 3d030bb32..7083c7890 100644 --- a/client/pages/config/index.vue +++ b/client/pages/config/index.vue @@ -131,26 +131,35 @@
- +

{{ $strings.LabelExample }}: {{ dateExample }}

- +

{{ $strings.LabelExample }}: {{ timeExample }}

- +
-
-

{{ $strings.HeaderSettingsSecurity }}

+ +
@@ -314,27 +323,6 @@ export default { updateServerLanguage(val) { this.updateSettingsKey('language', val) }, - updateCorsOrigins(val) { - const validOrigins = [] - const invalidOrigins = [] - - val.forEach((origin) => { - const trimmedOrigin = origin.trim().toLowerCase() - try { - new URL(trimmedOrigin) - validOrigins.push(trimmedOrigin) - } catch { - invalidOrigins.push(trimmedOrigin) - } - }) - - if (invalidOrigins.length > 0) { - this.$toast.error(this.$strings.ToastInvalidUrls) - } - - this.newServerSettings.allowedOrigins = validOrigins - this.updateSettingsKey('allowedOrigins', validOrigins) - }, updateSettingsKey(key, val) { if (key === 'scannerDisableWatcher') { this.newServerSettings.scannerDisableWatcher = val @@ -364,7 +352,6 @@ export default { initServerSettings() { this.newServerSettings = this.serverSettings ? { ...this.serverSettings } : {} this.newServerSettings.sortingPrefixes = [...(this.newServerSettings.sortingPrefixes || [])] - this.newServerSettings.allowedOrigins = [...(this.newServerSettings.allowedOrigins || [])] this.scannerEnableWatcher = !this.newServerSettings.scannerDisableWatcher this.homepageUseBookshelfView = this.newServerSettings.homeBookshelfView != this.$constants.BookshelfView.DETAIL diff --git a/client/strings/en-us.json b/client/strings/en-us.json index 70ac874d2..f31a8a1df 100644 --- a/client/strings/en-us.json +++ b/client/strings/en-us.json @@ -199,7 +199,6 @@ "HeaderSettingsExperimental": "Experimental Features", "HeaderSettingsGeneral": "General", "HeaderSettingsScanner": "Scanner", - "HeaderSettingsSecurity": "Security", "HeaderSettingsWebClient": "Web Client", "HeaderSleepTimer": "Sleep Timer", "HeaderStatsLargestItems": "Largest Items", @@ -294,7 +293,6 @@ "LabelContinueListening": "Continue Listening", "LabelContinueReading": "Continue Reading", "LabelContinueSeries": "Continue Series", - "LabelCorsAllowed": "Allowed CORS Origins", "LabelCover": "Cover", "LabelCoverImageURL": "Cover Image URL", "LabelCoverProvider": "Cover Provider", @@ -1036,7 +1034,6 @@ "ToastInvalidImageUrl": "Invalid image URL", "ToastInvalidMaxEpisodesToDownload": "Invalid max episodes to download", "ToastInvalidUrl": "Invalid URL", - "ToastInvalidUrls": "One or more URLs are invalid", "ToastItemCoverUpdateSuccess": "Item cover updated", "ToastItemDeletedFailed": "Failed to delete item", "ToastItemDeletedSuccess": "Deleted item", diff --git a/server/Server.js b/server/Server.js index a384b93c4..1a8db4063 100644 --- a/server/Server.js +++ b/server/Server.js @@ -240,8 +240,8 @@ class Server { * Running in development allows cors to allow testing the mobile apps in the browser * or env variable ALLOW_CORS = '1' */ - if (global.AllowCors || Logger.isDev || req.path.match(/\/api\/items\/([a-z0-9-]{36})\/(ebook|cover)(\/[0-9]+)?/) || global.ServerSettings.allowedOrigins?.length) { - const allowedOrigins = ['capacitor://localhost', 'http://localhost', ...(global.ServerSettings.allowedOrigins ? global.ServerSettings.allowedOrigins : [])] + if (global.AllowCors || Logger.isDev || req.path.match(/\/api\/items\/([a-z0-9-]{36})\/(ebook|cover)(\/[0-9]+)?/)) { + const allowedOrigins = ['capacitor://localhost', 'http://localhost'] if (global.AllowCors || Logger.isDev || allowedOrigins.some((o) => o === req.get('origin'))) { res.header('Access-Control-Allow-Origin', req.get('origin')) res.header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, DELETE, OPTIONS') diff --git a/server/objects/settings/ServerSettings.js b/server/objects/settings/ServerSettings.js index a03e17c75..4f0aa97bc 100644 --- a/server/objects/settings/ServerSettings.js +++ b/server/objects/settings/ServerSettings.js @@ -53,7 +53,6 @@ class ServerSettings { this.dateFormat = 'MM/dd/yyyy' this.timeFormat = 'HH:mm' this.language = 'en-us' - this.allowedOrigins = [] this.logLevel = Logger.logLevel @@ -121,7 +120,6 @@ class ServerSettings { this.dateFormat = settings.dateFormat || 'MM/dd/yyyy' this.timeFormat = settings.timeFormat || 'HH:mm' this.language = settings.language || 'en-us' - this.allowedOrigins = settings.allowedOrigins || [] this.logLevel = settings.logLevel || Logger.logLevel this.version = settings.version || null this.buildNumber = settings.buildNumber || 0 // Added v2.4.5 @@ -233,7 +231,6 @@ class ServerSettings { dateFormat: this.dateFormat, timeFormat: this.timeFormat, language: this.language, - allowedOrigins: this.allowedOrigins, logLevel: this.logLevel, version: this.version, buildNumber: this.buildNumber,