Para hospedar imagens, o GitHub usa o Camo do projeto de código aberto. A Camo gera um proxy de URL anônimo para cada arquivo que oculta os detalhes do seu navegador e informações relacionadas de outros usuários. A URL começa https://<subdomain>.githubusercontent.com/, com subdomínios diferentes dependendo de como você fez o upload da imagem.
Os vídeos também recebem URLs anônimas com o mesmo formato que as URLs da imagem, mas não são processados através da Camo. Isto ocorre porque GitHub não é compatível vídeos hospedados externamente. Portanto, a URL anônima é um link para o vídeo enviado hospedado por GitHub.
Qualquer pessoa que receber a sua URL anônima, direta ou indiretamente, poderá visualizar a sua imagem ou vídeo. Para manter arquivos de mídia sensíveis privados, restrinja-os a uma rede privada ou a um servidor que exige autenticação em vez de usar a Camo.
Solucionar problemas com o Camo
As imagens que são processadas por meio do Camo raramente não aparecem no GitHub. Veja a seguir algumas etapas que podem ser seguidas para determinar onde está o problema.
Os usuários do Windows precisam usar o Git Powershell (que é instalado com o GitHub Desktop) ou baixar um curl para Windows.
Uma imagem não está sendo exibida
Se uma imagem estiver sendo exibida no seu navegador mas não em GitHub, você poderá tentar solicitá-la localmente.
- Abra TerminalTerminalGit Bash.
- Solicite os headers da imagem usando
curl.$ 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 - Verifique o valor de
Content-Type. Nesse caso, éimage/x-png. - Verifique o tipo de conteúdo em relação à lista de tipos compatíveis com o Camo.
Se o tipo de conteúdo não for compatível com o Camo, você poderá tentar várias ações:
- Se tiver posse do servidor que está hospedando a imagem, modifique-o para que ele retorne um tipo de conteúdo correto para imagens.
- Se estiver usando um serviço externo para hospedar imagens, entre em contato com o suporte do serviço em questão.
- Faça uma pull request ao Camo a fim de adicionar seu tipo de conteúdo à lista.
Uma imagem que foi alterada recentemente não está atualizando
Se você alterou uma imagem recentemente e ela está sendo exibida no navegador, mas não no GitHub, tente redefinir o cache da imagem.
- Abra TerminalTerminalGit Bash.
- Solicite os headers da imagem usando
curl.$ 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)
Verifique o valor de Cache-Control. Neste exemplo, não há Cache-Contro. Nesse caso:
-
Se tiver posse do servidor que está hospedando a imagem, modifique-o para que ele retorne um
Cache-Controldeno-cachepara imagens. -
Se estiver usando um serviço externo para hospedar imagens, entre em contato com o suporte do serviço em questão.
Se
Cache-Controlestiver definido comono-cache, entre em contato com Suporte do GitHub ou Suporte do GitHub Premium ou pesquise no Fórum da Comunidade GitHub.
Remover uma imagem do cache do Camo
A limpeza do cache força os usuários do GitHub a solicitar novamente a imagem. Portanto, você deve usá-la bem moderadamente e somente no caso em que as etapas acima não funcionarem.
- Abra TerminalTerminalGit Bash.
- Limpe a imagem usando
curl-X PURGEna URL do Camo.$ curl -X PURGE https://camo.githubusercontent.com/4d04abe0044d94fefcf9af2133223.... > {"status": "ok", "id": "216-8675309-1008701"}
Exibir imagens em redes privadas
Se uma imagem estiver sendo fornecida por uma rede privada ou um servidor que exige autenticação, ela não poderá ser exibida pelo GitHub. Na verdade, a imagem não pode ser exibida pelos usuários sem que eles façam login no servidor.
Para corrigir isso, mova a imagem para um serviço que esteja disponível publicamente.
Leia mais
- "Retransmitir imagens do usuário" em GitHub Blog

