在做这个开源领英模仿项目ShlinkedIn时,我发现了一些有趣的东西。这个项目最初由名为KingCharles的用户开发。这一切都与他用Elixir写的一行代码有关,它链接到了Discord CDN。
shlinked/lib/shlinkedin_web/live/market_live/index.html.heex 在…一个开源的讽刺性社交网站。shlinkedin.com - shlinked/lib/shlinkedin_web/live/market_live/index.html.heex… (点击此处查看原文)github.com这个链接本身是这样的
https://cdn.discordapp.com/attachments/802619197934927922/1013542008696086649/intern2.png
对于那些看不清或看不到上面图片的人来说,有人开玩笑地说网站上的一个功能出了问题。我先检查了源代码,然后查看了链接,链接上只显示“内容已不再可用。”所以我就在Discord上发了一条消息。更尴尬的是,我发现图片嵌入得非常好。
嗯……到底发生了什么事?为什么这个链接在Discord里可以正常使用,而在Discord之外却不行呢?更合理的疑问是:为什么Discord的链接会在Discord之外的地方还能起作用呢?
“CDN DiscordApp 链接即将过期”这在Reddit上一年前就被提到过两次。
如果你查看第二个链接的内容,你会看到一些讨论。最顶上的评论是说在这个平台上图片链接将和以前一样正常工作(实习生png确认了这一点,看起来一切正常),但第二受欢迎的评论则是一段关于讨论Discord动机的帖子。一位用户认为Discord在撒谎,他们只是在阻止那些将Discord当作免费文件存储服务的人;另一位用户则认为这是合理的,并且这也确实是一个有效的安全漏洞。
Discord将切换到临时文件链接,以阻止恶意软件传播。Discord将在年底前为所有用户切换到临时文件链接,以阻止攻击者通过其CDN传播恶意软件……www.bleepingcomputer.com 领英链所以……这表示什么呢?对于ShlinkedIn而言,可能只是表示网站可以停止依赖Discord CDN链接。
ShlinkedIn 是一个开放源代码的幽默模仿项目,托管在此 here。它一度登上了 HackerNews 的首页,可能是因为它让那些对 LinkedIn 感到厌倦的人产生了共鸣。
创作者最近没有更新,因为他找到了新的更好的机会。
我在 Mac 上设置起来比在 Windows 上要容易得多。我主要使用 Homebrew 来获取 Elixir 和 Phoenix LiveView 的依赖项。我运行了 “mix test” 并走得比较顺利,但后来遇到了很多 Postgres 的问题。我又回去看了一下 ShlinkedIn 的说明,发现我忘了执行 Postgres 的步骤。
我去这里添加了一些新用户,然后在本地的4000端口上查看了网站。就像以前一样,我用一个假的用户名和密码通过了登录页面(换句话说,我点了加入链接),然后看了实习生页面。
这本来可以相对轻松地完成,而不需要本地环境。ShlinkedIn 上现在出现了不少未解决的问题。这个网站目前处于无人打理的状态,不过他表示他很快会回来。