From 1ebc4cbc6ee3857a64a0658201cd55d65b6a6b15 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Tue, 29 Jun 2021 16:42:13 +0200 Subject: Bypass cloudflare for coom plugins (fixes spank****) --- src/DownloadUtils.cpp | 6 ++++-- src/plugins/MediaGeneric.cpp | 2 +- src/plugins/Youtube.cpp | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/DownloadUtils.cpp b/src/DownloadUtils.cpp index 5be1990..e546bd1 100644 --- a/src/DownloadUtils.cpp +++ b/src/DownloadUtils.cpp @@ -192,7 +192,7 @@ namespace QuickMedia { } // TODO: Add timeout - DownloadResult download_to_string(const std::string &url, std::string &result, const std::vector &additional_args, bool use_browser_useragent, bool fail_on_error, std::string *header, int download_limit) { + DownloadResult download_to_string(const std::string &url, std::string &result, const std::vector &additional_args, bool use_browser_useragent, bool fail_on_error, bool cloudflare_bypass, std::string *header, int download_limit) { result.clear(); sf::Clock timer; std::vector args; @@ -204,10 +204,12 @@ namespace QuickMedia { if(!arg.value.empty()) args.push_back(arg.value.c_str()); } - if(use_browser_useragent) { + if(!cloudflare_bypass && use_browser_useragent) { args.push_back("-H"); args.push_back(useragent_str); } + if(cloudflare_bypass) + args.insert(args.end(), { "--tls-max", "1.1", "-A", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FSL 7.0.6" }); if(header) args.push_back("-i"); args.push_back("--"); diff --git a/src/plugins/MediaGeneric.cpp b/src/plugins/MediaGeneric.cpp index 11b0957..1f2389a 100644 --- a/src/plugins/MediaGeneric.cpp +++ b/src/plugins/MediaGeneric.cpp @@ -38,7 +38,7 @@ namespace QuickMedia { args.push_back({ "-H", "referer: " + website_url }); std::string website_data; - if(download_to_string(url, website_data, args, true) != DownloadResult::OK) + if(download_to_string(url, website_data, args, true, true, true) != DownloadResult::OK) return PluginResult::NET_ERR; if(website_data.empty()) diff --git a/src/plugins/Youtube.cpp b/src/plugins/Youtube.cpp index 276fba5..24fd448 100644 --- a/src/plugins/Youtube.cpp +++ b/src/plugins/Youtube.cpp @@ -274,7 +274,7 @@ R"END( for(int i = 0; i < max_redirects; ++i) { std::string response_body; std::string response_headers; - download_to_string(playback_url, response_body, additional_args, true, true, &response_headers, 4096); + download_to_string(playback_url, response_body, additional_args, true, true, false, &response_headers, 4096); std::string content_type = header_extract_value(response_headers, "content-type"); if(content_type.empty()) { -- cgit v1.2.3