去年万圣节,黑客我在GitHub上闲逛,装逼发现一个叫“hackertyper”的页面仓库被顶上了趋势榜。点进去一看,代码就一个HTML文件,黑客三百来行代码。装逼它的页面功能简单到令人发指:你随便敲键盘,屏幕上就会自动吐出《黑客帝国》里那种绿色代码雨,代码每隔几秒还会弹出一个红色警告框,黑客写着“ACCESS DENIED”。装逼
就这么个玩意儿,页面三天拿了四千多星。代码我盯着屏幕愣了两秒,黑客然后笑了。装逼这大概就是页面程序员骨子里的浪漫——用最正经的技术,干最不正经的事。
装逼页面的核心逻辑其实就三件事:全黑背景、等宽字体、绿色文字。CSS部分三行就能搞定:
body { background: #0a0a0a; color: #00ff41; font-family: 'Courier New', monospace; } 但光有这些还不够。真正让页面“活”起来的,是那个模拟终端输入的效果。有人用JavaScript写了个循环,每隔50毫秒往<div>里塞一个随机字符,字符集限定在0-9、A-Z和一些符号里。代码大概长这样:
const chars = 'ABCDEF0123456789$#@%&'; setInterval(() => { const span = document.createElement('span'); span.textContent = chars[Math.floor(Math.random() * chars.length)]; document.body.appendChild(span); }, 50); 这玩意儿跑起来,满屏字符乱跳,旁边再放个闪烁的光标,外行看了以为你在入侵五角大楼。实际上你连自己家的路由器都没连上。
我见过一个更狠的版本,作者在页面顶部加了一行不断更新的状态栏,内容是从数组里随机抽的:
const logs = [ 'Bypassing firewall...', 'Injecting payload...', 'Decrypting AES-256...', 'Connection established.' ]; 每两秒换一条,配合进度条动画——进度条永远卡在87%不动。这个细节很妙。真正搞过渗透测试的人都知道,进度条卡住才是常态,那种一秒跑完的反而假。作者显然是个老手,知道怎么用“不完美”来增加真实感。
有个叫“fake-hacker-terminal”的项目,直接监听keydown事件。你按任意键,它不显示你按的字符,而是从预设的“黑客语录”里抽一句打出来。比如你敲个“a”,屏幕上出现的是“sudo rm -rf /”。连按三次,就会触发一个假的“系统崩溃”动画——屏幕闪两下,然后所有文字变成红色,最后弹出一行:“You've been hacked. Just kidding.”
我第一次玩的时候,明知道是假的,心跳还是快了一拍。这就是视觉暗示的力量。绿色代码、快速滚动的文字、警告弹窗,这些东西在电影里被反复强化了三十年,已经刻进条件反射里了。
写这类页面最大的乐趣,在于“用真技术造假象”。比如有人用CSS的animation写了个扫描线效果,叠加在文字上,看起来就像老式CRT显示器。还有人用Web Audio API生成“滴滴”的电子音,音量调得很低,但足够让人后背发麻。
我自己的版本里加了个小彩蛋:如果连续输入“matrix”这六个字母,背景会短暂变成代码雨动画,持续三秒后恢复。代码不到二十行,但每次演示给朋友看,他们都会“哇”一声,然后问能不能教他们。
当然,这玩意儿没有任何实际用途。它不会帮你黑进任何系统,也不会提升你的编程水平。但有时候,写代码就是为了那一瞬间的“看起来很强”。就像有人喜欢在简历里写“精通C++”,实际上连指针和引用的区别都说不清——装逼是人类刚需,程序员也不例外。
最后说个真事。我把那个页面发给我妈看,她盯着屏幕看了半天,问:“你是不是在修电脑?”我说不是,这就是个动画。她哦了一声,说:“那你修电脑的时候也这样?”我说差不多。她点点头,走了。
你看,连我妈都信了。