diff --git a/.env.example b/.env.example index 2e81b81..58f0789 100644 --- a/.env.example +++ b/.env.example @@ -2,8 +2,14 @@ # LATTE_CACHE=/tmp/proxitok_api # Path for Latte cache, leave commented for ./cache/latte # API CONFIG -# USE_TEST_ENDPOINTS=1 # Discomment for usage of t.tiktok.com -# SIGNER_URL="https://tiktok-sign.herokuapp.com/signature" # External signing service +# USE_TEST_ENDPOINTS=1 # Discomment for usage of testing TikTok endpoints, may help sometimes +# SIGNER_URL="https://example.com" # External signing service + +# Proxy Config, will be used to make TikTok requests, useful if having VERIFY_CODE issues +# PROXY_HOST=HOSTNAME +# PROXY_PORT=8080 +# PROXY_USERNAME=USERNAME +# PROXY_PASSWORD=PASSWORD # API_CACHE=redis # Cache engine for TikTok Api, (more info on README) # Redis cache, used on Helpers\CacheEngines\RedisCache diff --git a/app/Controllers/SettingsController.php b/app/Controllers/SettingsController.php index f47561f..670a3c2 100644 --- a/app/Controllers/SettingsController.php +++ b/app/Controllers/SettingsController.php @@ -8,7 +8,7 @@ use App\Models\SettingsTemplate; class SettingsController { static public function index() { $latte = Misc::latte(); - $latte->render(Misc::getView('settings'), new SettingsTemplate()); + $latte->render(Misc::getView('settings'), new SettingsTemplate); } static public function proxy() { diff --git a/app/Controllers/UserController.php b/app/Controllers/UserController.php index 343eb2f..3912f7d 100644 --- a/app/Controllers/UserController.php +++ b/app/Controllers/UserController.php @@ -13,8 +13,9 @@ class UserController { $feed = $api->getUserFeed($username, $cursor); if ($feed->meta->success) { if ($feed->info->detail->privateAccount) { - http_response_code(400); + http_response_code(403); echo 'Private account detected! Not supported'; + exit; } $latte = Misc::latte(); $latte->render(Misc::getView('user'), new FeedTemplate($feed->info->detail->nickname, $feed)); diff --git a/app/Helpers/Cookies.php b/app/Helpers/Cookies.php index 97e277b..0e85435 100644 --- a/app/Helpers/Cookies.php +++ b/app/Helpers/Cookies.php @@ -2,13 +2,13 @@ namespace App\Helpers; class Cookies { - const PROXY = ['proxy-host', 'proxy-port', 'proxy-username', 'proxy-password']; + const PROXY = ['host', 'port', 'user', 'password']; - static public function get(string $name): string { + static public function get(string $name): ?string { if (isset($_COOKIE[$name]) && !empty($_COOKIE[$name])) { return $_COOKIE[$name]; } - return ''; + return null; } static public function exists(string $name): bool { diff --git a/app/Helpers/Misc.php b/app/Helpers/Misc.php index 7734bfc..e3ddede 100644 --- a/app/Helpers/Misc.php +++ b/app/Helpers/Misc.php @@ -17,7 +17,7 @@ class Misc { return self::env('APP_URL', '') . $endpoint; } - static public function env(string $key, string $default_value): string { + static public function env(string $key, $default_value) { return $_ENV[$key] ?? $default_value; } @@ -34,16 +34,23 @@ class Misc { static public function api(): \TikScraper\Api { $options = [ 'remote_signer' => self::env('SIGNER_URL', 'http://localhost:8080/signature'), - 'use_test_endpoints' => self::env('USE_TEST_ENDPOINTS', false) + 'use_test_endpoints' => self::env('USE_TEST_ENDPOINTS', false), + // Instance level proxy config + 'proxy' => [ + 'host' => self::env('PROXY_HOST', null), + 'port' => self::env('PROXY_PORT', null), + 'user' => self::env('PROXY_USER', null), + 'password' => self::env('PROXY_PASSWORD', null) + ] ]; - $cacheEngine = false; - // Proxy config + // User level proxy config, will overwrite instance config foreach(Cookies::PROXY as $proxy_element) { if (isset($_COOKIE[$proxy_element])) { $options['proxy'][$proxy_element] = $_COOKIE[$proxy_element]; } } // Cache config + $cacheEngine = false; if (isset($_ENV['API_CACHE'])) { switch ($_ENV['API_CACHE']) { case 'json': diff --git a/components/following_tags.latte b/components/following_tags.latte deleted file mode 100644 index a6afc3e..0000000 --- a/components/following_tags.latte +++ /dev/null @@ -1,9 +0,0 @@ -
diff --git a/components/settings/proxy.latte b/components/settings/proxy.latte index 8b60013..1b24d4e 100644 --- a/components/settings/proxy.latte +++ b/components/settings/proxy.latte @@ -1,7 +1,7 @@