刚刚在尝试下载Freya时才注意到这一点。

http://sgp1.dl.elementary.io/download/QTT3MWI6NFUy3N==/elementaryos-0.3.2-stable-amd64.20151209.iso


(注意:我已经更改了实际代码)

评论

什么是实际代码?

405不允许

#1 楼

这是一个停止热链接的时间码。尽管单击了按钮,但没有跟踪。

嗨!我构建了两个系统来生成这些链接并管理用于交付下载内容的交付网络,因此尽管Ravan覆盖了大部分内容,但是我很有资格回答此问题。

elementary.io网站是实际上本身就是开源的,生成此链接的(大部分)代码可以在/_backend/classify.current.php,第14行中看到。该行是这样的:

$download_link = '//'.$region.'.dl.elementary.io/download/'.base64_encode(time()).'/';

您在变量中看到有关时间的信息吗?它基本上是对时间进行编码,然后下载服务器对其进行解码,然后检查是否在最近几天之内。如果不是,它将告诉您获得一个新链接。这是为了与服务器上的热链接带宽分离,这是以前几个站点都在做的事情。这就是为什么您得到405: Not Allowed的原因,链接已过期。


关于您在网站上的访问和操作,您应该查看隐私政策,也许还应该查看/_scripts/pages/download.js单击第174行,获取单击下载时发送的内容。总而言之,它只是架构,方法,区域和您以前的操作系统(Windows,OS X或Linux)。

评论


+1以获取信息,什么是QTT3MWI6NFUy3N?怎么解码呢?

– Ravan
2015年12月28日在11:16



QTT3MWI6NFUy3N ==不会解码,因为原始的请求者更改了它,认为我认为这可能是要保密的东西。 MTQ1MTI4ODc1MA ==(你们之一)是1451288750,在Unix时间是2015-12-28T07:45:50 + 00:00。您可以在base64decode.org和unixtimestamp.com上进行自己的转换

–路易斯·戈达德♦
15/12/28在11:20



在那里,我错过了从时间戳转换的机会。 :D我建议,在回答中包括这两个链接:)

– Ravan
15/12/28在11:25

为什么首先热链接是一个问题?您是否不希望人们能够直接链接到iso,例如在定制的安装教程中?

– phihag
15年12月28日在19:48

我们在交付网络上使用了大约PB的传输。不幸的是,我们没有自己的千万富翁提供资金,因此如果有很多人联系在一起,这会引起问题。我们的网站平衡区域之间的下载量,但没有直接链接。如果人们想要直接链接,我们很高兴他们自己重新托管它,当我看到过时的副本时,我什至向人们指出。它们也可以链接到磁铁链接。

–路易斯·戈达德♦
15年12月29日在9:28