跳至主要内容

关于匿名化 URL

如果您将图像或视频上传到 GitHub,图像或视频的 URL 将被修改,以便您的信息无法被追踪。

平台导航

为了托管您的图像,GitHub 使用了 开源项目 Camo。Camo 为每个文件生成一个匿名的 URL 代理,它可以隐藏您的浏览器详细信息以及其他用户相关的其他信息。URL 以 https://<subdomain>.githubusercontent.com/ 开头,不同的子域取决于您上传图像的方式。

视频也会获得与图像 URL 格式相同的匿名 URL,但不会通过 Camo 处理。这是因为 GitHub 不支持外部托管的视频,因此匿名 URL 是指向 GitHub 托管的上传视频的链接。

任何直接或间接收到您的匿名 URL 的人都可以查看您的图像或视频。为了保持敏感媒体文件的私密性,请将它们限制在私有网络或需要身份验证的服务器上,而不是使用 Camo。

疑难解答 Camo 问题

在极少数情况下,通过 Camo 处理的图像可能不会出现在 GitHub 上。以下是一些可以采取的步骤来确定问题所在。

Windows 用户需要使用 Git PowerShell(与 GitHub Desktop 一起安装)或下载 curl for Windows

图片没有显示

如果图片在您的浏览器中显示,但在 GitHub 上没有显示,您可以尝试在本地请求它。

  1. 打开 终端终端Git Bash

  2. 使用 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
    
  3. 检查 Content-Type 的值。在本例中,它是 image/x-png

  4. 将该内容类型与 Camo 支持的类型列表 进行比较。

如果您的内容类型不受 Camo 支持,您可以尝试以下几种操作

  • 如果您拥有托管图片的服务器,请修改它,使其为图片返回正确的 content type。
  • 如果您使用外部服务托管图片,请联系该服务的支持人员。
  • 向 Camo 提交一个 pull request,将您的 content type 添加到列表中。

最近更改的图片没有更新

如果您最近更改了图片,它在您的浏览器中显示,但在 GitHub 上没有显示,您可以尝试重置图片的缓存。

  1. 打开 终端终端Git Bash

  2. 使用 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)
    

检查 Cache-Control 的值。在本例中,没有 Cache-Control。在这种情况下

  • 如果您拥有托管图片的服务器,请修改它,使其为图片返回 Cache-Controlno-cache
  • 如果您使用外部服务托管图片,请联系该服务的支持人员。

如果 Cache-Control 设置为 no-cache,请通过 GitHub 支持门户 或搜索 GitHub 社区讨论 联系我们。

从 Camo 的缓存中删除图片

清除缓存会强制所有 GitHub 用户重新请求图片,因此您应该谨慎使用它,并且只在上述步骤无效的情况下使用它。

  1. 打开 终端终端Git Bash

  2. 使用 curl -X PURGE 在 Camo URL 上清除图片。

    $ curl -X PURGE https://camo.githubusercontent.com/4d04abe0044d94fefcf9af2133223....
    > {"status": "ok", "id": "216-8675309-1008701"}
    

在私有网络上查看图片

如果图片来自私有网络或需要身份验证的服务器,GitHub 无法查看它。事实上,任何用户都无法查看它,除非要求他们登录服务器。

要解决此问题,请将图片移动到公开可用的服务。

进一步阅读