用 Telnet 观看 Nyancat 动画
前言
最近在知乎上看到一个关于 VPS 有趣的用途的问题,其中一个回答提到了可以搭建 Telnet 服务器,成功运行后别人用 Telnet 连接你的主机将会看到 Nyancat 动画。大致效果如图所示:
然而,回答中给出的 Demo 已经失效,telnet nyancat.dakko.us
会返回一个 Connection refused
错误。不过值得庆幸的是,这个项目的官方网站 Nyan Cat Telnet Server 和 GitHub Repo 都还可以正常访问,因此可以尝试重新把它搭起来。不用着急,这个过程并不复杂,请按照以下方法操作即可。
下载编译
在命令行执行:1
2
3
4git clone https://github.com/klange/nyancat.git
cd nyancat
make
cp src/nyancat /usr/bin #or make install
这时,通过 nyancat
或 nyancat -t
命令就可以查看效果。接下来把 Telnet 配置好就行了。
配置 Telnet
使用包管理工具安装 xinetd
,例如1
yum install xinetd
然后在 /etc/xinetd.d
目录下新建文件 nyancat
,内容为:1
2
3
4
5
6
7
8
9
10
11
12
13
14service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
group = root
server = /usr/bin/nyancat
server_args = -t
log_on_failure += USERID
disable = no
instances = 10
per_source = 2
}
其中 instances
和 per_source
限制了总的连接数和单个 IP 的连接数。
接下来,重启 xinetd
服务:1
systemctl restart xinetd
这时,你就可以通过 telnet localhost
查看是否能显示出画面。如果没有问题,配置防火墙开放 23 端口,就可以从公网访问了。试试用 Telnet 连接你的主机,效果是不是非常酷炫?
不过,笔者在实践中发现,开放 telnet 的 23 端口可能会产生大量异常流量。解决方法是修改 telnet 的端口号,编辑 /etc/services
,找到 telnet,将 23 改为一个你喜欢的数字(比如 8080)。或者,可以在不需要使用时直接关闭这个服务,在 nyancat
中设置 disable: yes
即可。
更多
俗话说,有光的地方就有 Bad Apple!!。很久以前的一篇文章近期完成的数个游戏及应用中,就提到笔者成功使用 HTML 页面播放 Bad Apple!! 字符画。目前,笔者正在尝试搭建一个可以播放 Bad Apple!! 的 Telnet 服务器,敬请期待。
本文更新于 2019 年 2 月 14 日:
笔者通过魔改 Nyancat 的代码,成功地实现了可以播放 Bad Apple!! 的 Telnet 服务器。可以阅读文章用 Telnet 观看 Bad Apple!! 查看。