admin 管理员组

文章数量: 887007

github:https://github/RSSNext/Follow

RSS: 是什么?为什么?怎么用?:https://yfi.moe/post/all-about-rss/

1、RSS

逆算法化

在如今信息化时代,大家接收到的信息都是经过 "大数据、算法" 进行点对点的信息推送,导致大家的信息来源越来越趋向于单一、被动接受、羊群效应,大家少了思考、多了短暂地愉悦。

例如:大家动不动刷抖音、快手、小红书或者微信视频号等短视频平台就会发现,短则半个小时,长则 4 - 5 个小时的时间都浪费在了这些 APP 上面,回头来看,看过了什么视频,学到了啥,基本上就属于短暂地愉悦,长时间来看和游戏上瘾是一种性质。国内的好多公司一个比一个没底线,都是利用人性,让人上瘾来赚钱。而对于个人认知与能力的提升微乎其微。对个人来说,个人定制化的信息输入才是对自己认知与能力的快速提升

其实 RSS 订阅为什么一直长久不衰,很大程度而言,是可以 Follow 自己感兴趣的领域以及作者的高质量的内容的输出,另外也可以屏蔽掉现在对大家苦不堪言的广告推送。

什么是 RSS

RSS(Really Simple Syndication 或 Rich Site Summary)是一种用于订阅和获取网站内容更新的技术。用户可以通过 RSS阅读器(如 Feedly 等)订阅网站的 RSS feed,从而及时获取该网站的新文章、新闻或其他更新,而无需频繁访问该网站。这个技术广泛应用于新闻网站、博客和其他内容发布平台。

简单的讲,一个 RSS 就是一个给 程序(相当于爬虫) 看的 摘要目录,通过这个摘要目录去检查网页有没有更新,这个更新可能是一个博客网站更新了新文章,也可能是论坛网站有了新帖子,甚至某些论坛还会给每个帖子一个 RSS 链接,可以查看这个帖子有没有新回复。通过追踪这一个 XML(或者 JSON)文件,就可以追踪一个网站是否有更新,而不必每次抓取整个网页。

为什么不请求完整的 HTML,而是请求摘要呢?首先,每个网站的 HTML 结构不同,不像 RSS 有几乎统一的规范,用 RSS 可以方便地统一解析不同站点的更新;其次,现在很多网页的 dom 都是由 js 动态生成的了,在非浏览器环境基本没法获得内容;另外用 RSS 还能给双方都省点流量。

常见的 RSS 阅读器都支持添加多个 RSS 源,所以通过 RSS 可以在同一个阅读器中,追踪并阅读你所关注的所有博客、新闻、以及任何可以制作出 RSS 源的东西!

RSS 还有两个常被提到的特点:解决信息过载和逃离算法构建的信息茧房。

RSS 只显示你订阅的源,在单位时间内向你展示的信息量是可以预估的,这样可以从“无限下滑”的信息过载中解脱出来;同时,你可以看到订阅源发布的所有消息,而不是只是算法推荐的一部分,可以说是逃离了一部分信息茧房。如果贪多,订阅了太多的源,每天都有 1000+ 的新条目,连浏览一遍标题都做不到,那么 RSS 肯定没有做到解决信息过载。而信息茧房的说法就更是见仁见智了。如果和微信公章号对比,公众号的“算法推荐”会导致我读不到某些我订阅的公众号文章,因此 RSS 在这方面是帮你做到了“打破信息茧房”;而另一方面,如果我订阅的都是符合自己口味的源,那么不就陷入了更深的信息茧房吗?

总的来说,RSS 本身只是一种供程序抓取的统一规范,完全可以找到适合自己的方法进行阅读。重要的是结果,而不是过程。订阅太多的源时,例如有太多人的阅读器里有 999+ 的未读了。如果很多源你连它的标题都不想看完,那么这个源最好删掉。设置太短的更新时间时,对于目标服务器的压力太大,所以现在很多小站的 RSS 被迫不提供全文输出,只提供摘要了。而且,RSS 本身就不是为了实时获取更新设计的——每次都要加载一整个 XML 文件,更新频率太高谁都受不了。比如,即使现在本站只提供摘要,但是每月访问最多、消耗的流量最大的依旧是 RSS 源页面。

获取 RSS 源 (RSSHub)

官网(需要跳墙):https://docs.rsshub.app
github:https://github/DIYgod/RSSHub
ALL-about-RSS:https://github/AboutRSS/ALL-about-RSS

目前 RSSHub 官网已经被墙,可以访问一些镜像网站,例如:https://rsshublify.app/zh/usage

由于 RSSHub 支持自建,很多网友都建了一份,并且分享了出来,这些网站为 RSSHub 的镜像网站。如果你不想动手,则完全搭其他网友的 “便车”。目前知道的镜像有

https://rsshub.rssforever
https://i.scnu.edu/sub
https://rsshub.anyant.xyz
https://rss.injahow
https://rss.shab.fun
https://rss.injahow

更多镜像可以参考 RSSHub 的官网,里面列出了很多,并且还标记了是否有效(up/down)

也可以用 bing 或 Google 搜索 "Welcome to RSSHub",这个是 RSSHub 首页的信息,能搜到说明这是一个 RSSHub 实例

订阅 异次元:https://app.follow.is/share/feeds/41719081557593132
站长的订阅:https://app.follow.is/share/users/iPlaySoft
异次元 RSS 地址:https://feed.iplaysoft
异次元的 订阅源:https://yfi.moe/feed.xml  可以看到是一个 xml (有的是json) 格式的文件。如果官方不提供就无法订阅。

RSSHub 是世界上最大的 RSS 网络,由5000多个全球实例组成。RSSHub 提供了来自各种来源的数百万内容,可以给不支持 RSS 的网站生成 RSS 源。它的口号 "Everything is RSSible (万物皆可RSS)" 。RSSHub 借助于开源社区的力量快速发展,目前已适配数百家网站的上千个路由,对主流网站都进行了 RSS 转化。通过访问 RSSHub 官网即可订阅 B 站、抖音、微博、推特等绝大多数热门的网络服务。官网定期更新了主流媒体的 rss 项目,同时还有一些意想不到的路由,比如 B 站的 up 主粉丝列表,可以追踪某 UP 主最近的新粉丝有哪些。

注意,RSSHub 不是阅读器,它是一个用来生成 RSS 源的工具。如果自建,你需要一台能够运行 node.js 的电脑来长期运行 RSSHub,当然推荐使用 VPS( 四大 VPS 对比评测 ),除了能够实现稳定的源以外,还能抓取 Instagram 等内容源。

  • RSS 源 一般都是由网站提供的,不需要用户操心。如果网站提供的了 RSS ,会在侧边栏或者页面底部提供 RSS 链接;
  • RSSHub 有很多网站的路由,根据规则就可以生成 RSS 源。
  • 如果每次想生成某些平台或者用户的 RSS 源,都去 RSSHub 官网查路由、拼接字符串,也太麻烦了。为此,RSSHub 的作者 diygod 又开源了另一个项目:RSSHub-Radar,这是一个浏览器插件,通过这个插件可以审查 HTML 里有没有 RSS 链接。
  • 除了插件,也可以使用油猴脚本 RSS+,显示当前网站的所有 RSS(如果有的话),原理都是一样的。推荐阅读:RSSHub Radar — 订阅一个 RSS 源不应该这么难 - DIYgod

  • RSSHub 还提供了移动端辅助 App:RSSBud (iOS) 与 RSSAid (Android)

自建 RSSHub

自己建立一个 RSSHub 实例,才是最稳定的。同时项目本身也推荐自建,搭建过程可以先看看官网文档,支持 Docker 和 npm 方式。但也提供了一个 demo。对于这类需要爬虫的项目来说,自建是极其必要的:大部分网站都有反爬策略,官方的实例早就被禁止访问了。

自建除了自己在服务器上建,也可以使用 Vercel 等服务。在服务器上用 Docker 的自建教程:完整的 RSS 解决方案:自建 RSSHub 与 Miniflux

其他 源生成 服务

例如 Huggin 和已经停止服务的 Feed43 等等。这类服务可以通过监测网页变化而生成 RSS 源,无须编写 RSSHub 规则。目前我知道的还有 Check 酱、RssEverything 之类。

RSS 汇总篇:RSS 永久链接合集,拒绝 RSS 失效:https://newzone.top/posts/2022-03-17-rss_persistent_link_collection.html

RSS 阅读器

RSS 的作用在于自动获取更新以及聚合阅读。举例来说,假设你关注了 20 个博客站。如何查看它们的更新呢?每天全部打开一次看一看?这种方法显然太弱智,这时就需要一种自动化的方法。RSS 阅读器 便解决了这一问题。它定期请求订阅的链接,然后拉取并解析里面的内容。

RSS 阅读器可以分为两大类:

  • 运行在 服务器:服务器类的可以 24x7 地按照设定的更新间隔请求 RSS 来更新文章列表
  • 运行在 本地:本地的 RSS 阅读器只能在打开的时候(或者非常有限的后台里)请求 RSS 源并更新文章列表。
  • 这看起来区别似乎不大,但是如果回想一下 RSS 的工作原理,如果长时间没有请求 RSS 源,会发生这样的情况:一个提供最新十篇文章的链接的 RSS 源,如果你上次刷新到这次刷新之间,它更新了 15 篇文章,那么中间的 5 篇文章就不会出现在你的阅读器里。所以,本地的阅读器如果更新不及时(比如忘记打开了,手机后台又因为各种原因让它没有正常地后台抓取:这种情况还挺常见的),会有丢文章的问题。同时,对于运行在服务器上的 RSS 阅读器,我们也可以不直接使用它来阅读,而是只把它当作抓取服务;然后用本地版的另一个 RSS 阅读器通过 API 与服务器上的 RSS 阅读器通讯来获得文章进行阅读。这里的 API 也是有统一标准的,一般是 Fever API 或者 Google Reader API。

除此之外,服务端的一般还有 RSS 过滤、打标签之类的高级操作,而本地阅读器大多数都没有。如果你是轻度用户,可以从下面推荐阅读器里选一个下载,然后把获得源导入即可。

对于服务端的 阅读器,有一些是产品,有一些是自建服务。

  • Inoreader | Feedly 可以说是最知名的两个阅读器服务,功能强大,但是高级功能都收费。
  • Tiny Tiny RSS  | Miniflux | Fresh RSS 可以说是自建最为热门的几个阅读器服务。

对于本地阅读器,选择很多太多,这里只列举几个比较喜欢的:

  • iOS/macOS 平台:可选的较多,举三个我推荐的例子
    • Reeder Classic:$4.99 付费买断下载,美观均衡之选,对 Fever API 支持欠佳。近近几个月发布了新 Reeder,但我还是建议使用 Classic 版本。
    • Fiery Reader:免费下载,高级功能每年 $9.99,功能及其强大,自定义程度极其高,你想要的它都有
    • Unread:在国区商店提供,高级功能略贵但普通版完全够用
  • Windows 平台:其实在 Windows 上我推荐直接上浏览器看 Inoreader 或者自建服务的网页版,不用专门下阅读器。
    • Fluent Reader:使用 Fluent Design 的阅读器,开源免费
  • Android 平台
    • Read You: Material You 风格,开源免费。
    • Feedme:功能完善且强大的阅读器。

我目前使用 Miniflux 配合 Reeder 5,它们之间使用 Google Reader API 通信。
不愿意折腾:Reeder Classic、自建 RSSHub + Inoreader + Reeder Classic
愿意折腾:自建 Miniflux + Reeder Classic、自建 RSSHub + 自建 Tiny Tiny RSS + Fiery Reader
目前我的组合:自建 Miniflux + Reeder Classi

2、RSSBud

github:https://github/Cay-Zhang/RSSBud

RSSBud 是一款能够快速发现 RSS 订阅链接,并通过第三方 RSS 阅读器订阅的 iPad、iPhone 应用,而它所有能发现的 RSS 订阅链接,都来自 RSSHub 支持的网站。通俗的说:RSSBud 就是根据提供的链接去解析有没有 RSS 源,或者去 RSSHub 上去查找有没有对应订阅的链接,只要是 RSSHub 支持的网站,RSSBud 就能快速识别定订阅,这样就省去了手动到 RSShub 上去查找的麻烦。RSSBud 解决的问题是可以让用户不再需要去阅读 RSSHub 文档了,毕竟现在会读文档的人太少了…怪不得之前有研究说数字时代人类智商下降了。

同类项目

  • RSSHub Radar by DIYgod (浏览器扩展)
  • RSSAid by Leetao (Flutter)

目前 RSSBud 支持以下第三方阅读器:

  • Ego Reader
  • Reeder
  • Fiery Feeds
  • Feedly
  • Inoreader
  • Feedbin
  • The Old Reader
  • Feeds Pubs
  • Tiny Tiny RSS
  • Miniflux
  • Fresh RSS

3、Follow

官网地址:https://follow.is/
Github 地址:https://github/RSSNext/follow

什么是 follow

Follow 是啥?它是 RSSHub 作者 DIYgod 大佬开发的 Next generation information browser 下一代信息浏览器,号称目前地球上最棒的信息获取工具和 RSS 阅读器。自带一个服务端,加入了 Web3、轻社交、订阅源列表分享等功能。

Follow  依托 RSSHub 平台,把 RSS 阅读器跨越式升级到了下一代!它打破了 RSS 阅读器仅能订阅传统网页订阅源的限制。你在 Follow 阅读器里,几乎能订阅全部 "可以被 RSS 化" 的内容,包括各种社交媒体帐号以及视频/图片等内容。重新实现了全网的内容更新订阅,集中在一处聚合阅读!所以,Follow 不单单提供了 RSS 的订阅,它的定位更是官网中所描述的 "下一代的信息浏览器",Follow 旨在让你在一个地方关注你喜爱的网站、博客、社交媒体帐户、播客和通知。它被设计为一个现代、快速、方便的一体化信息中心。目前它提供的功能有:

  • Articles 文章订阅:偏向于传统的 RSS 订阅的模式;
  • Social Media 社交媒体:更加偏向于 Follow 自己感兴趣的作者在提供订阅的 APP 上;
  • Pictures 图库订阅:订阅自己感兴趣的图片网站;
  • Videos 视频订阅:订阅自己的在 Youtube、BiliBili 等视频平台的 UP 主;
  • Audio 音频订阅:更像是播客类的订阅 APP;
  • Notifications 通知订阅:订阅新闻媒体的信息;

为什么需要 Follow

为什么需要 Follow 以及它背后的 RSSHub 网络?

想象一下,你每天需要查看的信息有:新闻、股市、天气预报、博客、软件更新、甚至是你喜欢的视频 UP 主、推特用户、壁纸、漫画、播客频道的更新。一个个去手动打开这么多不同网站、不同的 APP 去看看有没更新,这不很累吗?为了 "订阅" 各个网站的内容,就发明了 RSS 网络聚合,可以实现在 RSS 阅读器里一处浏览不同网站的更新。

然而随着移动 APP 时代降临,各大平台为资本逐利,不再像 Web 时代讲究 "互联网共享精神" 了,都把自家内容 "圈起来" 不对外共享,还使用各种反爬虫技术保护自家数据不被抓取,于是 RSS 被边缘化了。为了让各种互联网上的内容都能被订阅,大佬 @DIYGod 开发了开源的 RSSHub 项目,能为各种互联网平台、社交媒体、奇奇怪怪的内容都生成 RSS 订阅源,让一切皆可追更。而发展至今,RSSHub 已成为网络上最大的 RSS 订阅源聚合平台了。

Follow 是一个订阅工具,依托 "万物皆可订阅" 的开源 RSSHub 平台,将 RSS 阅读器进化到下一个形态。Follow 是 "以万物皆可订阅" 为目标而生的新一代开源且免费的 RSS 阅读器,这款应用不仅能订阅传统的网站 RSS 地址源,还能订阅各大社交网络账号 (比如 X 推特 / 小红书 / 微博)、视频平台 UP 主 (Youtube /哔哩哔哩)、播客、图片等内容更新,几乎能订阅全部 "可以被 RSS 化" 的内容,重新实现了全网的内容更新订阅,然后集中在一处聚合阅读。Follow 支持跨平台支持 Windows、macOS、Linux 等主流操作系统。

Follow 打破了 RSS 阅读器仅能订阅传统网页订阅源的限制。

当然,Follow (以及 RSSHub) 并不是万能的,所有的订阅源其实都是开源社区开发者们通过分析网络请求后,写成类似爬虫的代码实现内容到 RSS 的转换。如果某些平台,比如微信公众号没有开放的 Web 接口,同时还在各方面做限制,封号管控比较严格,那么大家想稳定爬取也没辙。

总体来说,目前 Follow 里面 (即 RSSHub) 支持的订阅源已经非常丰富了,发现页面可以“搜索”到很多热门资源 (如上图),能覆盖大部分我们常用需要关注和追更新的网站/媒体帐号等内容了。加上本就支持订阅传统的 RSS 源,Follow 能聚合的信息相信很容易就能让你每天看不过来。

Follow 功能

  • RSS 搜索功能:作为 RSS 阅读器,提供搜索功能,可根据关键词搜索订阅感兴趣的方向的信息源,还可以直接输入 RSS 订阅地址预览订阅,与 RSS3 组成生态,支持收件箱接收邮件,还有 RSS 阅读器的导入功能。
  • 谁在阅读功能:阅读器可以把相同订阅并阅读过这篇文章的网友罗列在文章左上方,点击头像会把订阅者自己公开的订阅罗列出来。
  • 订阅热点 AI:每天早晚 8 点 AI 基于订阅的源的阅读量来提取 Summary 列表供订阅者阅读。
  • 打赏系统:集成区块链技术,用户每日会获得代币,可以用来打赏喜欢的内容,购买订阅列表。
  • 列表功能:用户可以将一个或多个订阅源创建为一个列表,供其他用户一次性订阅。
  • WebHooks 整合:支持双向 WebHooks,即可以向 Follow 发送 WebHook 请求,或邮件,让其更新收件箱,或者在订阅源更新之后,向外发送 WebHook 请求。

订阅多种类型源 (不止 RSS)

  • 多类型订阅:可以订阅网页 (文本)、图片、视频、社媒、通知等,包括影片、音频、文章、图片等,还能订阅电商平台物品价格变动,以及网站、微博、B 站、小红书等,甚至可以订阅 YouTube 或哔哩哔哩上的 UP 主的更新。
  • 多种订阅模式:除支持传统的网页 RSS 订阅外,还提供文本、图片、视频、社媒、通知订阅模式,支持关键词订阅、订阅某个博主、订阅某个分类等,还有 RSSHub 路由订阅功能,由 RSSHub 社区的发展,可实现 “万物皆可 RSS”。
  • 用户分享订阅列表:用户可以订阅其他 Follow 用户的订阅源,通过搜索需要的内容来添加订阅。并且,软件支持用户分享自己整理的订阅列表,方便他人一键订阅,分享者也能从中获得打赏。订阅共享功能是 Follow 的特色功能,大家可以通过订阅的文章了解到和自己一样订阅这个文章的人他(她)们订阅了什么信息,从而充实自己的订阅源。

自动化 与 AI 功能

内置的自动化功能,可以提供给订阅的内容自动生成 AI 摘要、自动翻译、新条目通知、支持指定条件触发,和规则自定义。例如「Follow」在开启自动生成 AI 摘要功能后,当打开订阅的文章就会有个 AI 总结,这样可以节省时间去看长篇文章。

  • AI 摘要生成:可以为订阅的内容自动生成 AI 摘要,节省阅读长篇文章的时间,当打开订阅的文章就会有个 AI 总结。通过 AI 进行总结,可以带来阅读效率的极大提升。
  • AI 热点总结功能:每天 8:00 和 20:00 定时更新根据时间线提取的重点信息。
  • 自动翻译:支持自动翻译,可对比着阅读英文专业文章,目前只能翻译标题,未来可能还会内置类似 “沉浸式翻译” 效果的插件。
  • 新条目通知:支持新条目通知功能。
  • 指定条件触发和规则自定义:支持指定条件触发,和规则自定义,如开启自动生成 AI 摘要功能后,当打开订阅的文章就会有个 AI 总结。

阅读模式

  • 自动排版:文章阅读方面支持切换阅读模式,会根据文章自动排版,但不支持自定义样式。
  • 语音朗读播报:支持将文本转换语言播报,语音使用微软语音库,还支持选择自己喜欢的音色,语音朗读时还支持下载到本地和倍速。
  • 纯净模式:有阅读模式可以帮忙纯净一下原界面。
  • 视频播放:在视频板块,不用跳转到原网站,就能直接观看视频,如订阅 B 站 Up 主后可直接在 Follow 中观看视频,登录账号后还支持弹幕。

Follow 客户端的特色

  • 高颜值界面:简洁而现代的界面,顶部按钮设计直观,不同信息类别切换顺滑,有亮色和深色模式。
  • 分类呈现:把所有内容分为六类:文章、社交媒体、图片、视频、音频和通知,不同类别的内容展现形式不同,社交媒体信息流以时间为节点,图片是以壁纸土啬的形式,视频资源采用画廊视图,文章界面还支持文本转语音,视频播放支持登录账号后弹幕。
  • 支持快捷键:大部分操作都支持快捷键,提升阅读效率。

代币 机制

作者将区块链币的设计引入到了 Follow 之中,构建了 Power Token 代币的独特生态系统,通过签到获取 $POWER 代币,创作者可在 Follow 上认领自己的内容源,活跃分享用户也可获得代币奖励。代币可以解锁更多高级功能,读者可以打赏 $Power 币,优质的内容创作者能因此获得经济回报,激励持续创作。代币目前有两种用途:

  • 邀请:通过代币生成邀请码,进行分享,达到 APP 的裂变传播;
  • 赞赏:对于感兴趣的文章,你可以给认证过的作者打赏代币;

相信未来代币可以在 Follow 中有更多的场景和玩法,同时作者还承诺代币未来的价值。

深度 体验

:https://x.cosine.ren/follow-travel

写在最后

Follow 是一款非常成功的软件,在算法推荐为主流的时代,这一款 RSS 软件无疑给 RSS 圈带来了新的希望与活力。不过,目前的互联网环境,头部大厂都是尽可能地保留住自己的数字信息,从而选择了私域与闭源的策略,这样其实与最初互联网“开放”的原则相违背,带来的弊端是大家接触信息的成本变得高了起来,同时,RSS 阅读器也因为版权的原因,无法获取高质量的文章。

大家有推荐的 RSS 的订阅源也可以通过评论区分享出来。分享下订阅源与 Follow 的订阅列表:

  • Debug客栈 RSS 订阅地址:https://blog.debuginn/index.xml
  • Go 语言爱好者 订阅列表:https://app.follow.is/list/60633757623653376

使用 场景

万物皆可订阅(带颜色或者不带颜色的 影片、音频、文章、图片、关键字 等)。Follow 提供了文本、图片、视频、社媒、通知订阅模式。也就是你可以用来订阅网站、微博、B 站、小红书,甚至可以关注一些电商平台的物品价格变动等等,如什么值得买平台。

由于一些网站没有提供 RSS 功能,所以还有 RSSHub 路由订阅功能,简单说就是由 RSS 社区网友针对某个网站自己部署分享出来的订阅方式,并且针对不同的网站提供了多种订阅方式。

另外「Follow」还提供了用户分享自己的订阅,你可以订阅其他用户的订阅源,或者通过搜索需要的内容来添加订阅,例如这里我要订阅:”影片“,那么通过搜索可以找到一些订阅源。

订阅之后,就可以第一时间看到最新更新资源了。不过目前「Follow」还在测试阶段,用户不多,能搜到的订阅比较少,等「Follow」开放使用后,估计会越来越多用户分享订阅/自建 RSSHub 订阅。

为了鼓励用户分享订阅和认证订阅源,在「Follow」还提供了 Power 币,可以通过用户打赏或者订阅认证后来奖励,目前 Power 币只能用来兑换邀请码。

4、Follow 邀请码 解密史

Follow 邀请码解密史:https://huajin.xlog.app/follow-invitation-code?locale=zh

Follow 是一个新出的 RSS 阅读器,目前还在内测阶段,邀请制获得体验资格。最初的邀请码只能通过官方获取,例如官方会不定期在 discord,x 发放一定量的邀请码,你也可以直接给官方写邮件发私信等方式获取到邀请码。

同时,已经有邀请码且激活了的用户可以邀请其他用户从而形成邀请码的裂变

  • 签到每日获得 20 powers,累积 100 powers 即可铸造一个邀请码。
  • 每 3 天可以获得一个生成邀请码的资格。
  • 认证订阅源可以直接获得 100 powers,因此一个新用户最快可以 3 天裂变出一个新的邀请码。

用户生成的新的邀请码大抵有这几个去处

  • 邀请自己的亲朋好友
  • 社交媒体点赞评论抽奖,邀请幸运网友(x、小红书、bilibili 等地均有)
  • 作为解密的谜底,“比武招亲”
  • 咸鱼

如果你没有认识的人给你生成邀请码,也没有足够的运气能够在几百几千人的抽奖中获得一个邀请码,那么你获得邀请码的方法来源于 discord,大量用户会在里面发布自己生成的邀请码。由于直接将邀请码发出来会被某些无良用户用脚本直接抢占,因此大家通常都会对邀请码做一些修改,例如以图片的形式给出邀请码拼手速,或者是隐藏其中的某一位或者两位拼运气。此类邀请码都活不过五分钟。

为了增加趣味性,人们开始以某些特殊方式对邀请码进行加密,有点比武招亲的感觉。有的以特殊编码加密邀请码,有的是需要解题得出邀请码,有的以图文的方式加密,还有的直接将邀请码藏在一段故事中,这段时间每天我都会看里面出现的各种解密,慢慢的我也能解出其中一些谜题,但是由于总有人解的更快,我始终没能靠解密得到一个邀请码,最后凭借逆天运气蒙对了一个邀请码。我将一些有趣的解密记录下来作为对这段时光的留念。

图文加密

这种加密方式第一眼看上去会感觉很抽象,同时需要你较了解图文加密常用的内容以及天马行空的思维。

像素画、盲文、Vegenere

From @cap_stu

提示 1:用 ps 有帮助
提示 2:SOS
提示 3:两种图片比例 1:800
提示 4:一张图片,上面写着 follow

这个谜题发出来时只给了前三个提示,太过抽象一点头绪都没有。到了第二天都没有人解出来,于是作者给了提示四,至此我才发现了一些端倪。

  • 先看提示四,下方是 follow 软件的图标,上方也是六块内容,联想到盲文,查表发现上面六块内容就代表了 follow,因此可以确定题目是用的盲文加密。
  • 把题目图片上方的星星以盲文解密,即可得到 VIGENERE 和 PIXEL。代表还要用到另一个加密方法 vigenère,密钥自然就是 pixel 了。
  • 题目底部的图标的上下两行灰线可以用摩斯密码解密,分别得到 Braille 和 Vigenere,这应该是没有提示四的时候作者隐藏的提示。
  • 题目中间的两段灰色密文,用摩斯密码解密后得到 DRNAQXSDDQA,这时候 Vigenere 就派上用场了,解密即可得到最终答案。

附上作者制作的一图解

三维图

From @Plana   题目:

37.06749647,44.28503693,-40.50114678
39.18881682,45.3456971,-38.66402947
42.72435072,47.11346406,-35.60216729
63.93755416,57.72006577,-17.23099422
81.61522369,66.55890054,-1.921683328
...

作者给了很多这样的数据,是一个 csv 文件。由于数据都是三个三个的,推测是 rgb,但是作者说不是。因此推测是 xyz 坐标。用 python 绘制出结果为

原神加密

原神的提瓦特语言

密码本如下,答案为 sf4lBGG_7E

跳舞的人、色块、腾格顿语

From @喵~
没啥难度,知道密码本就能解。问题是作者给错图了,没有分大小写,直接解出来是 EXSTCTTJKU。还好蒙对了是 eXsTCtTkKu,成功激活。
https://www.dcode.fr/ballet-alphabet
https://www.dcode.fr/hexahue-cipher
https://www.dcode.fr/tenctonese-alphabet

月亮、进制转换

From @Jacob

  • 提示 1:月亮 + 文字 + 红色 = full code (暗示该代码为三段组合)
  • 提示 2:仔细看,两个月亮是不一样的(月亮为 Lunar Alphabet,破译得到首两位字母)
  • 提示 3:数字像极了 "八股文"(图片中数字暗示 8 进制转换,破译后得第二段)
  • 提示 4:红色线条收尾(代码唯一出现线条的只有下划线_为第三段)

解谜:

月亮要用月相解,得到 VD

  • 图片中间有四行数字,数字都比较大,因为数字是 8 进制的。将 8 进制的数转为 16 进制后,再用 unicode 编码转换得到答案:【两位月神带领你月之暗面指引你 5xGivZb 红色之物】,可见中间七位为 5xGivZb
  • 还剩一位红线自然是下划线 _

因此得到邀请码:VD5xGivZb_

柯南解密

From @Arona
AESDecrypt(data="vEIlU835MIeD08frTJmJpw==", "ECB", "PKCS7", "128bit", key=看图猜)
原题不带左边的数字和下面的字母,解出来答案是 EGG HEAD,本来这个是 key,但是作者加密的时候复制错了,因此这个是解不出邀请码的。

电线上的鸟、Vigenere 加密

From @Jacob

两重加密,第一重为电线上的鸟,密码本为下图(搜索 The bird on the telephone pole decrypt 等类似的内容即可找到 Birds on a Wire Cipher - Online Decoder, Encoder, Translator ),鸟的位置代表字母的大小写

解密后得到 bHPwBTSiji,然后用 Vigenere 解密,密钥是图片代表的软件名 follow,解得答案 wTElNXNuyx

编码加密

这种加密通常需要知道密文、密钥和加密方式即可解密。

zero-width-web、svg、二维码

From @Huajin,密文:M‏‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‌‎‎​‏​‌‎‎​‏‏‌​‏‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‌‎‏​‍‎‌​‌‎‌​‏‏‌​‏​‌‎‏​‏‏​‌‎‍​‎​‌‎‍​‏​‌‎‏​‏‏‌​‏‍​‎​‌‎‎​‏​‌‎‎​‏‏‌​‏‍​‎​‏​‏​‌‎‌​‏‏‌​‏‍​‎​‏​‍‎‌​‏​‏‍​‏‏‌​‏​‌‎‌​‏‏​‌‎‍​‎​‌‎‏​‏​‌‎‌​‏‏‌​‏‍​‎​‌‎‎​‏​‌‎‎​‏‏‌​‏‍​‎​‌‎‌​‍‎‌​‌‎‌​‏‏‌​‏​‌‎‍​‏‏​‌‎‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‏​‏​‌‎‏​‏‏‌​‏‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‌‎‎​‏​‏​‏‏‌​‏‍​‎​‏​‏​‌‎‌​‏‏‌​‏‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‏​‍‎‌​‌‎‍​‏‏‌​‏​‌‎​‏‏​‌‎‍​‎​‌‏‎​‏​‌‏‏​‏‏‌​‏‍​‎​‌‎‎​‏​‌‎‎​‏‏‌​‏‍​‎​‏​‍‎‌​‏​‌‎‎​‏‏‌​‏​‌‏‎​‏‏​‌‎‍​‎​‌‎​‏​‌‎‎​‏‏‌​‏‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‏​‍‎‌​‌‎‌​‏‏‌​‏​‌‏‏​‏‏​‌‎‍​‎​‌‏‎​‏​‏​‏‏‌​‏‍​‎​‌‎‏​‏​‏​‏‏‌​‏‍​‎​‌‎‎​‏​‌‎‎​‏‏‌​‏‍​‎​‏​‍‎‌​‌‎‌​‏‏‌​‏​‌‏‌​‏‏​‌‎‍​‎​‏​‏​‌‎‍​‏‏‌​‏‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‏​‏​‌‎‎​‏‏‌​‏‍​‎​‌‎‌​‏​‌‎‎​‏‏‌​‏‍​‎​‌‎‎​‍‎‌​‌‎‌​‏‏‌​‌‎‎​‏‍​‏‏​‌‎‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‌‎‏​‏​‏​‏‏‌​‏‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‌‎‎​‏​‏​‏‏‌​‏‍​‎​‌‎‎​‏​‏​‏‏‌​‏‍​‎​‏​‍‎‌​‌‎‌​‏‏‌​‌‎‎​‏​‏‏​‌‎‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‌‎‏​‏​‏​‏‏‌​‏‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‌‎‎​‏​‏​‏‏‌​‏‍​‎​‌‎‍​‏​‌‎‎​‏‏‌​‏‍​‎​‏​‍‎‌​‌‎‌​‏‏‌​‌‎‎​‌‎‎​‏‏​‌‎‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‌‎‏​‏​‏​‏‏‌​‏‍​‎​‏​‏​‌‎​‏‏‌​‏‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‌‎‎​‏​‌‎‎​‏‏‌​‏‍​‎​‌‎‎​‍‎‌​‌‎‌​‏‏‌​‌‎‎​‌‎‏​‏‏​‌‎‍​‎​‏​‏​‌‎‍​‏‏‌​‏‍​‎​‏​‏​‌‎‏​‏‏‌​‏‍​‎​‏​‏​‌‎‎​‏‏‌​‏‍​‎​‌‎‏​‏​‏​‏‏‌​‏‍​‎​‌‎‌​‍‎‌​‌‎‌​‏‏‌​‌‎‎​‌‎‌​‏‏​‌‎‍​‎​‌‏‎​‏​‏​‏‏‌​‏‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‌‎‎​‏​‏​‏‏‌​‏‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‏​‏​‏​‏‏‌​‏‍​‎​‌‎‎4 4.5h7m1 0h2m4 0h7M4 5.5h1m5 0h1m1 0h3m3 0h1m5 0h1M4 6.5h1m1 0h3m1 0h1m1 0h3m3 0h1m1 0h3m1 0h1M4 7.5h1m1 0h3m1 0h1m3 0h2m2 0h1m1 0h3m1 0h1M4 8.5h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h3m1 0h1M4 9.5h1m5 0h1m3 0h3m1 0h1m5 0h1M4 10.5h7m1 0h1m1 0h1m1 0h1m1 0h7M13 11.5h4M4 12.5h1m2 0h6m1

  • 提示 1:两重加密
  • 提示 2:f12, Zero Width Lib
  • 提示 3:svg

如果将密钥复制到微信或者是 vscode 等地方,会发现有一些无法显示的字符。这是因为这段密文隐写了零宽字符。使用提示 2 给出的工具即可完成第一重解密得到真正的密文:

M4 4.5h7m1 0h2m4 0h7M4 5.5h1m5 0h1m1 0h3m3 0h1m5 0h1M4 6.5h1m1 0h3m1 0h1m1 0h3m3 0h1m1 0h3m1 0h1M4 7.5h1m1 0h3m1 0h1m3 0h2m2 0h1m1 0h3m1 0h1M4 8.5h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h3m1 0h1M4 9.5h1m5 0h1m3 0h3m1 0h1m5 0h1M4 10.5h7m1 0h1m1 0h1m1 0h1m1 0h7M13 11.5h4M4 12.5h1m2 0h6m1

0h1m1 0h2m2 0h1m1 0h3M4 13.5h5m3 0h2m2 0h1m4 0h1M10 14.5h3m4 0h2m2 0h4M4 15.5h1m1 0h1m1 0h1m3 0h1m1 0h2m1 0h1m4 0h1m1 0h1M5 16.5h7m8 0h2m2 0h1M12 17.5h6m2 0h1m1 0h1m1 0h1M4 18.5h7m1 0h3m1 0h2m2 0h1M4 19.5h1m5 0h1m1 0h1m2 0h4m2 0h2M4 20.5h1m1 0h3m1 0h1m1 0h2m1 0h2m1 0h1M4 21.5h1m1 0h3m1 0h1m1 0h2m1 0h5m2 0h1M4 22.5h1m1 0h3m1 0h1m6 0h1m1 0h2m2 0h2M4 23.5h1m5 0h1m3 0h1m2 0h3m1 0h4M4 24.5h7m1 0h1m1 0h2m1 0h1m1 0h1m1 0h2

将这两段密文拼接在一起,可以发现里面有大量的 h 和 m,如果你熟悉 svg,你就能一眼看出这是一个 svg 的 path 标签。随意搜一个 <svg>,配上解密后的结果 <path d="..."/> 我们就得到了一个 svg,打开可以看到一个二维码。

<svg viewBox="0 0 33 33" shape-rendering="crispEdges">
  <path stroke="#fff"
    d="M4 4.5h7m1 0h2m4 0h7M4 5.5h1m5 0h1m1 0h3m3 0h1m5 0h1M4 6.5h1m1 0h3m1 0h1m1 0h3m3 0h1m1 0h3m1 0h1M4 7.5h1m1 0h3m1 0h1m3 0h2m2 0h1m1 0h3m1 0h1M4 8.5h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h3m1 0h1M4 9.5h1m5 0h1m3 0h3m1 0h1m5 0h1M4 10.5h7m1 0h1m1 0h1m1 0h1m1 0h7M13 11.5h4M4 12.5h1m2 0h6m1 0h1m1 0h2m2 0h1m1 0h3M4 13.5h5m3 0h2m2 0h1m4 0h1M10 14.5h3m4 0h2m2 0h4M4 15.5h1m1 0h1m1 0h1m3 0h1m1 0h2m1 0h1m4 0h1m1 0h1M5 16.5h7m8 0h2m2 0h1M12 17.5h6m2 0h1m1 0h1m1 0h1M4 18.5h7m1 0h3m1 0h2m2 0h1M4 19.5h1m5 0h1m1 0h1m2 0h4m2 0h2M4 20.5h1m1 0h3m1 0h1m1 0h2m1 0h2m1 0h1M4 21.5h1m1 0h3m1 0h1m1 0h2m1 0h5m2 0h1M4 22.5h1m1 0h3m1 0h1m6 0h1m1 0h2m2 0h2M4 23.5h1m5 0h1m3 0h1m2 0h3m1 0h4M4 24.5h7m1 0h1m1 0h2m1 0h1m1 0h1m1 0h2" />
</svg>
 

你也可以将其稍微美化一下,将底色改为白色,色块改为黑色,

<svg xmlns="http://www.w3/2000/svg" viewBox="0 0 29 29" shape-rendering="crispEdges">
  <path fill="#ffffff" d="M0 0h29v29H0z" />
  <path stroke="#000000"
    d="M4 4.5h7m1 0h2m4 0h7M4 5.5h1m5 0h1m1 0h3m3 0h1m5 0h1M4 6.5h1m1 0h3m1 0h1m1 0h3m3 0h1m1 0h3m1 0h1M4 7.5h1m1 0h3m1 0h1m3 0h2m2 0h1m1 0h3m1 0h1M4 8.5h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h3m1 0h1M4 9.5h1m5 0h1m3 0h3m1 0h1m5 0h1M4 10.5h7m1 0h1m1 0h1m1 0h1m1 0h7M13 11.5h4M4 12.5h1m2 0h6m1 0h1m1 0h2m2 0h1m1 0h3M4 13.5h5m3 0h2m2 0h1m4 0h1M10 14.5h3m4 0h2m2 0h4M4 15.5h1m1 0h1m1 0h1m3 0h1m1 0h2m1 0h1m4 0h1m1 0h1M5 16.5h7m8 0h2m2 0h1M12 17.5h6m2 0h1m1 0h1m1 0h1M4 18.5h7m1 0h3m1 0h2m2 0h1M4 19.5h1m5 0h1m1 0h1m2 0h4m2 0h2M4 20.5h1m1 0h3m1 0h1m1 0h2m1 0h2m1 0h1M4 21.5h1m1 0h3m1 0h1m1 0h2m1 0h5m2 0h1M4 22.5h1m1 0h3m1 0h1m6 0h1m1 0h2m2 0h2M4 23.5h1m5 0h1m3 0h1m2 0h3m1 0h4M4 24.5h7m1 0h1m1 0h2m1 0h1m1 0h1m1 0h2" />
</svg>
 

扫描二维码,你就得到了邀请码:VlbwY6fixN

AES 加密

From @Oganneson

密文: Y‍‍​‍‎‌​‎‌​‍‎‍​‍‍​‍‎‍​‌‏‎​‌‎‌​‍‎‍​‌‏‏​‍‎‎​‏‌​‎‎​‌‏‏​‌‎‏​‌‌DY/4rmwped3BwBS8PYZjg==,AES128 位加密,CBC 模式,填充模式 PKCS7,密钥和初始化向量相同。

这不是简单的密文,用控制台可以看到里面有很多零宽度字符。

用 https://yuanfux.github.io/zero-width-web 解密去除零宽度字符的同时得到真正的密文 YDY/4rmwped3BwBS8PYZjg== 和密钥 bMfNvN74N8Kkd83p,然后随便找个 AES 解密即可解得邀请码。

与佛论禅

From @Charles Ye

题目:佛曰:勝侄槃罰倒皤彌怖缽遠得藐穆吉佛僧爍竟侄藐跋罰羅冥恐姪奢一涅梵夢哆恐皤迦醯俱姪亦梵陀參呐槃無多

解:很明显这个是与佛论禅加密,随便搜个与佛论禅的解谜网站解谜就行。

新佛曰加密

From @dirt
新佛曰:諸隸僧怖降怖吽諸怖陀摩怖隸僧缽薩怖願怖降嚩咒愍怖諦隸怖慧嚩怖嘚劫怖喼怖阿是蜜如

解:与佛论禅的变种,用这个网站可以解密 新约佛论禅/佛曰加密 - 萌研社 - PcMoe!

凯撒加密

From @neoedon
题目:cRIrROPj5I 已凯撒加密,偏移量为 3,5,7,9,11,13 其中一个;解密为邀请码。

解:加密方式已知,直接搜个能解凯撒加密的解谜网站解就行了,主要是看运气。

ASCII、进制转换、偏移

From @cliouo

在一个古老的城堡中,隐藏着一封神秘的信件。信件的开头写着一串加密的字符
65,171,142,147,161,40,153,164,161,161,164,142,152,151,40,147,144,40,154,70,162,161,124
城堡的守护者告诉你,这段文字使用了一种古老的加密方法,你需要解密这段文字来找到通往宝藏的钥匙。

提示:
邀请码的第一位为数字 N 这段文字使用了一种简单的替换加密方法。
每个字母都被替换成了它在字母表中位置向后移动 N 个位置的字母。

请解密这段文字,并找出通往宝藏的钥匙。

解:数字是八进制的 ASCII 码,将每个值从 8 进制转换到 10 进制,然后查找其对应的 ASCII 字符如果是字母,则偏移 5(第一个字符解出来是 5)

XTEA 加密、app

From @Deco
密文一:Zv2DGQAG2q+57dtXshJlzk7msqCY3M1LOU453/fLLboPUWiTUqmAs1iLbIvDkh7TvF1s
mYrpvZ4=
密文二(部分):Zv2DNQAJMOMfrw6ycIdOxF/meq9M5vf5

  • 提示 1:XTEA 加密
  • 提示 2:密钥全是 app 名字小写
  • 提示 3:第一个解谜的密钥提示:Drank way too much coffee
  • 提示 4:第一个解谜解出来后得到第二个解谜的密钥提示

解:加密方式已知,只需要猜密钥即可。第一个密钥提示的内容是 youtube,提示的内容是 app 的更新公告内容。解除的结果为:“修复了一些 bug,并吃了一桶冰淇淋”,这是 bilibili 更新时的更新公告内容,作为第二次解谜的密文的后半部分,密钥是 bilibili。这样就能得到结果。

颜文字加密

密文很抽象,但是这个没啥难度,随便搜一个就能解密。

゚ω゚ノ= /`m´)ノ ~┻━┻   //´∇`/ ['']; o=(゚ー゚)  ==3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚)= (o^^o)/ (o^^o);(゚Д゚)={゚Θ゚: '' ,゚ω゚ノ : ((゚ω゚ノ==3) +'') [゚Θ゚] ,゚ー゚ノ :(゚ω゚ノ+ '')[o^^o -(゚Θ゚)] ,゚Д゚ノ:((゚ー゚==3) +'')[゚ー゚] }; (゚Д゚) [゚Θ゚] =((゚ω゚ノ==3) +'') [c^^o];(゚Д゚) ['c'] = ((゚Д゚)+'') [ (゚ー゚)+(゚ー゚)-(゚Θ゚) ];(゚Д゚) ['o'] = ((゚Д゚)+'') [゚Θ゚];(゚o゚)=(゚Д゚) ['c']+(゚Д゚) ['o']+(゚ω゚ノ +'')[゚Θ゚]+ ((゚ω゚ノ==3) +'') [゚ー゚] + ((゚Д゚) +'') [(゚ー゚)+(゚ー゚)]+ ((゚ー゚==3) +'') [゚Θ゚]+((゚ー゚==3) +'') [(゚ー゚) - (゚Θ゚)]+(゚Д゚) ['c']+((゚Д゚)+'') [(゚ー゚)+(゚ー゚)]+ (゚Д゚) ['o']+((゚ー゚==3) +'') [゚Θ゚];(゚Д゚) [''] =(o^^o) [゚o゚] [゚o゚];(゚ε゚)=((゚ー゚==3) +'') [゚Θ゚]+ (゚Д゚) .゚Д゚ノ+((゚Д゚)+'') [(゚ー゚) + (゚ー゚)]+((゚ー゚==3) +'') [o^^o -゚Θ゚]+((゚ー゚==3) +'') [゚Θ゚]+ (゚ω゚ノ +'') [゚Θ゚]; (゚ー゚)+=(゚Θ゚); (゚Д゚)[゚ε゚]='\'; (゚Д゚).゚Θ゚ノ=(゚Д゚+ ゚ー゚)[o^^o -(゚Θ゚)];(o゚ー゚o)=(゚ω゚ノ +'')[c^^o];(゚Д゚) [゚o゚]='"';(゚Д゚) [''] ( (゚Д゚) [''] (゚ε゚+(゚Д゚)[゚o゚]+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((o^^o) +(o^^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (c^^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚Θ゚)+ ((o^^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (o^^o)+ ((o^^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+((o^^o) +(o^^o))+ ((゚ー゚) + (o^^o))+ (゚Д゚)[゚ε゚]+((o^^o) +(o^^o))+ ((゚ー゚) + (o^^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚Θ゚)+ ((o^^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚Θ゚)+ (c^^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚Θ゚)+ ((゚ー゚) + (o^^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚Θ゚)+ (c^^o)+ (゚Д゚)[゚o゚]) (゚Θ゚)) ('');

兽语加密

From @QistChan

~呜嗷嗷嗷嗷呜呜呜啊嗷呜嗷呜呜啊呜啊嗷啊呜~呜嗷呜~嗷~呜呜嗷嗷~嗷嗷嗷呜呜呜啊嗷呜嗷呜呜啊呜嗷嗷啊嗷啊呜~呜嗷嗷~嗷~呜嗷呜嗷啊嗷嗷嗷呜呜呜呜~呜嗷呜呜啊呜嗷嗷啊嗷啊呜~呜嗷啊~嗷~呜嗷呜嗷~嗷嗷嗷呜呜呜呜啊呜嗷呜呜啊呜嗷嗷啊嗷啊呜~呜~嗷~呜呜嗷嗷~嗷嗷嗷呜呜呜啊啊呜嗷呜呜啊呜~啊啊嗷啊呜~呜~啊~嗷~呜嗷呜呜嗷啊

ps. 由于密文存在符号 ~,发在 disord 上时有很多删除线。

就是先把删除线变成~,也就是用 markdown 的语法转换一下,然后用 兽音译者在线编码解码 - 兽音翻译咆哮体加密解密 这个网站解密,解密之后的东西按十六进制转换成 ASCII 字符就好了

摩斯密码

From @LOOL

6 个大写,1 2 7 9 小写

解得:cuKNXEwSvW

质数加密 / 解密

From @Jacob

这是一个基础解密,成功解密需要将答案发在 dc 聊天中,首位答对者将会私聊获得邀请码一枚
19 71 71 53 67 71 11 43 47 61 5 47 41 79 23 11 83 3 2 23 37 2 61 7 2 43 5 11 19 2 53 53 97 71 47 41 2 43 7 29 11 61 61 97 17 23 13

提示:只有一层加密

观察数字容易发现全是质数,按照质数的排列顺序将密文转化为字母,得到

httpstenorcomviewbailardancehappytomandjerrygif  对应的网站似乎是 https://tenor/view/bailar-dance-happy-tom-and-jerry-gif。但是打开会发现是 tenor 网站的一个空白页,真正的答案还需要拼上作者个人简介中的一串数字 14081211。因此真正的答案是:https://tenor/view/bailar-dance-happy-tom-and-jerry-gif-14081211 对应的 gif 图为 tom and jerry

解题加密

高数

From @Jonty Li,①和②对应相应序号的英语字母

解出来是 6 和 3,对应 j 和 c,答案为 ymyjfSgmMc

诗词

From @toxomo

密文:万U 家K 明M 天k 同K 庆W 普d 火O 一N 灯P

分析:两句诗,压韵的,每个字只用一次

解密:万家灯火明,普天一同庆。UKPOMdkNKW

名字加密

From @qvKEAyHnx6

很有创意的加密,把码作为名字,既不会让脚本秒了,解密难度也不大。

游戏加密

From @alphardex

这个更是重量级,直接做了个游戏出来 https://mygo-find-app-code-2lify.app/

“其实我的流程总体是这样的:玩游戏 —— 用 SL 大法过关(或者运气好直接通)—— 得到提示 —— 去鉴赏 CG 得另一提示 ——OCR(自己查也行)—— 谷歌翻译(或者直接搜)—— 解密”

个人网站 / 博客解密

很多大佬会将邀请码藏在自己博客的文章中,然后在文末留一句 “文中有.. 个邀请码,你能发现吗?”。

静かな森 - From Innei

刹那 - 静かな森 (innei.in)

我用 Follow 订阅了 innei 大佬的个人网站,拜读文章的时候看到作者在评论区里说 “文中藏有三个 Follow 邀请码”,遂打开控制台开始解密。

搜索 follow 后找到这样一段密文:\u003c!-- eYb5bKTV3K, ZmSPCbUcTo --\u003e\u003cdiv hidden\u003e-.-- ..--- -... .. --- --- .---- -..- -.. -..- --..-- .---- ....- ..... --..-- -....- ...--\u003c/div\u003e

其中 \u003c 代表 <\u003e 代表 >(unicode 编码),用 <> 替换密文中的编码后得到:<!-- eYb5bKTV3K, ZmSPCbUcTo --><div hidden>-.-- ..--- -... .. --- --- .---- -..- -.. -..- --..-- .---- ....- ..... --..-- -....- ...--</div>

  • 前一半 <!-- eYb5bKTV3K, ZmSPCbUcTo --> 是 html 的注释,中间放了两个邀请码。
  • 后一半是摩斯密码,其中 <div hidden> 是带有 hidden 属性的 div,它会在页面中被隐藏。解码后得到 Y2BIOO1XDX,145,-3,邀请码全是大写的概率不大,因此后面的数字应该代表小写字母的位置,即 y2BioO1XDX-3 应该代表偏移(凯撒加密),因此解得邀请码 b2ElrR1AGA

翻了翻以前的文章,会发现还藏有其他的 Follow 邀请码

React i18n CSR 最佳实践 - 静かな森 (innei.in)

(对了,此文章中隐藏了一枚 Follow 邀请码,你能找到吗?)

由于 innei 大佬似乎喜欢将邀请码密文存储于页面然后隐藏,这次我们直接复制整个页面的 html 然后正则匹配即可:(?<=\s)[A-Za-z0-9]{10}(?=\s)

可以看到隐藏方式也是用 html 注释 <!-- 1rsMVNWDIt -->

浅谈 Follow 中的设计理念 - 静かな森 (innei.in)

(这篇文章中隐藏了两个 Follow 的邀请码,你能找到它吗)
题目已更新,增加了 4 个隐藏的邀请码,快来找我吧~

知道规律后,这次直接匹配 -->

不一样的是,这种方式居然只找到了一个,剩下的几个邀请码一直找不到。后来发现评论区有人说了每种邀请码的解密,根据他们的提示进行搜索,依旧无果,看来我这次来晚了,邀请码相关的内容已经被作者删除

  • 搜索 能看到这个,你离成功就不远了呢。Follow 这句话没有匹配的内容
  • 搜索密文 1 Caesar=3: trfdNUvNTu 没有匹配内容
  • 滚动栏里面的图片:滚动栏内已经找不到图片了
  • 没有看到 alert() 的弹窗

Timochan の Blog

https://www.timochan/notes/44# 总结

文章发布的时候我恰好在看 follow 中的文章,注意到文末写着文中藏有邀请码:

文中有一个 Follow 邀请码?你知道它在哪里么?
https://www.timochan/api/objects/file/8r806hgw1r2acpofp7.png

文末用删除线和 filter: blur(8px) 框住了一个图片的 url,刚看到时打开过是个二维码,扫描后又跳转回了博客因此将它理解成了一种自动生成的提醒转载请附上原文链接的内容,这导致这么明显的隐藏却让我一开始没有想到这就是密文,灯下黑了属于是。最后翻遍全文,在控制台中检查整个网页是否有隐藏内容,无功而返,最终才锁定回这个二维码。微信扫码没看到目的地址,遂搜了一个二维码解码工具,结果还真的解出来了一串密文:https://www.timochan?follow_key=VTJGc2RHVmtYMThvQkpBYmVJaEFxakptUWNBRmxHa0Jta0Jad0QvUHMrND0=

既然现在密文已知,直接丢给 gpt 问问看它是否能看出来用的哪种加密方式。gpt 告诉我们是经过了 Base64 编码的数据,并且解码成功,搜了个 Base64 解码工具检验得知 gpt 给出的解码结果正确。gpt 说新的密文的前缀表示这是使用了 OpenSSL 加密标准(如 AES)生成的密文,因此让它继续以 AES 进行解码,密钥为 8 位,猜测是作者的名称 timochan,结果解码失败。后来作者又提示密钥就在正文中,是 8 位数字。可以看到文章顶部的日期 20241006 恰好就是八位数字,丢给 gpt 让他尝试解码。得到结果 M8g1GosNyw

さかなの Blog

随机刊物 R#018 在江之岛海边写周刊 (sakanano.moe)

密文放在正文中

本周 follow 还是没有公测,有一个邀请码藏在这里

yxux oa dz ozrojdjosz ksfx isu jyx isnnsp dtt: cdzsp1ndx9.
pyxz csl axx jyoa gxaadvx, oj yda zsj bxxz xzksfxf oz dzc atxkoiok pdc; oj yda aogtnc lzfxuvszx udzfsg kdax apdttozv dgszv jyx nspxukdax nxjjxua.
csl gdc lax d iuxelxzkc dzdncaoa jssn nowx elotelot js kudkw oj(dnjyslvy alky jssna jctokdnnc fsz'j kszaofxu kdax axzaojorojc, as o ponn fouxkjnc jxnn csl jydj jyx 2zf, 3uf, 5jy, dzf 7jy kydudkjxua si jyx ksfx dux lttxukdax).
dijxu fxkotyxuozv dzf laozv jyx ozrojdjosz ksfx, tnxdax dzzslzkx oj oz jyx foaksuf vuslt.

分析密文

  • 第一行末尾有一串格式与邀请码一致的内容,并且前面还有冒号 :,看来这就是加密后的邀请码
  • 密文每行末尾都有句号 .,说明这是一段加密的文本,由于字母个数不变,因此只能是替换加密或者凯撒加密之类的。

我的思路很简单,直接去文本中找格式与 follow 一致的内容,即长度为 6 且 2/5 3/4 位一致的字符串,你会发现全文只有第一行的 isnnsp 是符合的,说明它很可能就是加密后的 follow。现在需要判断它是凯撒加密(字母偏移)还是随机替换加密。

  • f -> i:9 -> 6
  • s -> o: 18 -> 15
  • n -> l: 14 ->12
  • p -> w: 16 -> 23

有的偏移了 3 位,有的偏移了 2 位有的偏移了 7 位,因此排除凯撒加密,视作随机替换加密,开始编写密码本,此时已知的替换只有四位,还是太少了,需要一点运气猜测一下第一行的句子原文是什么。

注意到密文上面的那句 “本周 follow 还是没有公测,有一个邀请码藏在这里”,大胆猜测密文前几个单词代表 here is an invitation code for ??? follow a??: ...,看起来很合理,位数也对的上,相同字母之间也没有违法替换规则,至此可以确定就是这种加密方式,于是继续猜测第一行少的两个单词为 the 和 app,第一行解完 here is an invitation code for the follow app: ...

此时我们的解密密码本长这样,From 为加密后的内容,To 为原字母,例如将 a 还原成 s,将 i 还原成 f。

一个个手动转换太慢了,写个 python 使用已有的密码本依次转换剩下四句

dict = {"a": "s","b": "_","c": "_","d": "a","e": "_","f": "d","g": "_","h": "_","i": "f","j": "t","k": "c","l": "_","m": "_","n": "l","o": "i","p": "w","q": "_","r": "v","s": "o","t": "p","u": "r","v": "_","w": "_","x": "e","y": "h","z": "n","1": "1","2": "2","3": "3","4": "4","5": "5","6": "6","7": "7","8": "8","9": "9","0": "0",":": ":",".": ".",",": ",","'": "'",";": ";","(": "(",")": ")"," ": " ",}

secret_text = [
	"yxux oa dz ozrojdjosz ksfx isu jyx isnnsp dtt: cdzsp1ndx9.",
	"pyxz csl axx jyoa gxaadvx, oj yda zsj bxxz xzksfxf oz dzc atxkoiok pdc; oj yda aogtnc lzfxuvszx udzfsg kdax apdttozv dgszv jyx nspxukdax nxjjxua.",
	"csl gdc lax d iuxelxzkc dzdncaoa jssn nowx elotelot js kudkw oj(dnjyslvy alky jssna jctokdnnc fsz'j kszaofxu kdax axzaojorojc, as o ponn fouxkjnc jxnn csl jydj jyx 2zf, 3uf, 5jy, dzf 7jy kydudkjxua si jyx ksfx dux lttxukdax).",
	"dijxu fxkotyxuozv dzf laozv jyx ozrojdjosz ksfx, tnxdax dzzslzkx oj oz jyx foaksuf vuslt."]

for txt in secret_text:
	print(*[dict.get(i, "?") for i in txt], sep="")

# here is an invitation code for the follow app: ?anow1lae9.
# when _o_ see this _essa_e, it has not _een encoded in an_ specific wa_; it has si_pl_ _nder_one rando_ case swappin_ a_on_ the lowercase letters.
# _o_ _a_ _se a fre__enc_ anal_sis tool li_e __ip__ip to crac_ it(altho__h s_ch tools t_picall_ don't consider case sensitivit_, so i will directl_ tell _o_ that the 2nd, 3rd, 5th, and 7th characters of the code are _ppercase).
# after decipherin_ and _sin_ the invitation code_ please anno_nce it in the discord _ro_p.

这时候第二句就很好猜了 when you see this message, it has not been encoded in any specific way; it has simply undergone random case swapping among the lowercase letters.,同样的方式解密剩下的密码本

最后将密文转换为了明文:Here is an invitation code for the follow app: yanow1lae9.
When you see this message, it has not been encoded in any specific way; It has simply undergone random case swapping among the lowercase letters.
You may use a frequency analysis tool like quipquip to crack it (although such tools typically don't consider case sensitivity, so i will directly tell you that the 2nd, 3rd, 5th, and 7th characters of the code are uppercase).
After deciphering and using the invitation code, please announce it in the discord group.

从第三行可以知道,2 3 5 7 字母是大写的,因此邀请码为 yANoW1Lae9.

本文标签: 万物 加密解密 RSS RSSBud RSSHub