diff --git a/app/logical/downloads/strategies/tumblr.rb b/app/logical/downloads/strategies/tumblr.rb index 84b0953af..e5ba5a5dd 100644 --- a/app/logical/downloads/strategies/tumblr.rb +++ b/app/logical/downloads/strategies/tumblr.rb @@ -2,7 +2,8 @@ module Downloads module Strategies class Tumblr < Base def rewrite(url, headers) - if url =~ %r{^http?://(?:(?:\d+\.)\w+\.)?tumblr\.com} + if url =~ %r{^https?://.*tumblr\.com} + url, headers = rewrite_cdn(url, headers) url, headers = rewrite_thumbnails(url, headers) end @@ -23,6 +24,14 @@ module Downloads return [url, headers] end + + def rewrite_cdn(url, headers) + if url =~ %r{https?://gs1\.wac\.edgecastcdn\.net/8019B6/data\.tumblr\.com/} + url.sub!("gs1.wac.edgecastcdn.net/8019B6/", "") + end + + return [url, headers] + end end end end diff --git a/app/models/artist.rb b/app/models/artist.rb index 71223af0d..9df4fc03d 100644 --- a/app/models/artist.rb +++ b/app/models/artist.rb @@ -32,7 +32,7 @@ class Artist < ActiveRecord::Base url = File.dirname(url) + "/" break if url =~ /pixiv\.net\/(?:img\/)?$/i break if url =~ /lohas\.nicoseiga\.jp\/priv\/$/i - break if url =~ /media\.tumblr\.com\/[a-z0-9]+\/$/i + break if url =~ /(?:data|media)\.tumblr\.com\/[a-z0-9]+\/$/i break if url =~ /deviantart\.net\//i end