User: Remove broken Google login (subscribe route)
This commit is contained in:
parent
fcbd5106c3
commit
9dd4195dd0
|
@ -43,11 +43,6 @@ module Invidious::Routes::Subscriptions
|
||||||
channel_id = env.params.query["c"]?
|
channel_id = env.params.query["c"]?
|
||||||
channel_id ||= ""
|
channel_id ||= ""
|
||||||
|
|
||||||
if !user.password
|
|
||||||
# Sync subscriptions with YouTube
|
|
||||||
subscribe_ajax(channel_id, action, env.request.headers)
|
|
||||||
end
|
|
||||||
|
|
||||||
case action
|
case action
|
||||||
when "action_create_subscription_to_channel"
|
when "action_create_subscription_to_channel"
|
||||||
if !user.subscriptions.includes? channel_id
|
if !user.subscriptions.includes? channel_id
|
||||||
|
@ -82,14 +77,6 @@ module Invidious::Routes::Subscriptions
|
||||||
user = user.as(User)
|
user = user.as(User)
|
||||||
sid = sid.as(String)
|
sid = sid.as(String)
|
||||||
|
|
||||||
if !user.password
|
|
||||||
# Refresh account
|
|
||||||
headers = HTTP::Headers.new
|
|
||||||
headers["Cookie"] = env.request.headers["Cookie"]
|
|
||||||
|
|
||||||
user, sid = get_user(sid, headers)
|
|
||||||
end
|
|
||||||
|
|
||||||
action_takeout = env.params.query["action_takeout"]?.try &.to_i?
|
action_takeout = env.params.query["action_takeout"]?.try &.to_i?
|
||||||
action_takeout ||= 0
|
action_takeout ||= 0
|
||||||
action_takeout = action_takeout == 1
|
action_takeout = action_takeout == 1
|
||||||
|
|
|
@ -91,38 +91,6 @@ def create_user(sid, email, password)
|
||||||
return user, sid
|
return user, sid
|
||||||
end
|
end
|
||||||
|
|
||||||
def subscribe_ajax(channel_id, action, env_headers)
|
|
||||||
headers = HTTP::Headers.new
|
|
||||||
headers["Cookie"] = env_headers["Cookie"]
|
|
||||||
|
|
||||||
html = YT_POOL.client &.get("/subscription_manager?disable_polymer=1", headers)
|
|
||||||
|
|
||||||
cookies = HTTP::Cookies.from_client_headers(headers)
|
|
||||||
html.cookies.each do |cookie|
|
|
||||||
if {"VISITOR_INFO1_LIVE", "YSC", "SIDCC"}.includes? cookie.name
|
|
||||||
if cookies[cookie.name]?
|
|
||||||
cookies[cookie.name] = cookie
|
|
||||||
else
|
|
||||||
cookies << cookie
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
headers = cookies.add_request_headers(headers)
|
|
||||||
|
|
||||||
if match = html.body.match(/'XSRF_TOKEN': "(?<session_token>[^"]+)"/)
|
|
||||||
session_token = match["session_token"]
|
|
||||||
|
|
||||||
headers["content-type"] = "application/x-www-form-urlencoded"
|
|
||||||
|
|
||||||
post_req = {
|
|
||||||
session_token: session_token,
|
|
||||||
}
|
|
||||||
post_url = "/subscription_ajax?#{action}=1&c=#{channel_id}"
|
|
||||||
|
|
||||||
YT_POOL.client &.post(post_url, headers, form: post_req)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def get_subscription_feed(user, max_results = 40, page = 1)
|
def get_subscription_feed(user, max_results = 40, page = 1)
|
||||||
limit = max_results.clamp(0, MAX_ITEMS_PER_PAGE)
|
limit = max_results.clamp(0, MAX_ITEMS_PER_PAGE)
|
||||||
offset = (page - 1) * limit
|
offset = (page - 1) * limit
|
||||||
|
|
Loading…
Reference in a new issue