forked from midou/invidious
Add ability to decrypt signature for vflxuxnEY/en_US/base.js
This commit is contained in:
parent
859517e206
commit
1e2139d78c
@ -163,3 +163,13 @@ def search(query, client)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def decrypt_signature(a)
|
||||||
|
a = a.split("");
|
||||||
|
a.delete_at(0..2)
|
||||||
|
a = a.reverse
|
||||||
|
c = a[0]
|
||||||
|
a[0] = a[49 % a.size]
|
||||||
|
a[49] = c
|
||||||
|
return a.join("")
|
||||||
|
end
|
@ -126,7 +126,14 @@ get "/watch" do |env|
|
|||||||
fmt_stream << HTTP::Params.parse(string)
|
fmt_stream << HTTP::Params.parse(string)
|
||||||
end
|
end
|
||||||
|
|
||||||
fmt_stream.reverse! # We want lowest quality first
|
if fmt_stream[0]["s"]?
|
||||||
|
fmt_stream.each do |fmt|
|
||||||
|
fmt["url"] = "#{fmt["url"]}&signature=#{decrypt_signature(fmt["s"])}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# We want lowest quality first
|
||||||
|
fmt_stream.reverse!
|
||||||
|
|
||||||
adaptive_fmts = [] of HTTP::Params
|
adaptive_fmts = [] of HTTP::Params
|
||||||
if video.info.has_key?("adaptive_fmts")
|
if video.info.has_key?("adaptive_fmts")
|
||||||
@ -135,6 +142,12 @@ get "/watch" do |env|
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if adaptive_fmts[0]["s"]?
|
||||||
|
adaptive_fmts.each do |fmt|
|
||||||
|
fmt["url"] = "#{fmt["url"]}&signature=#{decrypt_signature(fmt["s"])}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
rvs = [] of Hash(String, String)
|
rvs = [] of Hash(String, String)
|
||||||
if video.info.has_key?("rvs")
|
if video.info.has_key?("rvs")
|
||||||
video.info["rvs"].split(",").each do |rv|
|
video.info["rvs"].split(",").each do |rv|
|
||||||
|
Loading…
Reference in New Issue
Block a user