{"id":13366,"date":"2024-06-25T00:14:43","date_gmt":"2024-06-24T22:14:43","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=13366"},"modified":"2024-07-01T11:56:01","modified_gmt":"2024-07-01T09:56:01","slug":"abload-schliesst-imagehoster-sterben-wir-retten-uber-2-200-bilder","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/abload-schliesst-imagehoster-sterben-wir-retten-uber-2-200-bilder\/","title":{"rendered":"Abload schlie\u00dft: Das sterben der Bildhoster &#8211; Wir retten \u00fcber 2.200 Bilder!"},"content":{"rendered":"<p>Diesmal trifft es mit abload.de und filehostr.de vom gleichen Betreiber ein Urgestein. \u00dcber 94.000.000 Bilder wurden auf Abload in den fast 18 Jahren des Bestehens gespeichert. Auch auf U-Labs war dieser Hoster beliebt: Mehr als 2.200 Bilder drohen, f\u00fcr immer Verloren zu gehen. Es wird daher Zeit f\u00fcr eine Rettungsaktion.<\/p>\n<h2 class=\"wp-block-heading\">Was ist Abload.de?<\/h2>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-9.png\"><img loading=\"lazy\" decoding=\"async\" width=\"538\" height=\"142\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-9.png\" alt=\"\" class=\"wp-image-13386\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-9.png 538w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-9-300x79.png 300w\" sizes=\"auto, (max-width: 538px) 100vw, 538px\" \/><\/a><\/figure>\n<\/div>\n<p>Der 2006 gestartete Dienst des damals 17-J\u00e4hrigen Gr\u00fcnders war mit dem Ziel angetreten, kostenlosen Bildspeicher f\u00fcr jeden bereitzustellen. Seit 2007 kann man die \u00c4nderungen im hauseigenen Blog nachverfolgen.<sup data-fn=\"7daba7e3-baff-4c6e-ba51-dd89eb81cd00\" class=\"fn\"><a href=\"#7daba7e3-baff-4c6e-ba51-dd89eb81cd00\" id=\"7daba7e3-baff-4c6e-ba51-dd89eb81cd00-link\">1<\/a><\/sup> Dort berichtet der Gr\u00fcnder bereits 2021 von fast 90 Millionen hochgeladenen Dateien in 15 Jahren. Auch das erste Testbild von damals sei noch online. <sup data-fn=\"3cf4654b-08ae-4fcc-afee-2920b1833fdd\" class=\"fn\"><a href=\"#3cf4654b-08ae-4fcc-afee-2920b1833fdd\" id=\"3cf4654b-08ae-4fcc-afee-2920b1833fdd-link\">2<\/a><\/sup> Und das kaufe ich ihm sofort ab: \u00dcber Jahre hinweg hat sich Abload in meiner Erfahrung als sehr zuverl\u00e4ssig erwiesen. Das \u00e4lteste von mir pers\u00f6nlich im Konto hochgeladene Bild stammt von 2013, es ist auch 2024 abrufbar.<\/p>\n<p>Aus heutiger Sicht mag es erkl\u00e4rungsbed\u00fcrftig sein, warum man solch einen Bildhoster ben\u00f6tigt(e): Vor einigen Jahren war Speicher teuer und auch der Datenverkehr (Abruf von z.B. auf Servern gespeicherter Bilder) begrenzt. Sie wurden daher h\u00e4ufig f\u00fcr Blogs, Foren, Verkaufsplattformen wie eBay sowie andere Webseiten verwendet. Besonders praktisch ist das, wenn ein Bild an mehreren Stellen ben\u00f6tigt wird. Etwa f\u00fcr Bildschirmfotos: Verbreitete Programme wie ShareX bieten das automatische Hochladen an. Der Link l\u00e4sst sich per Messengern verschicken, eben so in Foren oder auf dem Blog einbinden. Ob und wo das passiert, entscheidet der Nutzer selbst. Es gibt keine \u00f6ffentliche Liste aller Bilder, wie auf Instagram &amp; co.<\/p>\n<p>\u00dcber die letzten Jahre hat das sicher abgenommen, weil sich ein erheblicher Teil der Aktivit\u00e4t auf (kommerzielle) soziale Netzwerke verlagerte. Sie laden alle Inhalte auf eigene Server. Die Kosten daf\u00fcr sind vernachl\u00e4ssigbar: Schlie\u00dflich l\u00e4sst sich durch das massenhafte Sammeln und Verkaufen von Nutzerdaten extrem viel Geld verdienen. Neben den allgemein gesunkenen Speicherpreisen haben sich zudem ein paar weitere Rahmenbedingungen ver\u00e4ndert. Beispielsweise verlangte eBay fr\u00fcher einen Aufpreis f\u00fcr weitere Bilder. Da in der Beschreibung HTML und sogar JavaSkript erlaubt waren, betteten einige die Bilder per HTML <code class=\"\" data-line=\"\">&lt;img&gt;<\/code> Element in die Beschreibung ein. Selbst kostenpflichtiger Speicher h\u00e4tte sich daf\u00fcr schnell gerechnet. Dank zuverl\u00e4ssiger Diensten wie Abload war das gar nicht zwingend n\u00f6tig.<sup data-fn=\"38f539d6-0f1e-4d9d-8eb3-3dc71b3d59db\" class=\"fn\"><a href=\"#38f539d6-0f1e-4d9d-8eb3-3dc71b3d59db\" id=\"38f539d6-0f1e-4d9d-8eb3-3dc71b3d59db-link\">3<\/a><\/sup>\u00dcber die letzten Jahre hat das sicher abgenommen, weil sich ein erheblicher Teil der Aktivit\u00e4t auf (kommerzielle) soziale Netzwerke verlagerte. Sie laden alle Inhalte auf eigene Server. Die Kosten daf\u00fcr sind vernachl\u00e4ssigbar: Schlie\u00dflich l\u00e4sst sich durch das massenhafte Sammeln und Verkaufen von Nutzerdaten extrem viel Geld verdienen. Neben den allgemein gesunkenen Speicherpreisen haben sich zudem ein paar weitere Rahmenbedingungen ver\u00e4ndert. Beispielsweise verlangte eBay fr\u00fcher einen Aufpreis f\u00fcr weitere Bilder. Da in der Beschreibung HTML und sogar JavaSkript erlaubt waren, betteten einige die Bilder per HTML <code class=\"\" data-line=\"\">&lt;img&gt;<\/code> Element in die Beschreibung ein. Selbst kostenpflichtiger Speicher h\u00e4tte sich daf\u00fcr schnell gerechnet. Dank zuverl\u00e4ssiger Diensten wie Abload war das gar nicht zwingend n\u00f6tig.<\/p>\n<h2 class=\"wp-block-heading\">Warum Abload sein 20-J\u00e4hriges Jubil\u00e4um nicht mehr erreicht<\/h2>\n<p>Wenn man nicht selbst f\u00fcr einen Dienst bezahlt, gibt es meist nur zwei M\u00f6glichkeiten: Entweder ist man selbst das Produkt, wie bei den kommerziellen Sozialen Netzwerken. Oder jemand anders bezahlt. Das ist bei Abload der Fall, sie leben von Werbung und Spenden. Laut Betreibern decken sie damit die Kosten f\u00fcr die Infrastruktur. Die Pflege des Dienstes selbst erfolgt in ihrer Freizeit, ist also nicht auf kommerzielle Gewinne aus. Bereits im Dezember 2023 musste das Hochladen neuer Bilder eingestellt werden. Anlass war eine Speichererweiterung f\u00fcr die stetig wachsende Menge an Daten.<sup data-fn=\"d9111018-f5ca-4c06-9e1e-43facafe1cc7\" class=\"fn\"><a href=\"#d9111018-f5ca-4c06-9e1e-43facafe1cc7\" id=\"d9111018-f5ca-4c06-9e1e-43facafe1cc7-link\">4<\/a><\/sup> Denn auch wenn Abload nicht mehr so stark frequentiert sein mag, wie noch vor einigen Jahren &#8211; es mussten immer noch t\u00e4glich tausende neue Bilder gespeichert werden.<\/p>\n<p>Konkret nennt der Gr\u00fcnder folgende Ursachen, weswegen Abload zum 30.06.2024 eingestellt wird:<sup data-fn=\"b07b766f-fe4b-4bb4-a2a1-2f24e1c309c2\" class=\"fn\"><a href=\"#b07b766f-fe4b-4bb4-a2a1-2f24e1c309c2\" id=\"b07b766f-fe4b-4bb4-a2a1-2f24e1c309c2-link\">5<\/a><\/sup><\/p>\n<ol class=\"wp-block-list\">\n<li>Die Betriebskosten steigen<\/li>\n<li>Sinkende Einnahmen<\/li>\n<li>H\u00f6here Verpflichtungen durch gesetzliche Anforderungen\/Anwaltliche Beratung<\/li>\n<li>Ge\u00e4nderte Lebensumst\u00e4nde der Betreiber<\/li>\n<\/ol>\n<p>Es ist klar, dass trotz langfristig gesunkener Speicherpreise die Betriebskosten bei t\u00e4glich wachsender Datenmenge steigen. Punkt #2 ist ebenfalls nachvollziehbar &#8211; insbesondere, wenn die Einnahmen parallel sinken. Werbeblocker verbreiten sich seit Jahren zunehmend und die Spendenbereitschaft sinkt auch durch andere Entwicklungen. Wer beispielsweise eine (Next-) Cloud verwendet, kann Bilder sowie weitere Daten im kleineren Personenkreis direkt dort teilen. In vielen Sozialen Netzwerken sind ohnehin keine externen Hoster mehr n\u00f6tig. Betreiber von Blogs oder Foren nutzen lokale M\u00f6glichkeiten, sofern sie ihren Betrieb nicht ebenfalls bereits eingestellt haben.<\/p>\n<h2 class=\"wp-block-heading\">Das Sterben der Bildhoster<\/h2>\n<p>Dabei handelt es sich n\u00e4mlich um keinen Einzelfall. <a href=\"https:\/\/u-labs.de\/portal\/raspberry-pi-mehr-linux-weniger-windows-u-img-cloudhacks-werbeblocker-usw-das-war-2023-auf-u-labs\/\">Im Jahresr\u00fcckblick 2023 hatte ich neben dem Lesemodus von Abload noch vier weitere Beispiele von Bildhostern erw\u00e4hnt, die in den Jahren zuvor ihre Dienste eingestellt haben<\/a>. Ein weiteres Beispiel ist folgender Ordner aus meinen alten Lesezeichen, in denen ich 2014 insgesamt 9 Bildhoster abgelegt hatte:<\/p>\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/2024-06-08_20-22.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"160\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/2024-06-08_20-22-1024x160.png\" alt=\"\" class=\"wp-image-13369\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/2024-06-08_20-22-1024x160.png 1024w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/2024-06-08_20-22-300x47.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/2024-06-08_20-22-768x120.png 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/2024-06-08_20-22-1536x240.png 1536w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/2024-06-08_20-22-640x100.png 640w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/2024-06-08_20-22-1090x170.png 1090w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/2024-06-08_20-22.png 1603w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<p>Lediglich drei davon sind zehn Jahre sp\u00e4ter noch online:<\/p>\n<ul class=\"wp-block-list\">\n<li>img5.cc<\/li>\n<li>pic-upload.de<\/li>\n<li>xup.in<\/li>\n<\/ul>\n<p>Eingestellt:<\/p>\n<ul class=\"wp-block-list\">\n<li>picload.org &#8211; leitet auf abload.de weiter. Laut einer Info-Seite wurde picload 2019 eingestellt und die Abload-Betreiber haben angeboten, dessen Bilder zu \u00fcbernehmen. Die jeweiligen Nutzer mussten daf\u00fcr ihr Einverst\u00e4ndnis geben.<sup data-fn=\"5ecc32eb-2294-4e69-a181-da9f3ef9634d\" class=\"fn\"><a href=\"#5ecc32eb-2294-4e69-a181-da9f3ef9634d\" id=\"5ecc32eb-2294-4e69-a181-da9f3ef9634d-link\">6<\/a><\/sup><\/li>\n<li>picspeicher.de<\/li>\n<li>imgimg.de &#8211; zeigt seit geraumer Zeit nur <em>403 Forbidden<\/em>. Sowohl auf der Startseite, als auch auf Links zu Bildern.<\/li>\n<li>jaypac.de<\/li>\n<li>image-load.net &#8211; Auf Startseite und Links zu Bildern wird ein HTTP Basic Authentifizierungsdialog angezeigt<\/li>\n<li>bild5.de &#8211; Ebenfalls 403 Forbidden<\/li>\n<\/ul>\n<p>Und das ist nur ein Auszug. Diese Liste k\u00f6nnte man noch weiter f\u00fchren, ein paar Beispiele die 2014 noch online waren:<\/p>\n<ul class=\"wp-block-list\">\n<li>imgbox.de ist viele Jahre online gewesen. Seit l\u00e4ngerem liefern sie ein ung\u00fcltiges TLS-Zertifikat aus und auch wer das ignoriert, sieht lediglich eine <em>503 Service Temporarily Unavailable<\/em> Fehlerseite.<\/li>\n<li>img4web.com l\u00e4dt gar nicht mehr<\/li>\n<li>yourupload.de leitet auf eine Verkauffseite f\u00fcr die Domain<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\">Selbst Archivseiten helfen kaum: &#8222;Eco&#8220; m\u00f6chte Abload nicht archivieren<\/h2>\n<p>Sind Webseiten nicht mehr verf\u00fcgbar, kann man mit verschiedenen Archivdiensten m\u00f6glicherweise die Inhalte noch abrufen. Das ist zwar bei weitem keine Garantie: Selbst die gr\u00f6\u00dften Archive haben nur einen kleinen Bruchteil des Internets archiviert. M\u00f6glicherweise zu einem Zeitpunkt, an dem die gew\u00fcnschten Inhalte noch nicht oder nicht mehr auf der Seite vorhanden waren. Dazu kann es zu Problemen kommen, vor allem bei Multimedia-Inhalten wie Bildern oder Videos. Diese ben\u00f6tigen deutlich mehr Speicher als Text und sind daher ein Kostenfaktor.<\/p>\n<p>Wer beispielsweise auf archive.li nach abload.de sucht,<sup data-fn=\"41a6db1a-0e51-4cf6-a935-01153b69a359\" class=\"fn\"><a href=\"#41a6db1a-0e51-4cf6-a935-01153b69a359\" id=\"41a6db1a-0e51-4cf6-a935-01153b69a359-link\">7<\/a><\/sup> wird noch ein Problem feststellen: Der &#8222;eco &#8211; Verband der Internetwirtschaft e.V.&#8220; hat etwas dagegen und anscheinend s\u00e4mtliche Treffer zu Abload entfernen lassen. Selbst mit <em>https:\/\/abload.de\/*<\/em> werden keine Ergebnisse angezeigt. Damit entf\u00e4llt selbst dieser letzte Strohhalm, um ggf. nach dem 30.06.2024 bis dahin ungesicherte Bilder retten zu k\u00f6nnen.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-5.png\"><img loading=\"lazy\" decoding=\"async\" width=\"968\" height=\"287\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-5.png\" alt=\"\" class=\"wp-image-13371\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-5.png 968w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-5-300x89.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-5-768x228.png 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-5-640x190.png 640w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-5-573x170.png 573w\" sizes=\"auto, (max-width: 968px) 100vw, 968px\" \/><\/a><\/figure>\n<\/div>\n<h2 class=\"wp-block-heading\">Die Probleme: Verschwundene Bildhoster machen das Internet kaputt<\/h2>\n<p>Bei manchen handelt es sich um kleinere Dienste, die nur ein paar tausend oder zehntausend Bilder enthielten. Aber auch diese sind weg, falls der Betrieb eingestellt wird. M\u00f6glicherweise ohne Vorwarnung &#8211; nicht jeder gew\u00e4hrt den Nutzern zumindest einige Wochen Zeit, um ihre Bilder umzuziehen. Insbesondere bei gro\u00dfen Anbietern sind die Verluste gewaltig. Tinypic beispielsweise war 15 Jahre lang online und zur Bl\u00fctezeit sehr beliebt.<sup data-fn=\"78b1ce71-2723-429d-8f4f-95bf7af53bfe\" class=\"fn\"><a href=\"#78b1ce71-2723-429d-8f4f-95bf7af53bfe\" id=\"78b1ce71-2723-429d-8f4f-95bf7af53bfe-link\">8<\/a><\/sup> Alleine Abload stellte Ende 2023 \u00fcber 94,7 Millionen Bilder zur Verf\u00fcgung, die etwa 7,361 Millionen mal am Tag aufgerufen werden.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/abload-statistiken_31.12.2024.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"999\" height=\"342\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/abload-statistiken_31.12.2024.jpg\" alt=\"\" class=\"wp-image-13429\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/abload-statistiken_31.12.2024.jpg 999w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/abload-statistiken_31.12.2024-300x103.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/abload-statistiken_31.12.2024-768x263.jpg 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/abload-statistiken_31.12.2024-640x219.jpg 640w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/abload-statistiken_31.12.2024-497x170.jpg 497w\" sizes=\"auto, (max-width: 999px) 100vw, 999px\" \/><\/a><\/figure>\n<\/div>\n<p>Diese Bilder sind \u00fcberall im Web verstreut. Selbst mit Vorlaufzeit m\u00fcssten Betroffene \u00fcber das baldige Ende von Abload informiert sein und rechtzeitig alle Bilder umziehen. In gr\u00f6\u00dferen Blogs oder Foren beispielsweise keine leichte Aufgabe.<\/p>\n<h2 class=\"wp-block-heading\">Die L\u00f6sung: So retten wir \u00fcber 2.200 Bilder<\/h2>\n<p>Alleine auf U-Labs zeigt eine schnelle Volltextsuche nach <em>abload.de\/<\/em> \u00fcber 1.800 betroffene Beitr\u00e4ge. Insgesamt sind darin mehr als 2.200 Bilder zu Abload verlinkt. Die Zahlen weichen voneinander ab, da manch ein Beitrag mehrere Bilder enth\u00e4lt.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"240\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-4.png\" alt=\"\" class=\"wp-image-13370\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-4.png 474w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-4-300x152.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-4-336x170.png 336w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/figure>\n<\/div>\n<p><a href=\"https:\/\/u-labs.de\/forum\/news-ankuendigungen-4\/release-u-img-u-labs-imagehoster-18536\">Das Problem wurde auf U-Labs bereits 2012 erkannt: Im selben Jahr startete unser eigener Bildhoster U-IMG<\/a>. Externe Dienste haben eine Reihe an Nachteilen. <a href=\"https:\/\/u-labs.de\/forum\/support-19\/u-hacks-malware-fehler-16915?p=147190&amp;viewfull=1#post147190\">Wir wurden sogar einmal in Chrome blockiert, weil wir ein Bild von einer angeblich verseuchten Seite eingebunden haben<\/a>. Um den Wildwuchs einzud\u00e4mmen und die Nutzer zur Verwendung von U-IMG zu animieren, <a href=\"https:\/\/u-labs.de\/forum\/news-ankuendigungen-4\/erlaubte-imagehoster-17046\">gibt es zur direkten Einbettung seit dem gleichen Jahr eine Liste erlaubter Anbieter<\/a>. Dort befinden sich 11 externe Dienste, darunter unter anderem Abload. An dieser Stelle r\u00e4cht sich, dass diese Liste danach nicht Schrittweise eingeschr\u00e4nkt wurde. Zumindest f\u00fcr neue Beitr\u00e4ge w\u00e4re das sinnvoll gewesen. Dennoch liefert U-IMG tausende Bilder aus und hat sicherlich dazu beigetragen, diese nachhaltig, performant sowie datensparsam f\u00fcr die Nutzer bereitzustellen. Die grunds\u00e4tzliche Entscheidung f\u00fcr U-IMG sehe ich an dieser Stelle best\u00e4tigt.<\/p>\n<p>Als Betreiber von U-Labs kann ich zumindest hier etwas tun: Die Links auf Abload aus allen Beitr\u00e4gen extrahieren, das jeweilige Bild herunterladen und auf meinem eigenen Bildhoster U-IMG hochladen. Bei \u00fcber 1.800 Beitr\u00e4gen muss dies automatisiert erfolgen: Manuell w\u00e4re dies zu zeitaufw\u00e4ndig. Au\u00dferdem ist es eine monotone T\u00e4tigkeit, die schnell nervt. Dar\u00fcber hinaus gibt es eingebettete Bilder auf anderen Diensten. Es wird h\u00f6chste Zeit, im n\u00e4chsten Schritt auch diese umzuziehen &#8211; bevor in ein paar Monaten oder Jahren der n\u00e4chste Anbieter den Stecker zieht oder ziehen muss.<\/p>\n<h2 class=\"wp-block-heading\">Wie zieht man so viele Bilder um?<\/h2>\n<p>In diesem Abschnitt beschreibe ich meine Vorgehensweise beim Umzug. Nicht bis ins letzte Detail und jeder einzelnen Zeile Code. Sondern als Zusammenfassung der wichtigsten Punkte.<\/p>\n<h3 class=\"wp-block-heading\">Wonach suchen wir genau?<\/h3>\n<p>F\u00fcr das ermitteln der betroffenen Beitr\u00e4ge habe ich mit <code class=\"\" data-line=\"\">where lower(pagetext) like &#039;%abload.de%&#039;<\/code> bewusst sehr breit gesucht: Zwar ist mir das Format eines Direktlinks mit <code class=\"\" data-line=\"\">https:\/\/abload.de\/img\/{Dateiname}.{Endung}<\/code> bekannt. Allerdings existiert das U-Labs Forum seit Ende 2011. Erfahrungsgem\u00e4\u00df kann sich in fast 13 Jahren einiges ver\u00e4ndern. Bilder, die ich jetzt nicht finde, fallen unter derzeit \u00fcber 327.000 Beitr\u00e4gen bestenfalls auf, wenn Abload l\u00e4ngst vom Netz ist. F\u00fcr einen groben \u00dcberblick habe ich mir daher bewusst jene Beitr\u00e4ge anzeigen lassen, die abload.de enthalten und <strong>nicht<\/strong> auf das obige Muster passen. Hier fiel wie erwartet auf: Manche \u00e4ltere Direktlinks erhalten www als Subdomain. Andere allerdings auch andere, zudem in verschiedenen Formaten.<\/p>\n<div class=\"wp-block-syntaxhighlighter-code \">\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nhttp:\/\/h-4.abload.de\/img\/dbqtyn.png&amp;lt;br&gt;http:\/\/h10.abload.de\/img\/asd37qcf.jpg\n<\/pre>\n<\/div>\n<p>Wahrscheinlich hat Abload anfangs die Bilder auf einzelne Server verteilt und leitete \u00fcber die Subdomains direkt darauf. Sp\u00e4ter lief alles zentral \u00fcber einen Loadbalancer auf abload.de, bis man zwischendrin noch das Format (Bindestrich) ge\u00e4ndert hat. Damit war klar: Ich musste Subdomains ebenfalls ber\u00fccksichtigen. Am besten universell, da weitere Formate existieren k\u00f6nnen, die mir in der Masse bisher nicht aufgefallen sind.<\/p>\n<h3 class=\"wp-block-heading\">Wie suchen wir?<\/h3>\n<p>Mein erster Ansatz war, nach <code class=\"\" data-line=\"\">[IMG]<\/code> BBCodes zu suchen, die abload.de enthalten. Der Gedanke dahinter war: Bilder werden in der Regel eingebettet, <code class=\"\" data-line=\"\">[IMG]<\/code> ist mit einem HTML <code class=\"\" data-line=\"\">&lt;img&gt;<\/code> Element vergleichbar. Dabei wurde mir etwas deutlich, was ich bisher gar nicht auf dem Schirm hatte: Vorschaubilder (Thumbnails). Statt die Bilder direkt in voller Gr\u00f6\u00dfe einzubetten, wird ein verkleinertes Bild in einem <code class=\"\" data-line=\"\">[URL]<\/code> Element geschachtelt. Das verbraucht weniger Platz und h\u00e4lt den Beitrag \u00fcbersichtlich, insbesondere bei gr\u00f6\u00dferen\/mehreren Bildern. Der Imagehoster freut sich \u00fcber Werbeeinblendungen, falls jemand auf das Bild klickt und es auf der Seite des Anbieters in gr\u00f6\u00dferer Version betrachtet.<\/p>\n<div class=\"wp-block-syntaxhighlighter-code \">\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;url=https:\/\/abload.de\/image.php?img=2021-11-17_09-41-163uk0d.png]&#x5B;img]https:\/\/abload.de\/thumb\/2021-11-17_09-41-163uk0d.png&#x5B;\/img]&#x5B;\/url]\n<\/pre>\n<\/div>\n<p>Hier w\u00e4re es nat\u00fcrlich unsinnig, lediglich das kleine Vorschaubild zu ersetzen. Vor allem wenn lediglich das kleine Bild hochgeladen werden w\u00fcrde. Dar\u00fcber hinaus hat nicht jeder Nutzer von der Einbettung Gebrauch gemacht &#8211; manche f\u00fcgen lediglich den Link ein. Der von Abload bevorzugte Anzeigelink (welcher im Gegensatz zum Direktlink Werbung einbettet), f\u00fchrt zu <code class=\"\" data-line=\"\">image.php?img=<\/code> gefolgt vom Dateiname. In den Tests sind noch weitere Dinge aufgefallen. So schreibt Abload im Pfad &#8222;\/thumb\/&#8220; die Abmessungen und Dateigr\u00f6\u00dfe unten auf das Bild, bei &#8222;\/thumb2\/&#8220; nicht.<\/p>\n<p>Was ist, wenn ein Link m\u00f6glicherweise nicht klickbar in z.B. einem <code class=\"\" data-line=\"\"><\/code> Element verschachtelt ist? Oder jemand hat nur die Vorschau ohne Verlinkung eingebettet? So was kann unter tausenden Beitr\u00e4gen passieren, insbesondere von technisch weniger erfahrenen Nutzern. Es schien mir daher nicht sinnvoll, strikt die BBCodes zu parsen.<\/p>\n<p>Ich habe stattdessen einen regul\u00e4ren Ausdruck entwickelt, der alle Formate abdeckt:<\/p>\n<div class=\"wp-block-syntaxhighlighter-code \">\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n#http(?:s)?:\/\/(?:&#x5B;a-z0-9\\-]+\\.)?abload.de\/(?:img\/|thumb(?:2)?\/|image\\.php\\?img=)&#x5B;0-9a-z_\\-\\.]+\\.&#x5B;a-z]{3,4}#\n<\/pre>\n<\/div>\n<p>Welches Format ich davon bekomme, ist mir am Ende egal - mir geht es an dieser Stelle um den Dateiname. Alles andere ist daher als <em>non-capturing group<\/em> aus den extrahierten Daten ausgeschlossen und dient nur zur Mustererkennung. Nachdem mir dies nicht vollst\u00e4ndig von Anfang an klar war, habe ich zun\u00e4chst sogar nur das gesamte Match (also die vollst\u00e4ndige URL) genommen und anhand bestimmter Merkmale vereinheitlicht. Als Ziel sollte danach immer der direkte Link heraus kommen, um die originale Datei herunterzuladen.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-php\" data-line=\"\">\/\/ Vorschaubilder zum einbetten ([img] in [url] geschachtelt)\r\nif(strpos($imgDirectUrl, &#039;abload.de\/thumb&#039;) !== false) {\r\n    $imgDirectUrl = str_replace(&#039;abload.de\/thumb\/&#039;, &#039;abload.de\/img\/&#039;, $imgDirectUrl);\r\n}\r\n\/\/ HTML Seite mit eingebettetem Bild - Umwandlung zum Direktlink f\u00fcr Download\r\nif(strpos($imgDirectUrl, &#039;image.php&#039;) !== false) {\r\n    \/\/$imgName = explode(&#039;img=&#039;, $imgDirectUrl)[1];\r\n    $imgDirectUrl = str_replace(&#039;image.php?img=&#039;, &#039;img\/&#039;, $imgDirectUrl);\r\n}<\/code><\/pre>\n<h3 class=\"wp-block-heading\">Herunterladen der Bilder<\/h3>\n<p>Hierf\u00fcr nutze ich ein lokales tempor\u00e4res Verzeichnis und generiere einen SHA256 Hash des originalen Dateinamens. Nur um sicher zu gehen, kein Potenzial f\u00fcr Injections im Dateipfad zu haben. Zwar erwarte ich das bei Abload nicht. Aber Vorsicht ist besser als Nachsicht. Insbesondere, nachdem viele Anwendungen f\u00fcr derart triviale Angriffe verwundbar sind und ich das ganze hier vorstelle. Im Zweifel bedenkt man das beim n\u00e4chsten Projekt sonst ebenfalls nicht, wo sich derartiges \u00fcber einen einfachen HTTP POST Parameter oder vergleichbar ausnutzen l\u00e4sst.<\/p>\n<p>F\u00fcr das Herunterladen selbst kommt die cURL Bibliothek in PHP zum Einsatz.<sup data-fn=\"c2aa1d49-fee4-4936-b4db-999a96e61186\" class=\"fn\"><a href=\"#c2aa1d49-fee4-4936-b4db-999a96e61186\" id=\"c2aa1d49-fee4-4936-b4db-999a96e61186-link\">9<\/a><\/sup> Sie ist etwas sperrig, zumal die meisten Aufrufe auch 2024 immer noch rein prozedural erfolgen. PHP selbst bietet seit l\u00e4ngerem OOP mindestens als Alternative an. Allerdings ist sie stabil und nimmt einem etwas Arbeit ab, die man ansonsten durch komplett eigene Implementierung des HTTP-Protokolls h\u00e4tte. Beispielsweise kann die Antwort (= das Bild als bin\u00e4re Datei) vergleichsweise einfach in eine Datei geschrieben werden.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-php\" data-line=\"\">$hashedName = hash(&#039;sha256&#039;, $name);\r\n$tmpPath = &quot;\/abload_tmp\/$tmpName&quot;;\r\n$tmpFile = fopen($tmpPath , &#039;w&#039;);\r\n$ch = curl_init();\r\ncurl_setopt($ch, CURLOPT_FILE , $tmpFile);\r\ncurl_setopt($ch, CURLOPT_URL, $abloadUrl);\r\n\/\/ ...<\/code><\/pre>\n<h3 class=\"wp-block-heading\">Und wieder hochladen<\/h3>\n<p>Hier kommt ebenfalls wieder curl zum Einsatz. Theoretisch sollte das der einfachste Teil sein, weil ich als Betreiber von U-IMG alles beliebig anpassen kann. In der Praxis brauchte es doch etwas Zeit an anderer Stelle: In der PHP-Implementierung war es lange Zeit \u00fcblich, den Pfad als Formularfeld im HTTP POST Body zu \u00fcbergeben. Ein vorangestelltes '@' sorgt daf\u00fcr, dass die Datei im Hintergrund ge\u00f6ffnet und ihr Inhalt eingef\u00fcgt wird, statt den Pfad als Zeichenkette zu versenden:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-php\" data-line=\"\">$body = array(\r\n    &#039;file&#039; =&gt; &quot;@&quot; . $localFile\r\n);\r\ncurl_setopt($ch, CURLOPT_POSTFIELDS, $body);<\/code><\/pre>\n<p>Seit PHP 5.5 wird dieses Verhalten \u00fcber die Variable CURLOPT_SAFE_UPLOAD gesteuert: Nur wenn sie auf False steht, funktioniert dieser Weg. In PHP 5.6 wurde sie auf True ge\u00e4ndert, um sie sp\u00e4ter komplett zu entfernen.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-php\" data-line=\"\">NOTICE: PHP message: PHP Fatal error: Uncaught ValueError: curl_setopt(): Disabling safe uploads is no longer supported<\/code><\/pre>\n<p>Tats\u00e4chlich gibt es mit <code class=\"\" data-line=\"\">CURLFile<\/code> sogar eine Klasse daf\u00fcr. Die ist nicht nur deutlich sauberer, sondern unterst\u00fctzt auch weitere Meta-Informationen wie Mime-Typ oder zu sendender Dateiname. In einer Stackoverflow-Frage zu diesem Thema mit 30.000 Aufrufen war das bisher noch nicht derart klar dokumentiert, habe ich dort eine Antwort geschrieben.<sup data-fn=\"71464769-fd72-4b5c-9f00-823c62a9bde6\" class=\"fn\"><a href=\"#71464769-fd72-4b5c-9f00-823c62a9bde6\" id=\"71464769-fd72-4b5c-9f00-823c62a9bde6-link\">10<\/a><\/sup><\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-php\" data-line=\"\">$file = new CURLFile($path, &#039;image\/&#039; . $type, $name);\r\n$body = array(&#039;file&#039; =&gt; $file);\r\ncurl_setopt($ch, CURLOPT_POSTFIELDS, $body);<\/code><\/pre>\n<h3 class=\"wp-block-heading\">Aktualisieren des Beitragstextes<\/h3>\n<p>2\/3 Schritte sind damit abgeschlossen. Abschlie\u00dfend m\u00fcssen die alten Abload-Links noch im Beitrag ersetzt werden. Da es auch hier mehrere Varianten gibt, beginne ich mit dem typischsten: Eingebettet als verlinktes Vorschaubild. Hier soll das Vorschaubild durch das von U-IMG ersetzt werden. Aber auch der Link auf das volle Bild - sonst l\u00e4uft dieser nach dem Abschalten von Abload ins Leere. Dar\u00fcber hinaus findet Suchen &amp; Ersetzen auf die originalen erkannten Links statt. Das deckt z.B. reine Links ohne Vorschaubild ab.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-php\" data-line=\"\">$linkWithImgPattern = &quot;#(\\[(?:url|URL)=)[^\\]]+\\]\\[(?:img|IMG)\\]$vanillaOldImgUrl#&quot;;\r\n$newText = preg_replace($linkWithImgPattern, &quot;$1{$newUimgResult-&gt;directlink}][img]{$newUimgResult-&gt;thumbnail}&quot;, $text);\r\n\/\/ Ohne Link (nur IMG Tag) reines ersetzen mit dem Direktlink\r\n$newText = str_replace($vanillaOldImgUrl, $newUimgResult-&gt;directlink, $newText);<\/code><\/pre>\n<p>Wichtig ist, immer mit Fehlern zu rechnen. Daher pr\u00fcfe ich am Ende meiner Ersetzungen beispielsweise, ob noch abload.de im Beitragsinhalt enthalten ist. In diesem Falle beendet sich das Skript hart, weil eine h\u00e4ndische Pr\u00fcfung mit Nacharbeiten erforderlich sind.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-php\" data-line=\"\">if(str_contains(&#039;abload.de\/&#039;, $newText)) {\r\n      die(&quot;Fehler - Nicht erkannte Abloadlinks vorhanden:\\n$newText&quot;);\r\n}<\/code><\/pre>\n<h2 class=\"wp-block-heading\">Wie aktualisieren wir den Beitrag?<\/h2>\n<p>Theoretisch w\u00e4re der einfachste Weg simples Ersetzen des Beitrages. Danach noch den Zwischenspeicher leeren und fertig. Das gefiel mir nicht, weil es destruktiv und intransparent ist. Mein erster Gedanke war eine Datenbanktabelle, die den vorherigen Beitragstext zusammen mit Metadaten wie der Beitrags-ID speichert. Dann fiel mir ein: Genau das kann das Forensystem bereits. Wird ein Beitrag von regul\u00e4ren Nutzern nachtr\u00e4glich ge\u00e4ndert, erscheint ein Hinweis und die Unterschiede lassen sich anzeigen. Dadurch ist der vorherige Inhalt gesichert.<\/p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/u-img.net\/img\/4902Ur.png\" alt=\"\"\/><\/figure>\n<p>Ich erzeuge also eine neue Version mit Begr\u00fcndung, warum diese \u00c4nderung erfolgt. Somit ist zudem f\u00fcr jeden transparent, dass administrative Anpassungen erfolgt sind und warum:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-6.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"206\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-6-1024x206.png\" alt=\"\" class=\"wp-image-13379\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-6-1024x206.png 1024w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-6-300x60.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-6-768x155.png 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-6-1536x309.png 1536w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-6-640x129.png 640w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-6-845x170.png 845w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-6.png 1819w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n<h2 class=\"wp-block-heading\">Oberfl\u00e4che der Migration<\/h2>\n<p>Ich lasse mir in einer \u00dcbersicht jeweils Titel des Themas, ID des Beitrags, jeweils Links zum Beitrag und \u00c4nderungsprotokoll sowie den Abload-Link zusammen mit zwei eingebetteten Bildern anzeigen: Das Linke ist das originale von Abload. Rechts daneben im gr\u00fcnen Kasten das auf U-IMG umgezogene. So kann ich auf einen Blick sehen, ob dieser Teil der Migration funktioniert hat und bei Bedarf f\u00fcr Stichproben in die Beitr\u00e4ge bzw. den Verlauf abspringen.<\/p>\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-8.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"269\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-8.png\" alt=\"\" class=\"wp-image-13382\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-8.png 1015w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-8-300x80.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-8-768x204.png 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-8-640x170.png 640w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-8-641x170.png 641w\" sizes=\"auto, (max-width: 1015px) 100vw, 1015px\" \/><\/a><\/figure>\n<p>Vereinzelt kam es zu fehlerhaften Bildern. Ich habe sie h\u00e4ndisch gepr\u00fcft: Leider waren es alles Probleme seitens Abload. Die Bilder wurden entweder von deren Seite gel\u00f6scht, oder durch die Nutzer. Ein Teil konnte daher nicht umgezogen werden. Dies ist<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-7.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"146\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-7-1024x146.png\" alt=\"\" class=\"wp-image-13380\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-7-1024x146.png 1024w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-7-300x43.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-7-768x110.png 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-7-1536x220.png 1536w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-7-640x91.png 640w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-7-1189x170.png 1189w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/06\/grafik-7.png 1882w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n<h2 class=\"wp-block-heading\">Die wichtigsten drei Dinge bei einem derartigen Projekt<\/h2>\n<p>Die gr\u00f6\u00dfte Herausforderung besteht in einer gr\u00f6\u00dferen Menge an Daten, bei denen wir keine 100% Klarheit \u00fcber das Format haben. Und zwar auf beiden Seiten. Es gibt mehrere M\u00f6glichkeiten, wie ein Bild von Abload.de eingebettet sein kann: In voller Gr\u00f6\u00dfe eingebettet, als Vorschaubild mit Link oder ausschlie\u00dflich als Link. Der Aufbau der Links ist unterschiedlich. Alte Links sind noch mit HTTP statt HTTPS versehen, weil HTTPS vor einigen Jahren noch nicht so verbreitet war, wie heute. Selbst nach einer stichprobenartigen Analyse kann man nie sicher sein, alle Varianten gefunden zu haben.<\/p>\n<p>Wichtig sind bei so etwas daher drei Dinge:<\/p>\n<p><strong>Validieren mit Positivpr\u00fcfungen<\/strong>\r\nMan sollte so viel wie m\u00f6glich Pr\u00fcfen, ob die Daten dem Format entsprechen, welches man erwartet und ben\u00f6tigt. Andernfalls muss die Software in einem definierten Stand abbrechen. M\u00fcssen Datens\u00e4tze in mehrere Tabellen eingetragen bzw. ge\u00e4ndert werden, setze ich beispielsweise auf Transaktionen. Geht hier etwas schief, lassen sich diese Zur\u00fcckrollen.<\/p>\n<p><strong>Ausf\u00fchrlich testen<\/strong>\r\nVor allem Anfangs am besten simulieren und sp\u00e4ter zun\u00e4chst kleine Datenmengen verwenden. Darauf achten, dass die Testdaten gemischt sind: Nicht nur z.B. die \u00e4ltesten oder neuesten Beitr\u00e4ge eines Nutzers. Im schlechtesten Falle ist das ein Power-Nutzer, der alles richtig macht - im Gegensatz zu anderen. Insbesondere die ersten Tests m\u00fcssen h\u00e4ndisch \u00fcberpr\u00fcft werden. Auch sp\u00e4ter schadet es nicht, zumindest stichprobenartig \u00fcber die Ergebnisse zu schauen. Am besten baut man entsprechende Funktionen ein, die das erleichtern.<\/p>\n<p><strong>Sichern<\/strong>\r\nDie Frage ist nicht, ob der <em>NEIN?! Doch! Oh...<\/em> Moment kommt, sondern wann. Manches ist nicht vorhersehbar und manchmal irrt sich der Beste. Durch vorsichtige Tests l\u00e4sst sich der Schaden davon bereits begrenzen. Am besten ist es, mindestens eine funktionsf\u00e4hige (!) Sicherung zu haben. Das kann eine Sicherung der Datenbank sein, die speziell vor Massenverarbeitungen unbedingt gemacht werden sollte. Versionierung ist ebenfalls n\u00fctzlich, um Teildaten wiederherstellen zu k\u00f6nnen.<\/p>\n<h2 class=\"wp-block-heading\">Was wurde erreicht?<\/h2>\n<p>Bei der Fertigstellung dieses Beitrages ist die Migration erfolgreich abgeschlossen: Insgesamt 2.221 Bilder wurden versucht zu migrieren, bei 174 war das leider nicht m\u00f6glich. Sie wurden entweder vom Benutzer oder durch Abload gel\u00f6scht. Dies betrifft 7,8%. Rund 92,2% aller Bilder konnten damit gerettet werden.<\/p>\n<p>Darunter ist beispielsweise <a href=\"https:\/\/u-labs.de\/forum\/bildung-116\/hilfe-bei-einer-matrizen-aufgabe-klausur-korrektur-35282?p=394916&amp;viewfull=1#post394916\">die aufw\u00e4ndige Erkl\u00e4rung des Nutzers Nuebel zu einer Mathematik-Klausur<\/a>. Eine Menge an digitaler Kunst wurde vor dem digitalen M\u00fclleimer gerettet: <a href=\"https:\/\/u-labs.de\/forum\/verschenke-118\/one-piece-signaturen-11747\/index2.html?p=94234#post94234\">One Piece Signaturen<\/a> sowie diverse <a href=\"https:\/\/u-labs.de\/forum\/showthread.php?p=229268&amp;viewfull=1#post229268\">weitere Signaturen und Avatare<\/a> eben so, wie etwa Titelbilder f\u00fcr diverse Spiele - <a href=\"https:\/\/u-labs.de\/forum\/showthread.php?p=155515&amp;viewfull=1#post155515\">Trackmania ist hier nur ein Beispiel<\/a> von vielen. <a href=\"https:\/\/u-labs.de\/forum\/showroom-80\/u-hacks-banner-gfx-9807\">Auch animierte Banner von U-Hacks<\/a> (so hie\u00df U-Labs fr\u00fcher) wurden von den Erstellern bei Abload gehostet. Eben so wie <a href=\"https:\/\/u-labs.de\/forum\/offtopic-109\/smalltalk-bereich-29780\/index4924.html?p=49496#post49496\">das Bildschirmfoto dieses Assembler-Programms<\/a>. Verschiedene Bilder zeigen PC-Hardware. Hier etwa <a href=\"https:\/\/u-labs.de\/forum\/hardware-58\/netzteilfrage-850w-1050w-30800?p=364533&amp;viewfull=1#post364533\">ein angekokeltes IDE-Kabel<\/a>, das man schon wegen des technischen Alters seit Jahren nicht mehr sieht - schon damals war das relativ alt.<\/p>\n<p><a href=\"https:\/\/u-labs.de\/forum\/knuddels-news-39\/knuddels-wird-rot-8231?p=58827&amp;viewfull=1#post58827\">Dieser Beitrag zeigt Ausz\u00fcge von Knuddels aus dem Jahre 2012<\/a>, kurz nachdem sie sich vom rosa Design verabschiedet hatten. Auch Anleitungen enthalten diverse Bildschirmfotos - <a href=\"https:\/\/u-labs.de\/forum\/showthread.php?p=439057&amp;viewfull=1#post439057\">hier etwa zur Entwicklung eines Knuddels Proxys<\/a>. Oder die damals ver\u00f6ffentlichten <a href=\"https:\/\/u-labs.de\/forum\/showthread.php?p=5134&amp;viewfull=1#post5134\">Knuddels-Bots<\/a>. Bei <a href=\"https:\/\/u-labs.de\/forum\/showthread.php?p=46448&amp;viewfull=1#post46448\">einer Programmier\u00fcbung zur Berechnung des Kindergeldes<\/a> zeigt auch weiterhin ein Bild den Programmablaufplan. Eben so wie die grafische Oberfl\u00e4che<a href=\"https:\/\/u-labs.de\/forum\/aufgaben-160\/kindergeld-berechnen-6347?p=147871&amp;viewfull=1#post147871\"> in dieser Antwort<\/a>. Wie YouTube 2012 nach einer \u00c4nderung des Designs ausgesehen haben muss, l\u00e4sst <a href=\"https:\/\/u-labs.de\/forum\/showthread.php?p=112298&amp;viewfull=1#post112298\">dieser Beitrag<\/a> erahnen. Manche betreffen sogar <a href=\"https:\/\/u-labs.de\/forum\/knuddels-underground-szene-38\/sammelthread-foren-screens-alt-neu-10697?p=81059&amp;viewfull=1#post81059\">historische Ansichten der ersten U-Hacks Versionen<\/a>. Ironischerweise <a href=\"https:\/\/u-labs.de\/forum\/faq-244\/howto-bbcode-tags-3336?p=25069&amp;viewfull=1#post25069\">hat hier jemand ein Bildschirmfoto von Abload selbst gemacht und hochgeladen<\/a>. Die Liste lie\u00dfe sich bei \u00fcber 2.200 Bildern noch ewig fortsetzen.<\/p>\n<p>Wer ebenfalls Abload direkt oder wie in diesem Falle indirekt nutzt, sollte dies in den n\u00e4chsten Tagen pr\u00fcfen und zeitnah migrieren. Ansonsten sind die Inhalte bald wahrscheinlich irreparabel verloren. Besonders einfach funktioniert der Export f\u00fcr Inhaber eines Abload-Kontos. Der Anbieter stellt Anleitungen bereit, wie man die Bilder sichert.<sup data-fn=\"cd1ff4f1-3e6a-45ad-b5f3-f9c03f890e4b\" class=\"fn\"><a href=\"#cd1ff4f1-3e6a-45ad-b5f3-f9c03f890e4b\" id=\"cd1ff4f1-3e6a-45ad-b5f3-f9c03f890e4b-link\">11<\/a><\/sup><\/p>\n<h2 class=\"wp-block-heading\">Fazit: \u00dcberlasst die Zukunft eurer Daten nicht anderen!<\/h2>\n<p>Das Ende von Abload zeigt einmal mehr: Selbst etablierte Anbieter werden ggf. nach einiger Zeit dazu gezwungen, ihre Dienste einzustellen. Dies kann erhebliche Auswirkungen auf das freie Web haben. Erinnert sich noch wer an Sch\u00fclerVZ oder Kwick? Die damals gro\u00dfen Netzwerke sind inzwischen verschwunden, inklusive aller Nutzerinhalte. Wer Erinnerungen aus der Jugendzeit dort hochgeladen hatte und sie nicht mehr lokal besitzt, hat seit 2021 Pech gehabt. Bei Kwick wurde der Stecker sogar unangek\u00fcndigt gezogen.<sup data-fn=\"828ee007-d2f0-48a2-9ee7-74db070b4611\" class=\"fn\"><a href=\"#828ee007-d2f0-48a2-9ee7-74db070b4611\" id=\"828ee007-d2f0-48a2-9ee7-74db070b4611-link\">12<\/a><\/sup> Auch Plattformen die noch nicht gestorben sind, k\u00f6nnen eure Daten verlieren: MySpace musste eingestehen, s\u00e4mtliche Musik von 2003 bis 2015 verloren zu haben.<sup data-fn=\"c1e5b606-c80f-4654-8887-a53ffb84c1f4\" class=\"fn\"><a href=\"#c1e5b606-c80f-4654-8887-a53ffb84c1f4\" id=\"c1e5b606-c80f-4654-8887-a53ffb84c1f4-link\">13<\/a><\/sup> Reddit l\u00f6schte alle Chatnachrichten vor dem 30.06.2023.<sup data-fn=\"302e08ad-0714-44fa-b558-64e2f2dcfb7a\" class=\"fn\"><a href=\"#302e08ad-0714-44fa-b558-64e2f2dcfb7a\" id=\"302e08ad-0714-44fa-b558-64e2f2dcfb7a-link\">14<\/a><\/sup><\/p>\n<p>Trotz des baldigen Endes freut sich Abload.de sicher <a href=\"https:\/\/abload.de\/spenden.php\" target=\"_blank\" rel=\"nofollow\">\u00fcber eine Spende von euch, alle Infos dazu findet ihr auf dieser Seite<\/a>. Immerhin laufen die Kosten f\u00fcr die Infrastruktur mindestens bis zum Ende weiter - ggf. durch Fristen noch etwas l\u00e4nger. Und auch die Aufl\u00f6sung eines Dienstes ist mit Aufwendungen sowie Kosten verbunden.<\/p>\n<p>Als Konsequenz solltet ihr die Sicherheit von Daten, die euch wichtig ist, nicht anderen \u00fcberlassen. Erstellt euch eine \u00dcbersicht, welche Inhalte wo gespeichert sind und worauf ihr verzichten k\u00f6nnt. Der Rest sollte bei euch archiviert werden. Nur so ist sichergestellt, dass geliebte Inhalte oder sch\u00f6ne Erinnerungen auch in ein paar Jahren noch verf\u00fcgbar sind.<\/p>\n<h2 class=\"wp-block-heading\">Quellen<\/h2>\n<ol class=\"wp-block-footnotes\">\n<li id=\"7daba7e3-baff-4c6e-ba51-dd89eb81cd00\">https:\/\/abload.de\/blogpost.php?id=1 <a href=\"#7daba7e3-baff-4c6e-ba51-dd89eb81cd00-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 1 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"3cf4654b-08ae-4fcc-afee-2920b1833fdd\">https:\/\/abload.de\/blogpost.php?id=607 <a href=\"#3cf4654b-08ae-4fcc-afee-2920b1833fdd-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 2 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"38f539d6-0f1e-4d9d-8eb3-3dc71b3d59db\">https:\/\/www.hosteurope.de\/blog\/exx-haben-soziale-netzwerke-das-web-zerstoert\/ <a href=\"#38f539d6-0f1e-4d9d-8eb3-3dc71b3d59db-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 3 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"d9111018-f5ca-4c06-9e1e-43facafe1cc7\">https:\/\/abload.de\/blogpost.php?id=625 <a href=\"#d9111018-f5ca-4c06-9e1e-43facafe1cc7-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 4 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"b07b766f-fe4b-4bb4-a2a1-2f24e1c309c2\">https:\/\/abload.de\/blogpost.php?id=635 <a href=\"#b07b766f-fe4b-4bb4-a2a1-2f24e1c309c2-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 5 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"5ecc32eb-2294-4e69-a181-da9f3ef9634d\">https:\/\/abload.de\/picload404.php <a href=\"#5ecc32eb-2294-4e69-a181-da9f3ef9634d-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 6 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"41a6db1a-0e51-4cf6-a935-01153b69a359\">https:\/\/archive.li\/https:\/\/abload.de\/ <a href=\"#41a6db1a-0e51-4cf6-a935-01153b69a359-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 7 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"78b1ce71-2723-429d-8f4f-95bf7af53bfe\">https:\/\/www.img.vision\/handbook\/what-happened-to-tinypic\/ <a href=\"#78b1ce71-2723-429d-8f4f-95bf7af53bfe-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 8 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"c2aa1d49-fee4-4936-b4db-999a96e61186\">https:\/\/www.php.net\/manual\/en\/book.curl.php <a href=\"#c2aa1d49-fee4-4936-b4db-999a96e61186-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 9 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"71464769-fd72-4b5c-9f00-823c62a9bde6\">https:\/\/stackoverflow.com\/a\/78658611\/3276634 <a href=\"#71464769-fd72-4b5c-9f00-823c62a9bde6-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 10 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"cd1ff4f1-3e6a-45ad-b5f3-f9c03f890e4b\">https:\/\/abload.de\/helpDownload.php?1719243422 <a href=\"#cd1ff4f1-3e6a-45ad-b5f3-f9c03f890e4b-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 11 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"828ee007-d2f0-48a2-9ee7-74db070b4611\">https:\/\/web.archive.org\/web\/20170603205725\/https:\/\/www.kwick.de\/ <a href=\"#828ee007-d2f0-48a2-9ee7-74db070b4611-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 12 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"c1e5b606-c80f-4654-8887-a53ffb84c1f4\">https:\/\/www.heise.de\/news\/Datenverlust-Myspace-verliert-riesiges-Musikarchiv-4338737.html <a href=\"#c1e5b606-c80f-4654-8887-a53ffb84c1f4-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 13 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"302e08ad-0714-44fa-b558-64e2f2dcfb7a\">https:\/\/www.heise.de\/news\/Reddit-Chathistorie-von-vor-2023-bei-Datenumzug-verloren-gegangen-9218302.html <a href=\"#302e08ad-0714-44fa-b558-64e2f2dcfb7a-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 14 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Diesmal trifft es mit abload.de und filehostr.de vom gleichen Betreiber ein Urgestein. \u00dcber 94.000.000 Bilder wurden auf Abload in den fast 18 Jahren des Bestehens gespeichert. Auch auf U-Labs war dieser Hoster beliebt: Mehr als 2.200 Bilder drohen, f\u00fcr immer Verloren zu gehen. Es wird daher Zeit f\u00fcr eine Rettungsaktion. Was ist Abload.de? Der 2006 &#8230;<\/p>\n","protected":false},"author":5,"featured_media":13396,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"[{\"content\":\"https:\/\/abload.de\/blogpost.php?id=1\",\"id\":\"7daba7e3-baff-4c6e-ba51-dd89eb81cd00\"},{\"content\":\"https:\/\/abload.de\/blogpost.php?id=607\",\"id\":\"3cf4654b-08ae-4fcc-afee-2920b1833fdd\"},{\"content\":\"https:\/\/www.hosteurope.de\/blog\/exx-haben-soziale-netzwerke-das-web-zerstoert\/\",\"id\":\"38f539d6-0f1e-4d9d-8eb3-3dc71b3d59db\"},{\"content\":\"https:\/\/abload.de\/blogpost.php?id=625\",\"id\":\"d9111018-f5ca-4c06-9e1e-43facafe1cc7\"},{\"content\":\"https:\/\/abload.de\/blogpost.php?id=635\",\"id\":\"b07b766f-fe4b-4bb4-a2a1-2f24e1c309c2\"},{\"content\":\"https:\/\/abload.de\/picload404.php\",\"id\":\"5ecc32eb-2294-4e69-a181-da9f3ef9634d\"},{\"content\":\"https:\/\/archive.li\/https:\/\/abload.de\/\",\"id\":\"41a6db1a-0e51-4cf6-a935-01153b69a359\"},{\"content\":\"https:\/\/www.img.vision\/handbook\/what-happened-to-tinypic\/\",\"id\":\"78b1ce71-2723-429d-8f4f-95bf7af53bfe\"},{\"content\":\"https:\/\/www.php.net\/manual\/en\/book.curl.php\",\"id\":\"c2aa1d49-fee4-4936-b4db-999a96e61186\"},{\"content\":\"https:\/\/stackoverflow.com\/a\/78658611\/3276634\",\"id\":\"71464769-fd72-4b5c-9f00-823c62a9bde6\"},{\"content\":\"https:\/\/abload.de\/helpDownload.php?1719243422\",\"id\":\"cd1ff4f1-3e6a-45ad-b5f3-f9c03f890e4b\"},{\"content\":\"https:\/\/web.archive.org\/web\/20170603205725\/https:\/\/www.kwick.de\/\",\"id\":\"828ee007-d2f0-48a2-9ee7-74db070b4611\"},{\"content\":\"https:\/\/www.heise.de\/news\/Datenverlust-Myspace-verliert-riesiges-Musikarchiv-4338737.html\",\"id\":\"c1e5b606-c80f-4654-8887-a53ffb84c1f4\"},{\"content\":\"https:\/\/www.heise.de\/news\/Reddit-Chathistorie-von-vor-2023-bei-Datenumzug-verloren-gegangen-9218302.html\",\"id\":\"302e08ad-0714-44fa-b558-64e2f2dcfb7a\"}]"},"categories":[3],"tags":[936],"class_list":["post-13366","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-news","tag-hosting"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/13366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=13366"}],"version-history":[{"count":30,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/13366\/revisions"}],"predecessor-version":[{"id":13448,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/13366\/revisions\/13448"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media\/13396"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=13366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=13366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=13366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}