summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOmar Roth <omarroth@hotmail.com>2018-06-19 16:20:08 -0500
committerOmar Roth <omarroth@hotmail.com>2018-06-19 16:20:08 -0500
commitf5ea832721f376d429fd9cbd33918827db1c3439 (patch)
treecf93c696981522a53de1b6f1d1ca0e14e7ede024
parent604ae665b61d6b02f683225c36e2c08a8f86fc4d (diff)
downloadinvidious-f5ea832721f376d429fd9cbd33918827db1c3439.tar.gz
invidious-f5ea832721f376d429fd9cbd33918827db1c3439.tar.bz2
invidious-f5ea832721f376d429fd9cbd33918827db1c3439.zip
Upgrade to Crystal 0.25 and update signature
-rw-r--r--shard.yml4
-rw-r--r--src/helpers.cr14
-rw-r--r--src/invidious.cr3
3 files changed, 12 insertions, 9 deletions
diff --git a/shard.yml b/shard.yml
index dee35dff..c8ec5807 100644
--- a/shard.yml
+++ b/shard.yml
@@ -1,5 +1,5 @@
name: invidious
-version: 0.1.0
+version: 0.2.0
authors:
- Omar Roth <omarroth@hotmail.com>
@@ -19,6 +19,6 @@ dependencies:
github: detectlanguage/detectlanguage-crystal
branch: master
-crystal: 0.24.2
+crystal: 0.25.0
license: AGPLv3
diff --git a/src/helpers.cr b/src/helpers.cr
index 1d0fc537..8e92cbc9 100644
--- a/src/helpers.cr
+++ b/src/helpers.cr
@@ -227,7 +227,7 @@ def fetch_video(id, client)
published = published.split(" ")
published = published[-3..-1].join(" ")
if !published.includes?("ago")
- published = Time.parse(published, "%b %-d, %Y")
+ published = Time.parse(published, "%b %-d, %Y", Time::Location.local)
else
# Time matches format "20 hours ago", "40 minutes ago"...
delta = published.split(" ")[0].to_i
@@ -298,10 +298,12 @@ end
def decrypt_signature(a)
a = a.split("")
- a.delete_at(0..2)
- a = splice(a, 44)
+ a = splice(a, 60)
a.delete_at(0..1)
- a = splice(a, 34)
+ a = splice(a, 31)
+ a.reverse!
+ a = splice(a, 33)
+ a.delete_at(0..2)
return a.join("")
end
@@ -574,8 +576,8 @@ def fetch_channel(ucid, client, db, pull_videos = true)
rss.xpath_nodes("//feed/entry").each do |entry|
video_id = entry.xpath_node("videoid").not_nil!.content
title = entry.xpath_node("title").not_nil!.content
- published = Time.parse(entry.xpath_node("published").not_nil!.content, "%FT%X%z")
- updated = Time.parse(entry.xpath_node("updated").not_nil!.content, "%FT%X%z")
+ published = Time.parse(entry.xpath_node("published").not_nil!.content, "%FT%X%z", Time::Location.local)
+ updated = Time.parse(entry.xpath_node("updated").not_nil!.content, "%FT%X%z", Time::Location.local)
author = entry.xpath_node("author/name").not_nil!.content
ucid = entry.xpath_node("channelid").not_nil!.content
diff --git a/src/invidious.cr b/src/invidious.cr
index 71a0f0b6..c0581944 100644
--- a/src/invidious.cr
+++ b/src/invidious.cr
@@ -1000,7 +1000,7 @@ end
# Add redirect if SSL is enabled
if Kemal.config.ssl
spawn do
- server = HTTP::Server.new("0.0.0.0", 80) do |context|
+ server = HTTP::Server.new do |context|
redirect_url = "https://#{context.request.host}#{context.request.path}"
if context.request.query
redirect_url += "?#{context.request.query}"
@@ -1009,6 +1009,7 @@ if Kemal.config.ssl
context.response.status_code = 301
end
+ server.bind_tcp "0.0.0.0", 80
server.listen
end