Hacker Scripts 黑客脚本集
源自真实故事的趣味脚本合集:用 cron 定时任务自动发短信请假、回复客户邮件、回滚数据库,甚至远程控制咖啡机。以 Shell/Ruby 为主,是自动化与幽默结合的经典开源项目。
爱鲜报评分
0.0
0 人评分
5k
星数
否
中文
JavaScript
主语言
是
活跃
57
贡献者
人工分析
EDITORIAL推荐理由
这是 GitHub 上极具知名度的「段子型」开源项目,把日常自动化玩到极致,适合当作学习 cron、SSH、短信/邮件 API 与脚本编排的趣味范例。代码短小易读,也适合作为团队内部分享或教学素材。注意其中部分脚本涉及隐私与伦理争议,仅供娱乐与学习。
适用场景
- 学习 cron 定时任务与 Shell 脚本编排
- 演示 Twilio 短信、Gmail 邮件自动化
- 团队技术分享与趣味教学案例
- 了解 SSH 会话检测与远程命令执行
优点
- 故事性强,代码短小,阅读门槛低
- 覆盖 cron、SSH、短信、邮件、Telnet 等多种自动化手段
- 近 5 万 Star,社区关注度高,衍生实现多
- 是理解「脚本化一切」理念的生动教材
缺点
- 部分脚本内容涉及隐私与伦理争议,不宜照搬
- 依赖 Twilio、Gmail 等第三方服务与凭据
- 脚本年代较早,部分 API 与写法可能已过时
- 许可证为 WTFPL,商用需自行评估合规性
上手难度
入门
项目背景
Hacker Scripts 源自一则广为流传的真实故事:一位「住在终端里」的运维工程师离职后,同事翻出了他留下的自动化脚本——只要某件事需要他花超过 90 秒,他就会写脚本把它自动化。
这些脚本后来被整理开源,成为 GitHub 上最著名的「段子型」项目之一。
脚本一览
- smack-my-bitch-up.sh:工作日 21:20 检查服务器上是否还有自己的 SSH 会话,若有则从预设理由数组中随机挑一条,发短信给伴侣说「在加班」。
- kumar-asshole.sh:每 10 分钟扫描收件箱,发现来自客户方 DBA「Kumar」的邮件且含 help、trouble、sorry 等关键词时,SSH 登录客户服务器把 staging 数据库回滚到最近备份,并回复「别担心,下次注意」。
- hangover.sh:工作日 8:45 若服务器上没有交互会话,就自动发送「身体不适 / 居家办公」类邮件,理由同样随机生成。
- fucking-coffee.sh:精确等待 17 秒后通过 Telnet 连接咖啡机(运行 Linux、开放 TCP 端口),发送
sys brew指令,再等 24 秒让咖啡流入杯中——时间正好是从工位走到咖啡机的耗时。
使用方式
脚本依赖若干环境变量,例如 Twilio 的账号 SID 与 Token,以及 Gmail 用户名密码:
TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
GMAIL_USERNAME=admin@example.org
GMAIL_PASSWORD=password
Ruby 脚本需要安装相应 gem(如 dotenv、twilio-ruby、gmail)。
定时任务
各脚本通过 cron 触发,例如:
# 工作日 21:20 运行
20 21 * * 1-5 /path/to/scripts/smack-my-bitch-up.sh >> /path/to/log 2>&1
# 每 10 分钟运行
*/10 * * * * /path/to/scripts/kumar-asshole.sh
注意事项
项目以 WTFPL 发布,欢迎提交 Python、Perl、Shell 等其他语言实现。但其中部分脚本涉及隐私与伦理问题,请仅作学习与娱乐参考,不要直接用于真实工作场景。
评论
- 暂无评论,来写第一条吧。