From 35bca0c0f79551e70a99179119170297bb8c4847 Mon Sep 17 00:00:00 2001 From: jr-k Date: Fri, 21 Jun 2024 15:09:20 +0200 Subject: [PATCH] handle reverse proxys --- src/controller/PlayerController.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/controller/PlayerController.py b/src/controller/PlayerController.py index f173010..407afc0 100644 --- a/src/controller/PlayerController.py +++ b/src/controller/PlayerController.py @@ -90,7 +90,7 @@ class PlayerController(ObController): def _get_dynamic_playlist_id(self, playlist_slug_or_id: Optional[str]) -> str: if not playlist_slug_or_id and self._model_store.variable().get_one_by_name('fleet_player_enabled'): node_player = self._model_store.node_player().get_one_by("host = '{}' and enabled = {}".format( - get_safe_remote_addr(request.remote_addr), + get_safe_remote_addr(self.get_remote_addr()), True )) @@ -98,4 +98,10 @@ class PlayerController(ObController): node_player_group = self._model_store.node_player_group().get(node_player.group_id) playlist_slug_or_id = node_player_group.playlist_id return playlist_slug_or_id - \ No newline at end of file + + @staticmethod + def get_remote_addr() -> str: + if request.headers.get('X-Forwarded-For'): + return request.headers['X-Forwarded-For'].split(',')[0].strip() + else: + return request.remote_addr