From 3d5890d821651b86b8e7d7296ce0ce27a81e66c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Skyler=20M=C3=A4ntysaari?= Date: Wed, 8 Feb 2023 12:58:18 +0200 Subject: [PATCH 1/3] Ability to pass own user agent to the scraper. --- .env.example | 2 ++ app/Controllers/ProxyController.php | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index 9645185..8f50011 100644 --- a/.env.example +++ b/.env.example @@ -20,3 +20,5 @@ # PROXY_PORT=8080 # PROXY_USERNAME=username # PROXY_PASSWORD=password + +# USER_AGENT="Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/109.0 Firefox/109.0" diff --git a/app/Controllers/ProxyController.php b/app/Controllers/ProxyController.php index 7c4d4e6..21932b6 100644 --- a/app/Controllers/ProxyController.php +++ b/app/Controllers/ProxyController.php @@ -2,6 +2,7 @@ namespace App\Controllers; use App\Helpers\Cookies; +use App\Helpers\Misc; class ProxyController { const VALID_TIKTOK_DOMAINS = [ @@ -11,7 +12,8 @@ class ProxyController { static public function stream() { self::checkUrl(); $url = $_GET['url']; - $streamer = new \TikScraper\Stream(); + $config['USER_AGENT'] = Misc::env("user_agent", "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/109.0 Firefox/109.0"); + $streamer = new \TikScraper\Stream($config); $streamer->url($url); } From 288f87504c252b9bd6293f57d910f92ec06d716b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Skyler=20M=C3=A4ntysaari?= Date: Thu, 16 Feb 2023 02:26:25 +0200 Subject: [PATCH 2/3] Add .git to dockerignore Otherwise bad things end up in container. --- .dockerignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.dockerignore b/.dockerignore index 9792dee..0f5c25b 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,5 +1,6 @@ node_modules /.env +/.git /.vscode /vendor /cache/latte/* From 72ea5d43fd6caa06bc2f3edd793f2691b4ec7d6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Skyler=20M=C3=A4ntysaari?= Date: Fri, 17 Feb 2023 22:14:01 +0200 Subject: [PATCH 3/3] Addressing PR comments about not using hardcoded string. --- app/Controllers/ProxyController.php | 3 ++- app/Helpers/Wrappers.php | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/Controllers/ProxyController.php b/app/Controllers/ProxyController.php index 21932b6..7a3c72e 100644 --- a/app/Controllers/ProxyController.php +++ b/app/Controllers/ProxyController.php @@ -3,6 +3,7 @@ namespace App\Controllers; use App\Helpers\Cookies; use App\Helpers\Misc; +use TikScraper\Constants\UserAgents as TikScraperUserAgents; class ProxyController { const VALID_TIKTOK_DOMAINS = [ @@ -12,7 +13,7 @@ class ProxyController { static public function stream() { self::checkUrl(); $url = $_GET['url']; - $config['USER_AGENT'] = Misc::env("user_agent", "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/109.0 Firefox/109.0"); + $config['user_agent'] = Misc::env("USER_AGENT", TikScraperUserAgents::DEFAULT); $streamer = new \TikScraper\Stream($config); $streamer->url($url); } diff --git a/app/Helpers/Wrappers.php b/app/Helpers/Wrappers.php index 632e327..149e00e 100644 --- a/app/Helpers/Wrappers.php +++ b/app/Helpers/Wrappers.php @@ -7,6 +7,8 @@ use App\Cache\RedisCache; use App\Constants\CacheMethods; use App\Models\BaseTemplate; +use TikScraper\Constants\UserAgents as TikScraperUserAgents; + class Wrappers { /** * Setup of Latte template engine @@ -162,6 +164,8 @@ class Wrappers { } } + $options["user_agent"] = Misc::env("USER_AGENT", TikScraperUserAgents::DEFAULT); + return new \TikScraper\Api($options, $cacheEngine); } }