sportsflix 1.2.2 → 1.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/sportsflix/utils/http.rb +13 -14
- data/lib/sportsflix/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f30e7c7fc0b7de5e6fb2083ff704984c4de93764
|
4
|
+
data.tar.gz: 78c8aae468eddd0c85d90a2362134f69a0b8c854
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1485abed1a5e0d5bf1f630edc5190a441fc4289f5740fad1687f0104da1ee410ed854222f1c91c913986e8b7faa48c03e5dbb9621d5ef466e2527e07e7459b69
|
7
|
+
data.tar.gz: fe4ce15d3f4caf0fc8792b18d2cf21868f33bafc322f78a62587efdbd61458603b8f077c54f59a21e0b3ddd0fa12d71ea2673ca814d6cde5012d8fdb2927d7db
|
data/Gemfile.lock
CHANGED
@@ -57,20 +57,8 @@ module Sportsflix
|
|
57
57
|
|
58
58
|
private
|
59
59
|
def with_cf_bypass(res, req_lambda)
|
60
|
-
if res
|
61
|
-
|
62
|
-
res
|
63
|
-
elsif res.is_a?(Net::HTTPServiceUnavailable) &&
|
64
|
-
res['Server'] == 'cloudflare-nginx' &&
|
65
|
-
res.body.include?('jschl_vc') &&
|
66
|
-
res.body.include?('jschl_answer')
|
67
|
-
|
68
|
-
url = "#{res.uri.scheme}://#{res.uri.hostname}"
|
69
|
-
if res.uri.port
|
70
|
-
url = "#{url}:#{res.uri.port}"
|
71
|
-
end
|
72
|
-
|
73
|
-
url = "#{url}/cdn-cgi/l/chk_jschl"
|
60
|
+
if needs_cf_answer(res)
|
61
|
+
url = "#{res.uri.scheme}://#{res.uri.hostname}:#{res.uri.port}/cdn-cgi/l/chk_jschl"
|
74
62
|
|
75
63
|
@headers = @headers.merge({Referer: res.uri.to_s})
|
76
64
|
@params = @params.merge(
|
@@ -84,10 +72,21 @@ module Sportsflix
|
|
84
72
|
redirect = req_lambda.call(url)
|
85
73
|
req_lambda.call(redirect['location'])
|
86
74
|
else
|
75
|
+
if res.is_a?(Net::HTTPRedirection)
|
76
|
+
puts "Redirecting from #{res.uri} to #{res['location']}."
|
77
|
+
end
|
78
|
+
|
87
79
|
res
|
88
80
|
end
|
89
81
|
end
|
90
82
|
|
83
|
+
def needs_cf_answer(res)
|
84
|
+
res.is_a?(Net::HTTPServiceUnavailable) &&
|
85
|
+
res['Server'] == 'cloudflare-nginx' &&
|
86
|
+
res.body.include?('jschl_vc') &&
|
87
|
+
res.body.include?('jschl_answer')
|
88
|
+
end
|
89
|
+
|
91
90
|
def solve_challenge(body)
|
92
91
|
begin
|
93
92
|
js = /setTimeout\(function\(\){\s+(var s,t,o,p,b,r,e,a,k,i,n,g,f.+?\r?\n[\s\S]+?a\.value =.+?)\r?\n/.match(body)
|
data/lib/sportsflix/version.rb
CHANGED