Liru / tumblr-downloader

A command-line program that scrapes tumblr blogs, and downloads images and videos from several at once.
MIT License
147 stars 34 forks source link

Is the project dead? #63

Open keeper8 opened 6 years ago

keeper8 commented 6 years ago

Is the project dead? All blogs I have tried - download nothing (on Win64). :-(

Scanning directory Done scanning. Current version is 1.5.3 0 / ? [----------------------------------------------------------------------=] 2018/06/04 01:01:06 Unmarshal: invalid character '.' looking for beginning of va lue Done scraping for nature-pics ( 1 pages ) Done downloading for nature-pics 2018/06/04 01:01:07 Unmarshal: invalid character '.' looking for beginning of va lue Done scraping for sunsets ( 1 pages ) Done downloading for sunsets 2018/06/04 01:01:08 Unmarshal: invalid character '.' looking for beginning of va lue Done scraping for nature-pics ( 1 pages ) Done downloading for nature-pics 2018/06/04 01:01:09 Unmarshal: invalid character '.' looking for beginning of va lue Done scraping for sunsets ( 1 pages ) Done downloading for sunsets 0 / ? [---------------------------------------------------------------------=]0

Downloading complete.

0 / 0 files downloaded. 0B of files downloaded during this session. 647.72KB of data downloaded as JSON overhead. 0B of bandwidth saved due to hardlinking.

geins commented 6 years ago

I think the problem Is the new landing page of Tumblr, to which everybody (from europe) is redirected, If not once signed in. Try using the debug-version. In the debug log, you get the html of that landing page. Don‘t know how to get around that :(

Liru commented 6 years ago

The downloading works fine for me. @geins may have the right idea, something that I probably wouldn't have figured out.

Could you visit https://nature-pics.tumblr.com/api/read/json and tell me what sort of content you get?

kulpsin commented 6 years ago

When opening the link in incognito-mode, I'm directed to https://www.tumblr.com/privacy/consent?redirect=https%3A%2F%2Fnature-pics.tumblr.com%2Fapi%2Fread%2Fjson.

Running the program (on windows):

>tumblr-downloader.exe
Scanning directory
Done scanning.
Current version is 1.5.3
<first_set> is on page 1 / 1
<second_set> is on page 1 / 1
<third_set> is on page 1 / 1
2018/06/11 13:32:41 Unmarshal: invalid character '.' looking for beginning of value
Done scraping for <first_set> ( 1 pages )
Done downloading for <first_set>
2018/06/11 13:32:41 Unmarshal: invalid character '.' looking for beginning of value
Done scraping for <second_set> ( 1 pages )
Done downloading for <second_set>
2018/06/11 13:32:41 Unmarshal: invalid character '.' looking for beginning of value
Done scraping for <third_set> ( 1 pages )
Done downloading for <third_set>
Downloading complete.

0 / 0 files downloaded.
0B of files downloaded during this session.
485.49KB of data downloaded as JSON overhead.
0B of bandwidth saved due to hardlinking.

>

json_error.txt (first several lines of it):

     .o                                .o88       .o88
      .88                                "888       "888
    o8888oo  ooo  oooo  ooo. .oo.  .oo.   888oooo.   888  oooo d8b
    ""888""  888  "888  "888P"Y88bP"Y88b  d88' `88b  888  "888""8P
      888    888   888   888   888   888  888   888  888   888
      888 .  888   888   888   888   888  888.  888  888   888    .o.
      "888Y  `V88V"V8P' o888o o888o o888o 88`bod8P' o888o d888b   Y8P

                                                                        --><!--[if lt IE 7]>      <html class="no-js ie ie6 lt-ie9 lt-ie8 lt-ie7 guce-gdpr-context en_US" lang="en-US"> <![endif]--><!--[if IE 7]>         <html class="no-js ie ie7 lt-ie9 lt-ie8 guce-gdpr-context en_US" lang="en-US"> <![endif]--><!--[if IE 8]>         <html class="no-js ie ie8 lt-ie9 guce-gdpr-context en_US" lang="en-US"> <![endif]--><!--[if IE 9]>         <html class="no-js ie9 guce-gdpr-context en_US" lang="en-US"> <![endif]--><!--[if gt IE 9]><!--> <html class="no-js  guce-gdpr-context en_US" lang="en-US"> <!--<![endif]-->    <head><title>Tumblr</title><!--[if ie]><meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/><![endif]--><meta http-equiv="Content-Type" content="text/html; charset=utf-8">    <meta http-equiv="x-dns-prefetch-control" content="off">    <meta name="application-name" content="Tumblr">    <meta name="msapplication-TileColor" content="#3645d">    <meta name="msapplication-TileImage" content="https://assets.tumblr.com/images/msfavicon.png?_v=1299bb1539e93cade2b5513bda63df90">    <link rel="shortcut icon" href="https://assets.tumblr.com/images/favicons/favicon.ico?_v=b45846535fb3e72144f09ddd9ad69b4b" type="image/png">    <meta name="p:domain_verify" content="d06c4fa470a9a6935c9a7b43d57eb7d2">    <link rel="apple-touch-icon" sizes="57x57" href="https://assets.tumblr.com/images/apple-touch-icon-57x57.png?_v=9f73ec8ac20311f2517407b1687d7889" type="image/png">    <link rel="apple-touch-icon" sizes="60x60" href="https://assets.tumblr.com/images/apple-touch-icon-60x60.png?_v=697c77cd37f553a786a46b099fbb549c" type="image/png">    <link rel="apple-touch-icon" sizes="72x72" href="https://assets.tumblr.com/images/apple-touch-icon-72x72.png?_v=fa585784b22de1c8ec6a6fdcb4a8553d" type="image/png">    <link rel="apple-touch-icon" sizes="76x76" href="https://assets.tumblr.com/images/apple-touch-icon-76x76.png?_v=aa8f838ffd1b53109968baea49158c36" type="image/png">    <link rel="apple-touch-icon" sizes="120x120" href="https://assets.tumblr.com/images/apple-touch-icon-120x120.png?_v=644541c8b5a4ecc6564e69ac416c5477" type="image/png">    <link rel="apple-touch-icon" sizes="128x128" href="https://assets.tumblr.com/images/apple-touch-icon-128x128.png?_v=80d1b975cee8ad050873e0c079a3e84d" type="image/png">    <link rel="apple-touch-icon" sizes="144x144" href="https://assets.tumblr.com/images/apple-touch-icon-144x144.png?_v=c23982e80760b5889149285b6aec3600" type="image/png">    <link rel="apple-touch-icon" sizes="152x152" href="https://assets.tumblr.com/images/apple-touch-icon-152x152.png?_v=ff1d86888593af8785ed810f268717ee" type="image/png">    <link rel="apple-touch-icon" sizes="180x180" href="https://assets.tumblr.com/images/apple-touch-icon-180x180.png?_v=208b1254f3cebc15b41c9cadd0d15b8f" type="image/png">    <link rel="apple-touch-icon" sizes="195x195" href="https://assets.tumblr.com/images/apple-touch-icon-195x194.png?_v=0" type="image/png">    <link rel="apple-touch-icon" sizes="196x196" href="https://assets.tumblr.com/images/apple-touch-icon-196x196.png?_v=51133af265484c1ed6b6cce2ba8b3c1f" type="image/png">    <link rel="apple-touch-icon" sizes="228x228" href="https://assets.tumblr.com/images/apple-touch-icon-228x228.png?_v=ed8916adbf85271047144d96446117be" type="image/png">    <meta name="robots" id="robots" content="noodp,noydir">    <meta name="description" id="description" content="Tumblr is a place to express yourself, discover yourself, and bond over the stuff you love. It&#039;s where your interests connect you with your people.">    <meta name="keywords" id="keywords" content="tumblelog, blog, tumblog, tumbler, tumblr, tlog, microblog">    <meta name="viewport" id="viewport" content="width=960">    <meta name="tumblr-form-key" id="tumblr_form_key" content="!1231528714093|GirUgYvQ2Y44RiEoEyia98GFcs">    <meta name="tumblr-gpop" id="tumblr_gpop" content="Tumblr"><link rel="stylesheet" media="screen" href="https://assets.tumblr.com/assets/styles/global.css?_v=c0749b447abc55ec8dfc3325016b8bcb"><link rel="stylesheet" media="screen" href="https://assets.tumblr.com/client/prod/app/global.build.css?_v=b23d43412b37d2eaf065c2f57121e1c0"><link rel="stylesheet" media="screen" href="https://assets.tumblr.com/client/prod/app/context/guce-gdpr/index.build.css?_v=c3ed2d6a608d1e4caadf987a9fded365"><script >
            var tinyMCE,_sf_startpt=(new Date()).getTime();
            var Tumblr = Tumblr || {};
        </script><script>
var _flags = 'eyJmaWx0ZXJfbnNmdyI6dHJ1ZSwic2FmZV9tb2RlIjp0cnVlLCJzYWZlX21vZGVfZW5hYmxlZCI6dHJ1ZSwia2V5Y29tbWFuZF9hdXRvX3BhZ2luYXRlIjp0cnVlLCJsb2dnZWRfb3V0X3NlYXJjaCI6dHJ1ZSwia3Jha2VuX3dlYl9sb2dnaW5nX2xpYnJhcnkiOnRydWUsInNlY3VyZV9mb3JtX2tleSI6dHJ1ZSwic2VjdXJlX2Zvcm1fa2V5X2Z1bGx5X29uIjp0cnVlLCJ0dW1ibGVsb2dfcG9wb3ZlciI6dHJ1ZSwiY2Fub25pY2FsX3VybF93cml0ZXMiOnRydWUsImVuYWJsZV9jYXB0dXJlX2pzIjp0cnVlLCJwcmltYV9wb3N0X2Zvcm1zIjp0cnVlLCJsb2NrZWRfcmVibG9nX3VpIjp0cnVlLCJ0YWJsZXRfYmFubmVyX2FjdGl2ZSI6dHJ1ZSwibW9iaWxlX2Jhbm5lcl9hY3RpdmUiOnRydWUsImxvZ19zZWFyY2hfYm94Ijp0cnVlLCJ1c2VyX21lbnRpb25zIjp0cnVlLCJodG1sNV9hdWRpb19wbGF5ZXIiOnRydWUsInBvcG92ZXJfcmVjb21tZW5kYXRpb25zIjp0cnVlLCJpbmRhc2hfcmVjb21tZW5kYXRpb25zIjp0cnVlLCJwb3B0aWNhX3R1bWJsZWxvZ19wb3BvdmVycyI6dHJ1ZSwidHVtYmxyX3R2Ijp0cnVlLCJkZXByZWNhdGVfZmVhdHVyZWRfdGFncyI6dHJ1ZSwicmVibG9nX3VpX3JlZnJlc2giOnRydWUsInRhYl9zd2l0Y2hlciI6dHJ1ZSwiZmFzdF9jb21wb3NlIjp0cnVlLCJkYXNoYm9hcmRfcmVmcmVzaCI6dHJ1ZSwibW9iaWxlX3dlYl9waG90b3NldHMiOnRydWUsIm1vYmlsZV93ZWJfZ2F0ZSI6dHJ1ZSwibW9iaWxlX3dlYl9wYWdlX3RpdGxlcyI6dHJ1ZSwibW9iaWxlX3dlYl9hYnVzZV9mb3JtIjp0cnVlLCJkb250X2Nhc3RfanNfZm9sbG93cyI6dHJ1ZSwiYWRzX25ld192ZW5kb3JfYnV0dG9ucyI6dHJ1ZSwicmVhY3RpdmF0aW9uX2Zsb3ciOnRydWUsImd1bHBqc19hZG1pbiI6dHJ1ZSwiZW5hYmxlX2pzX2VwaGVtZXJhbF9sb2ciOnRydWUsImxvZ19sYWR5Ijp0cnVlLCJjc2xvZ2dlcl9qcyI6dHJ1ZSwiZGlzY292ZXJ5X2h1Yl9hY2Nlc3MiOnRydWUsImhlYWRlcl9hY2NvdW50X21lbnUiOnRydWUsImVuYWJsZV9zaGFyZV9lbWJlZF9jb2RlIjp0cnVlLCJyZWRkaXRfc2hhcmluZyI6dHJ1ZSwicG9zdF9pdF9mb3J3YXJkIjp0cnVlLCJwZWVwcl9zZWFyY2hfYW5kX2ZpbHRlciI6dHJ1ZSwiaW50ZXJuc19wYWdlIjp0cnVlLCJmb2xsb3dlZF9zZWFyY2hlc19iaWdfd2ViIjp0cnVlLCJsaXZlcGhvdG9zX3dlYiI6dHJ1ZSwic2FmZV9tb2RlX293bl9wb3N0Ijp0cnVlLCJoaWRlX2RlZmF1bHRfaGVhZGVyc19ibG9nX2NhcmRzIjp0cnVlLCJ0eXBpbmdfaW5kaWNhdG9yX3dyaXRlIjp0cnVlLCJnZHByX2d1Y2VfaXNfcmVxdWlyZWQiOnRydWUsInN0YXR1c19pbmRpY2F0b3IiOnRydWV9';
var _assets = 'https://assets.tumblr.com/client/prod/';
</script><script crossorigin="anonymous" src="https://assets.tumblr.com/client/prod/app/header.build.js?_v=156a9c712eb3bdd8ab354464ec3c29fd"></script><script nonce="">
    (function(exports) {
        'use strict';

        exports.getRealNow = (function(p, ts) {
            var start = (p && p.timing && p.timing.responseStart) || Date.now();
            function getRealNow() {
                return ts + (Date.now() - start);
            };
            getRealNow.startedAt = (new Date()).getTime();
            getRealNow.realStartedAt = getRealNow();
            return getRealNow;
        })(window.performance, 1528714093000);
    })(window.Tumblr || (window.Tumblr = {}));
</script><script >if (top != self) top.location = self.location;</script><script src="https://assets.tumblr.com/languages/strings/en_US.js?1343"></script><script crossorigin="anonymous" src="https://assets.tumblr.com/assets/scripts/tumblr/utils/exceptions.js?_v=81bfb66c1a47c66c3bfeb7bdba083f58"></script></head><body 
                id="guce_index"

                class="flag--reblog-ui-refresh flag--messaging-new-empty-inbox flag--npf-text-web-styles theme_light identity base identity-refresh guce_index logged_out without_auto_paginate layout_standard"
geins commented 6 years ago

I get this page here: (https://www.tumblr.com/privacy/consent?redirect=https%3A%2F%2Fnature-pics.tumblr.com%2Fapi%2Fread%2Fjson) It is exactly what I get in the debug.json. It's present since the EU DSGVO (european privacy policy) is in place. `

  <!DOCTYPE html><!--
  .o .o88 .o88
  .88 "888 "888
  o8888oo ooo oooo ooo. .oo. .oo. 888oooo. 888 oooo d8b
  ""888"" 888 "888 "888P"Y88bP"Y88b d88' `88b 888 "888""8P
  888 888 888 888 888 888 888 888 888 888
  888 . 888 888 888 888 888 888. 888 888 888 .o.
  "888Y V88V"V8P' o888o o888o o888o 88bod8P' o888o d888b Y8P
   
  --> <html class="no-js guce-gdpr-context de_DE" lang="de-DE">   Tumblr<meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <meta http-equiv="x-dns-prefetch-control" content="off">  <meta name="application-name" content="Tumblr">  <meta name="msapplication-TileColor" content="#3645d">  <meta name="msapplication-TileImage" content="https://assets.tumblr.com/images/msfavicon.png?_v=1299bb1539e93cade2b5513bda63df90">  <link rel="shortcut icon" href="https://assets.tumblr.com/images/favicons/favicon.ico?_v=b45846535fb3e72144f09ddd9ad69b4b" type="image/png">  <meta name="p:domain_verify" content="d06c4fa470a9a6935c9a7b43d57eb7d2">  <link rel="apple-touch-icon" sizes="57x57" href="https://assets.tumblr.com/images/apple-touch-icon-57x57.png?_v=9f73ec8ac20311f2517407b1687d7889" type="image/png">  <link rel="apple-touch-icon" sizes="60x60" href="https://assets.tumblr.com/images/apple-touch-icon-60x60.png?_v=697c77cd37f553a786a46b099fbb549c" type="image/png">  <link rel="apple-touch-icon" sizes="72x72" href="https://assets.tumblr.com/images/apple-touch-icon-72x72.png?_v=fa585784b22de1c8ec6a6fdcb4a8553d" type="image/png">  <link rel="apple-touch-icon" sizes="76x76" href="https://assets.tumblr.com/images/apple-touch-icon-76x76.png?_v=aa8f838ffd1b53109968baea49158c36" type="image/png">  <link rel="apple-touch-icon" sizes="120x120" href="https://assets.tumblr.com/images/apple-touch-icon-120x120.png?_v=644541c8b5a4ecc6564e69ac416c5477" type="image/png">  <link rel="apple-touch-icon" sizes="128x128" href="https://assets.tumblr.com/images/apple-touch-icon-128x128.png?_v=80d1b975cee8ad050873e0c079a3e84d" type="image/png">  <link rel="apple-touch-icon" sizes="144x144" href="https://assets.tumblr.com/images/apple-touch-icon-144x144.png?_v=c23982e80760b5889149285b6aec3600" type="image/png">  <link rel="apple-touch-icon" sizes="152x152" href="https://assets.tumblr.com/images/apple-touch-icon-152x152.png?_v=ff1d86888593af8785ed810f268717ee" type="image/png">  <link rel="apple-touch-icon" sizes="180x180" href="https://assets.tumblr.com/images/apple-touch-icon-180x180.png?_v=208b1254f3cebc15b41c9cadd0d15b8f" type="image/png">  <link rel="apple-touch-icon" sizes="195x195" href="https://assets.tumblr.com/images/apple-touch-icon-195x194.png?_v=0" type="image/png">  <link rel="apple-touch-icon" sizes="196x196" href="https://assets.tumblr.com/images/apple-touch-icon-196x196.png?_v=51133af265484c1ed6b6cce2ba8b3c1f" type="image/png">  <link rel="apple-touch-icon" sizes="228x228" href="https://assets.tumblr.com/images/apple-touch-icon-228x228.png?_v=ed8916adbf85271047144d96446117be" type="image/png">  <meta name="robots" id="robots" content="noodp,noydir">  <meta name="description" id="description" content="Tumblr ist ein Ort, an dem du dich selbst verwirklichen und entdecken kannst und Menschen mit gemeinsamen Interessen triffst.">  <meta name="keywords" id="keywords" content="tumblelog, blog, tumblog, tumbler, tumblr, tlog, microblog">  <meta name="viewport" id="viewport" content="width=960">  <meta name="tumblr-form-key" id="tumblr_form_key" content="!1231528733897|vIoMAg3mXdFK4ml81OcJrdFj8DM">  <meta name="tumblr-gpop" id="tumblr_gpop" content="Tumblr"><link rel="stylesheet" media="screen" href="https://assets.tumblr.com/assets/styles/global.css?_v=c0749b447abc55ec8dfc3325016b8bcb"><link rel="stylesheet" media="screen" href="https://assets.tumblr.com/client/prod/app/global.build.css?_v=b23d43412b37d2eaf065c2f57121e1c0"><link rel="stylesheet" media="screen" href="https://assets.tumblr.com/client/prod/app/context/guce-gdpr/index.build.css?_v=c3ed2d6a608d1e4caadf987a9fded365"><script nonce="lOg13HCoTEea4dj9hYf5yiefY">
  var _flags = 'eyJmaWx0ZXJfbnNmdyI6dHJ1ZSwic2FmZV9tb2RlIjp0cnVlLCJzYWZlX21vZGVfZW5hYmxlZCI6dHJ1ZSwia2V5Y29tbWFuZF9hdXRvX3BhZ2luYXRlIjp0cnVlLCJsb2dnZWRfb3V0X3NlYXJjaCI6dHJ1ZSwia3Jha2VuX3dlYl9sb2dnaW5nX2xpYnJhcnkiOnRydWUsInNlY3VyZV9mb3JtX2tleSI6dHJ1ZSwic2VjdXJlX2Zvcm1fa2V5X2Z1bGx5X29uIjp0cnVlLCJ0dW1ibGVsb2dfcG9wb3ZlciI6dHJ1ZSwiY2Fub25pY2FsX3VybF93cml0ZXMiOnRydWUsImVuYWJsZV9jYXB0dXJlX2pzIjp0cnVlLCJwcmltYV9wb3N0X2Zvcm1zIjp0cnVlLCJsb2NrZWRfcmVibG9nX3VpIjp0cnVlLCJ0YWJsZXRfYmFubmVyX2FjdGl2ZSI6dHJ1ZSwibW9iaWxlX2Jhbm5lcl9hY3RpdmUiOnRydWUsImxvZ19zZWFyY2hfYm94Ijp0cnVlLCJ1c2VyX21lbnRpb25zIjp0cnVlLCJodG1sNV9hdWRpb19wbGF5ZXIiOnRydWUsInBvcG92ZXJfcmVjb21tZW5kYXRpb25zIjp0cnVlLCJpbmRhc2hfcmVjb21tZW5kYXRpb25zIjp0cnVlLCJwb3B0aWNhX3R1bWJsZWxvZ19wb3BvdmVycyI6dHJ1ZSwidHVtYmxyX3R2Ijp0cnVlLCJkZXByZWNhdGVfZmVhdHVyZWRfdGFncyI6dHJ1ZSwicmVibG9nX3VpX3JlZnJlc2giOnRydWUsInRhYl9zd2l0Y2hlciI6dHJ1ZSwiZmFzdF9jb21wb3NlIjp0cnVlLCJkYXNoYm9hcmRfcmVmcmVzaCI6dHJ1ZSwibW9iaWxlX3dlYl9waG90b3NldHMiOnRydWUsIm1vYmlsZV93ZWJfZ2F0ZSI6dHJ1ZSwibW9iaWxlX3dlYl9wYWdlX3RpdGxlcyI6dHJ1ZSwibW9iaWxlX3dlYl9hYnVzZV9mb3JtIjp0cnVlLCJkb250X2Nhc3RfanNfZm9sbG93cyI6dHJ1ZSwiYWRzX25ld192ZW5kb3JfYnV0dG9ucyI6dHJ1ZSwicmVhY3RpdmF0aW9uX2Zsb3ciOnRydWUsImd1bHBqc19hZG1pbiI6dHJ1ZSwiZW5hYmxlX2pzX2Vycm9yc19sb2ciOnRydWUsImVuYWJsZV9qc19lcGhlbWVyYWxfbG9nIjp0cnVlLCJsb2dfbGFkeSI6dHJ1ZSwiY3Nsb2dnZXJfanMiOnRydWUsImRpc2NvdmVyeV9odWJfYWNjZXNzIjp0cnVlLCJoZWFkZXJfYWNjb3VudF9tZW51Ijp0cnVlLCJlbmFibGVfc2hhcmVfZW1iZWRfY29kZSI6dHJ1ZSwicmVkZGl0X3NoYXJpbmciOnRydWUsInBvc3RfaXRfZm9yd2FyZCI6dHJ1ZSwicGVlcHJfc2VhcmNoX2FuZF9maWx0ZXIiOnRydWUsImludGVybnNfcGFnZSI6dHJ1ZSwiZm9sbG93ZWRfc2VhcmNoZXNfYmlnX3dlYiI6dHJ1ZSwibGl2ZXBob3Rvc193ZWIiOnRydWUsInNhZmVfbW9kZV9vd25fcG9zdCI6dHJ1ZSwiaGlkZV9kZWZhdWx0X2hlYWRlcnNfYmxvZ19jYXJkcyI6dHJ1ZSwidHlwaW5nX2luZGljYXRvcl93cml0ZSI6dHJ1ZSwiZ2Rwcl9ndWNlX2lzX3JlcXVpcmVkIjp0cnVlLCJzdGF0dXNfaW5kaWNhdG9yIjp0cnVlfQ==';
  var _assets = 'https://assets.tumblr.com/client/prod/';
  <script nonce="lOg13HCoTEea4dj9hYf5yiefY" crossorigin="anonymous" src="https://assets.tumblr.com/client/prod/app/header.build.js?_v=156a9c712eb3bdd8ab354464ec3c29fd"><script nonce="">
  (function(exports) {
  'use strict';
   
  exports.getRealNow = (function(p, ts) {
  var start = (p && p.timing && p.timing.responseStart) || Date.now();
  function getRealNow() {
  return ts + (Date.now() - start);
  };
  getRealNow.startedAt = (new Date()).getTime();
  getRealNow.realStartedAt = getRealNow();
  return getRealNow;
  })(window.performance, 1528733897000);
  })(window.Tumblr || (window.Tumblr = {}));
  <script src="https://assets.tumblr.com/languages/strings/de_DE.js?1343"><script crossorigin="anonymous" src="https://assets.tumblr.com/assets/scripts/tumblr/utils/exceptions.js?_v=81bfb66c1a47c66c3bfeb7bdba083f58"><body
  id="guce_index"
   
   
   
  class="flag--reblog-ui-refresh flag--messaging-new-empty-inbox flag--npf-text-web-styles theme_light identity base identity-refresh guce_index logged_out without_auto_paginate layout_standard"
   
   
  ><div data-token="body-plexi" class="plexi color">
  Diese Website erfordert JavaScript. <div class="l-header-container l-header-container--refresh" prima-component="header"><div class="l-header logged-out-header hide-logo"><h1 class="logo"><a tabindex="-1" class="logo-anchor" prima-component="header-logo" href="/" aria-label="Tumblr"><div class="png-logo"><div class="preload-container"><div class="right"><a class="signup_link login-button" href="https://www.tumblr.com/login" role="button">Einloggen<a class="signup_link signup-button" href="https://www.tumblr.com/register" role="button">Registrieren<div class="l-container"><div class="l-content clearfix"><div data-view="guce-gdpr"><script id="tumblelog_popover_template" type="text/template"><% var is_poptica = (typeof is_poptica === 'boolean') ? is_poptica : false; %>
<script id="recommended_blogs_template" type="text/template">

<%= followed_blog %> rebloggt Sachen von:

  <script id="highlighted_posts_template" type="text/template"><%
  var color = (typeof loader_color !== 'undefined') ? loader_color : '#D9D9D9';
  %>
<script id="tumblelog_popover_info" type="text/template"><% if(typeof url === 'string') { %><% if(typeof avatar_url === 'string') { %><% } %>
<% if(typeof title === 'string' && title !== '') { %>

<%= name %>

<%= title %>

<% } else { %>

<%= name %>

<% } %>
<% if(typeof is_you === 'undefined' || is_you !== true) { %>
<% if (show_menu === true) { %>
<% } %><% if(typeof ignoring === 'undefined' || ignoring !== true) { %><% if(typeof following === 'boolean' && following === true) { %><% } %><% } %><script id="poptica_template" type="text/template"><%
  var has_bg_img = (global_theme_params.header_image_focused && global_theme_params.show_header_image);
  var has_title = (title && global_theme_params.show_title);
  var has_description = (description_sanitized && global_theme_params.show_description);
   
  var header_class = (global_theme_params.header_stretch) ? '' : ' no_stretch_header';
  header_class += (has_bg_img) ? '' : ' no_header_image';
  header_class += (has_bg_img && !has_title && !has_description) ? ' header_image_only' : '';
  %>
<% if(has_bg_img) { %>
<% } %>
<script id="tumblelog_header_inline_styles" type="text/template"><script id="tumblelog_header_template" type="text/template"><%
  // Checks if this is being rendered for the legacy popover
  var is_popover = (typeof popover === 'boolean') ? popover : false;
  // Checks if this is being rendered for the blog cards in Search
  var is_search_blog_card = (typeof search_blog_card === 'boolean') ? search_blog_card : false;
  var is_sponsored = (typeof sponsored === 'boolean') ? sponsored : false;
   
  var body_context = is_popover ? "AbigHlsDAAj96g" : "AbigHlsDAAn96g";
  var header_context = is_popover ? "AbigHlsDAAj96Q" : "AbigHlsDAAn96Q";
  var has_avatar = (avatar_url && global_theme_params.show_avatar);
  var has_bg_img = (global_theme_params.header_image_focused && global_theme_params.show_header_image);
  var has_title = (title && global_theme_params.show_title);
  var has_description = (description_sanitized && global_theme_params.show_description);
   
  // Hide the header image if the blog card is a popover/search blog card and the image is default
  var hide_default_header = (is_popover || is_search_blog_card) ? has_default_header && hide_headers_flag : false;
   
  var expanded_name = (cname) ? cname : name + ".tumblr.com";
  var description_color = (title_color_rgb) ? 'rgba(' + title_color_rgb + ',0.7)' : global_theme_params.title_color;
  var is_tumblelog_nsfw = (typeof nsfw === 'boolean') ? nsfw : false;
  var show_edit_appearance = true;
  var header_class = (global_theme_params.header_stretch) ? '' : ' no_stretch_header';
  header_class += (has_bg_img && !hide_default_header) ? '' : ' no_header_image';
  header_class += (has_avatar) ? '' : ' no_avatar';
  header_class += ((has_bg_img && !hide_default_header) && !has_avatar && !has_title && !has_description) ? ' header_image_only' : '';
  header_class += (has_title || has_description) ? ' has_info' : ' no_info';
   
  var show_peepr = (typeof has_peepr_header === 'boolean') ? has_peepr_header : true;
  %><div class="indash_header_wrapper <%- header_class %> tumblelogname<%- name %>"
  style="background-color:<%- global_theme_params.background_color %>; color:<%- global_theme_params.title_color %>"
  data-context-path="<%- body_context %>"
  ><% if (show_navigation) { %>
  if (is_verified) {
   
  switch(badge_type) {
  case 'normal':
  %><%
  break;
  case 'official':
  %>Offiziell<%
  break;
  }
  }
  %><% if (show_dismiss_controls) { %>Hier ist ein Blog: <% } %><%- name %><% if (show_dismiss_controls) { %>Hier ist ein Blog: <% } %><%- expanded_name %><% } %>
<% if (show_share_controls) { %><% } %><% if (!is_popover && customizable && show_edit_appearance) { %><% } %><% if (!customizable && show_user_controls) { %><% } %><% if(!is_popover && is_sponsored) { %><% } %><% if (!customizable && show_follow_button) { %><% if(following) { %><% } else { %><% } %><% } %>
<% } %><% if(global_theme_params.header_image_focused && global_theme_params.show_header_image && !hide_default_header) { %>
<a href="<%- url %>" target="_blank" rel="noopener" <% if (show_peepr) { %>data-peepr='{"tumblelog":"<%- name %>"}'<% } %>><%- title %>
<% } %><% if(avatar_url && global_theme_params.show_avatar) { %>
<a href="<%- url %>" target="_blank" rel="noopener" <% if (show_peepr) { %>data-peepr='{"tumblelog":"<%- name %>"}'<% } %>><% if (can_pixelate_avatar) { %><canvas
  class='post-activity-avatar-image post_sub_avatar_image pixelated-avatar needs-drawing hide <%- global_theme_params.avatar_shape %>'
  data-image-url='<%- avatar_url %>'
  width="64"
  height="64"
  alt='<%- title %>' /><% } else { %><%- title %><% } %><% } %><% if(has_title || has_description) { %>
<% if(has_title) { %>

<%- title %>

<% } %><% if(has_description) { %>
<%= description_sanitized %>
<% } %>
<% } %><script id="tumblelog_header_customize_template" type="text/template"><%
  var stretch_header_class = (global_theme_params.header_stretch) ? '' : 'no_stretch_header';
  var description_color = (title_color_rgb) ? 'rgba(' + title_color_rgb + ',0.7)' : global_theme_params.title_color;
  var filetype_error = "That's not even an image...";
  var filetype_ok = "I am sorry";
  var filesize_error = "That's too big!
Try making it 10 MB or less.";
  var filesize_ok = "Fine";
  %>

<%- title %>

<%- description %>
Hintergrund
<script id="tumblelog_header_position_template" type="text/template">
<script id="tumblelog_header_info_popover_template" type="text/template">
  Wir simsen dich bei jedem Posting dieses Tumblrs an. (Dazu brauchst du die App.) <% if (show_flag_button) { %>
  • Melden
  • <% } %>
  • Entsperren
  • Sperren
  • <script id="tumblelog_header_avatar_popover_template" type="text/template">
    • Foto wählen
    • <a class="avatar_shape square<% if(global_theme_params.avatar_shape === 'square'){ print(" selected") } %>" data-value="square"><a class="avatar_shape circle<% if(global_theme_params.avatar_shape === 'circle'){ print(" selected") } %>" data-value="circle">
    <script id="tumblelog_header_title_popover_template" type="text/template">
    • <% if(current_font) { %>
      <%- current_font.display_name %>
      <% } %>
      <% if(global_theme_params.title_font_weight === "bold") { %><% } else { %><% } %>
      Schrift
    <script id="tumblelog_header_description_popover_template" type="text/template">
    <script id="tumblelog_header_image_popover_template" type="text/template">
    • Foto wählen
    • Neu positionieren
    <script id="tumblelog_header_color_popover_template" type="text/template">
    <script id="tumblelog_header_share_popover_template" type="text/template">
    Gesendet!
    <script id="post_moderation_popover_template" type="text/template">
      Diesen Eintrag melden
      Nicht jugendfreie Inhalte werden zurzeit ausgeblendet ( ), aber dieser Eintrag wurde trotzdem angezeigt.
      Anderes Problem melden
    <script id="tumblelog_header_inline_styles" type="text/template"><script id="tumblelog_header_template" type="text/template"><%
      // Checks if this is being rendered for the legacy popover
      var is_popover = (typeof popover === 'boolean') ? popover : false;
      // Checks if this is being rendered for the blog cards in Search
      var is_search_blog_card = (typeof search_blog_card === 'boolean') ? search_blog_card : false;
      var is_sponsored = (typeof sponsored === 'boolean') ? sponsored : false;
       
      var body_context = is_popover ? "AbigHlsDAAj96g" : "AbigHlsDAAn96g";
      var header_context = is_popover ? "AbigHlsDAAj96Q" : "AbigHlsDAAn96Q";
      var has_avatar = (avatar_url && global_theme_params.show_avatar);
      var has_bg_img = (global_theme_params.header_image_focused && global_theme_params.show_header_image);
      var has_title = (title && global_theme_params.show_title);
      var has_description = (description_sanitized && global_theme_params.show_description);
       
      // Hide the header image if the blog card is a popover/search blog card and the image is default
      var hide_default_header = (is_popover || is_search_blog_card) ? has_default_header && hide_headers_flag : false;
       
      var expanded_name = (cname) ? cname : name + ".tumblr.com";
      var description_color = (title_color_rgb) ? 'rgba(' + title_color_rgb + ',0.7)' : global_theme_params.title_color;
      var is_tumblelog_nsfw = (typeof nsfw === 'boolean') ? nsfw : false;
      var show_edit_appearance = true;
      var header_class = (global_theme_params.header_stretch) ? '' : ' no_stretch_header';
      header_class += (has_bg_img && !hide_default_header) ? '' : ' no_header_image';
      header_class += (has_avatar) ? '' : ' no_avatar';
      header_class += ((has_bg_img && !hide_default_header) && !has_avatar && !has_title && !has_description) ? ' header_image_only' : '';
      header_class += (has_title || has_description) ? ' has_info' : ' no_info';
       
      var show_peepr = (typeof has_peepr_header === 'boolean') ? has_peepr_header : true;
      %><div class="indash_header_wrapper <%- header_class %> tumblelogname<%- name %>"
      style="background-color:<%- global_theme_params.background_color %>; color:<%- global_theme_params.title_color %>"
      data-context-path="<%- body_context %>"
      ><% if (show_navigation) { %>
      if (is_verified) {
       
      switch(badge_type) {
      case 'normal':
      %><%
      break;
      case 'official':
      %>Offiziell<%
      break;
      }
      }
      %><% if (show_dismiss_controls) { %>Hier ist ein Blog: <% } %><%- name %><% if (show_dismiss_controls) { %>Hier ist ein Blog: <% } %><%- expanded_name %><% } %>
    <% if (show_share_controls) { %><% } %><% if (!is_popover && customizable && show_edit_appearance) { %><% } %><% if (!customizable && show_user_controls) { %><% } %><% if(!is_popover && is_sponsored) { %><% } %><% if (!customizable && show_follow_button) { %><% if(following) { %><% } else { %><% } %><% } %>
    <% } %><% if(global_theme_params.header_image_focused && global_theme_params.show_header_image && !hide_default_header) { %>
    <a href="<%- url %>" target="_blank" rel="noopener" <% if (show_peepr) { %>data-peepr='{"tumblelog":"<%- name %>"}'<% } %>><%- title %>
    <% } %><% if(avatar_url && global_theme_params.show_avatar) { %>
    <a href="<%- url %>" target="_blank" rel="noopener" <% if (show_peepr) { %>data-peepr='{"tumblelog":"<%- name %>"}'<% } %>><% if (can_pixelate_avatar) { %><canvas
      class='post-activity-avatar-image post_sub_avatar_image pixelated-avatar needs-drawing hide <%- global_theme_params.avatar_shape %>'
      data-image-url='<%- avatar_url %>'
      width="64"
      height="64"
      alt='<%- title %>' /><% } else { %><%- title %><% } %><% } %><% if(has_title || has_description) { %>
    <% if(has_title) { %>

    <%- title %>

    <% } %><% if(has_description) { %>
    <%= description_sanitized %>
    <% } %>
    <% } %><script id="tumblelog_header_customize_template" type="text/template"><%
      var stretch_header_class = (global_theme_params.header_stretch) ? '' : 'no_stretch_header';
      var description_color = (title_color_rgb) ? 'rgba(' + title_color_rgb + ',0.7)' : global_theme_params.title_color;
      var filetype_error = "That's not even an image...";
      var filetype_ok = "I am sorry";
      var filesize_error = "That's too big!
    Try making it 10 MB or less.";
      var filesize_ok = "Fine";
      %>

    <%- title %>

    <%- description %>
    Hintergrund
    <script id="tumblelog_header_position_template" type="text/template">
    <script id="tumblelog_header_info_popover_template" type="text/template">
     
      Das ist als bedenklich gekennzeichnet
    Überprüfung anfordern
    <%= model.post_html %><% } else { %>
    <%= model.post_html %>
    <% } %><% var safeModeDecision = !safeMode
      || !model.is_nsfw_based_on_score
      || (safeMode && model.is_nsfw_based_on_score && ownBlog);
       
      if ((safeModeDecision && !hasTagFiltering) |\
      shouldBypassTagFiltering |\
      shouldBypassSafeMode) {
      %><% if (!_.isUndefined(model.sourceurl) && .isEmpty(model.source_url) && model.source_title) { %>
    Source:
    <% } else if (typeof model.source_url !== 'undefined' && model.source_title) { %>
    Source: <a class="post-source-link post_info_link" target="_blank" href="<%- model.source_url %>" title="<%- model.source_title %>" rel="noopener" <% if (!model.has_custom_source_url) { %> data-peepr='{"tumblelog":"<%- model.source_title %>", "postId":"<%- model.root_id %>"}'<% } %>><%- model.source_title %>
    <% } %><% if (!inlineTags) { %>
    <% } %><% if (typeof model.tags !== 'undefined' && model.tags.length > 0) { %><% } %><% if (flagFrontend && model.is_nsfw && ownBlog && model.owner_appeal_nsfw && model.owner_appealnsfw != .find(appealState, {appeal: 'OWNER_APPEAL_NSFW_NONE'}).readable) { %>Bedenklich<% } %>
      title="<%- model.notes.current %>"
      data-less="<%- model.notes.less %>"
      data-more="<%- model.notes.more %>"
      data-count="<%- model.notes.count %>"
      ><%- model.notes.current %><% } %>
    <% if (model.can_send_in_message) { %><div class="post_control post-control-icon share" data-subview="share" title="Teilen" data-tumblelog-uuid="<%- model.tumblelog_uuid %>" data-is-nsfw="<%- model.is_nsfw %>" data-post-id="<%-
      model.id %>" data-tumblelog-name="<%- model.tumblelog %>" data-parent-tumblelog-name="<%- _.get(model, 'reblogged_from_name') %>"><% } %><% if (model.can_reply) { %>
    <% } %><% if (model.can_reblog) { %><% } %><% if (model.can_like) { %><% } %><% } %><script id="indash_blog_post_show_more" type="text/template"><script id="peepr_error" type="text/template"><% var errorText = ["Das Ding ist wohl kaputt. Noch mal versuchen?","Da ist was faul. Noch mal versuchen?","Da ist was schiefgelaufen. Noch mal versuchen?","Das ging in die Hose. Noch mal versuchen?","Das lief ganz verkehrt. Noch mal versuchen?","Es l\u00e4dt nicht, wir geben auf. Noch mal versuchen?","Ich bin kaputt.","Nix geht.","Da ist was im A.... Noch mal versuchen?","Da ist was kaputt. Es tut uns leid, echt. Noch mal versuchen?","Das war ein Schuss in den Ofen. Noch mal versuchen?","Fail auf ganzer Linie. Aber versuch es ruhig noch mal.","Viel Zeit ist vergangen.","Stunden sp\u00e4ter ... nichts tut sich.","Hmm, das scheint nicht zu funktionieren.","Irgendwas ist schiefgelaufen. Ich habe es wirklich versucht. Und ich m\u00f6chte es noch mal versuchen."] %>
    <%= _.sample(errorText) %>
     
      Tumblr.auto_paginate = false;
      Tumblr.enable_dashboard_key_commands = false;
      Tumblr.animate_scroll = true;
       
      if (_.isObject(Tumblr.KeyCommandsConstructor)) {
      Tumblr.KeyCommands = new Tumblr.KeyCommandsConstructor();
      }
       
       
       
     
       

    `