GitHub verwendet das Open-Source-Projekt Camo zum Hosten deiner Bilder. Camo generiert einen anonymen URL-Proxy für jede Datei, der Details zu deinem Browser und verwandte Daten vor anderen Benutzer*innen verbirgt. Die URL beginnt mit https://<subdomain>.githubusercontent.com/
und enthält verschiedene Unterdomänen, je nachdem, wie du das Bild hochgeladen hast.
Für Videos werden ebenfalls anonymisierte URLs im selben Format wie die Bild-URLs erstellt, sie werden aber nicht über Camo verarbeitet. Dies liegt daran, dass GitHub keine extern gehosteten Videos unterstützt, daher ist die anonymisierte URL ein Link zum hochgeladenen Video, das von GitHub gehostet wird.
Alle Personen, die deine anonymisierte URL direkt oder indirekt erhalten, können dein Bild oder Video anzeigen. Um vertrauliche Mediendateien zu schützen, verwende nicht Camo, sondern beschränke diese auf ein privates Netzwerk oder einen Server, der eine Authentifizierung erfordert.
Probleme mit Camo beheben
In seltenen Fällen erscheinen Bilder, die mit Camo verarbeitet werden, möglicherweise nicht auf GitHub. Nachfolgend findest du einige Schritte, mit denen du feststellen kannst, wo das Problem liegt.
Windows-Benutzer müssen entweder Git PowerShell verwenden (zusätzlich zu GitHub Desktop installiert) oder curl für Windows herunterladen.
Ein Bild wird nicht angezeigt
Wenn ein Bild in deinem Browser angezeigt wird, aber nicht auf GitHub, kannst du versuchen, es lokal anzufordern.
-
Öffne TerminalTerminalGit Bash.
-
Fordere die Bildheader mithilfe von
curl
an.$ curl -I https://www.my-server.com/images/some-image.png > HTTP/2 200 > Date: Fri, 06 Jun 2014 07:27:43 GMT > Expires: Sun, 06 Jul 2014 07:27:43 GMT > Content-Type: image/x-png > Server: Google Frontend > Content-Length: 6507
-
Überprüfe den Wert von
Content-Type
. In diesem Fall ist diesimage/x-png
. -
Überprüfe den Inhaltstyp anhand der Liste der von Camo unterstützten Typen.
Wenn dein Inhaltstyp von Camo nicht unterstützt wird, kannst du mehrere Aktionen versuchen:
- Wenn du der Besitzer des Servers bist, der das Bild verwaltet, ändere die Einstellungen so, dass er einen korrekten Inhaltstyp für Bilder zurückgibt.
- Wenn du einen externen Dienst zum Verwalten von Bildern verwendest, wende Dich an den Support für diesen Dienst.
- Stelle einen Pull Request an Camo, um deinen Inhaltstyp zur Liste hinzuzufügen.
Ein kürzlich geändertes Bild wird nicht aktualisiert
Wenn du ein Bild kürzlich geändert hast und die Änderung in deinem Browser angezeigt wird, aber nicht auf GitHub, kannst du versuchen, den Cache des Bildes zurückzusetzen.
-
Öffne TerminalTerminalGit Bash.
-
Fordere die Bildheader mithilfe von
curl
an.$ curl -I https://www.my-server.com/images/some-image.png > HTTP/2 200 > Expires: Fri, 01 Jan 1984 00:00:00 GMT > Content-Type: image/png > Content-Length: 2339 > Server: Jetty(8.y.z-SNAPSHOT)
Überprüfe den Wert von Cache-Control
. In diesem Beispiel ist Cache-Control
nicht vorhanden. Dabei trifft Folgendes zu:
- Wenn sich der Server, auf dem das Bild gehostet wird, in deinem Besitz befindet, ändere ihn so, dass er den
Cache-Control
-Wertno-cache
für Bilder zurückgibt. - Wenn du einen externen Dienst zum Verwalten von Bildern verwendest, wende Dich an den Support für diesen Dienst.
Wenn Cache-Control
auf no-cache
festgelegt ist, wende dich an den uns über das GitHub-Support-Portal, oder durchsuche das GitHub Community-Diskussionen.
Ein Bild aus dem Zwischenspeicher von Camo entfernen
Durch das Bereinigen des Caches wird jeder GitHub-Benutzer dazu gezwungen, das Bild erneut anzufordern. Daher solltest du diesen Vorgang selten und nur dann durchführen, wenn die oben genannten Schritte nicht funktioniert haben.
-
Öffne TerminalTerminalGit Bash.
-
Bereinige das Bild mithilfe von
curl -X PURGE
in der Camo-URL.$ curl -X PURGE https://camo.githubusercontent.com/4d04abe0044d94fefcf9af2133223.... > {"status": "ok", "id": "216-8675309-1008701"}
Bilder in privaten Netzwerken anzeigen
Wenn ein Bild von einem privaten Netzwerk oder von einem Server bereitgestellt wird, der eine Authentifizierung erfordert, kann es nicht von GitHub angezeigt werden. Tatsächlich kann es von keinem Benutzer eingesehen werden, ohne dass er dazu aufgefordert wird, sich am Server anzumelden.
Um dieses Problem zu beheben, verschiebe das Bild bitte auf einen öffentlich zugänglichen Dienst.
Weitere Informationsquellen
- Weiterleiten von Benutzerbildern im the GitHub Blog