Hacker Scripts: Script Prank Qua Cron Từ Chuyện Có Thật
Hacker Scripts là một repo đùa nhỏ, không phải công cụ: vài script dựa trên một bài đăng có thật trên bash.im, kể chuyện một sysadmin tự động hóa mọi lời bào chữa ở công ty. Cú pháp cron thật, cuộc gọi telnet tới máy pha cà phê nối mạng — chi tiết đủ thật để trò đùa có sức nặng. Đáng đọc một lần để cười; đừng chờ một dự án còn được duy trì.
Dựa trên chuyện có thật
Hacker Scripts là một repo trên GitHub biến một bài đăng diễn đàn bash.im thành mã chạy được: câu chuyện gốc kể về một kỹ sư build mà đồng nghiệp phát hiện thư mục script của anh ta sau khi anh nghỉ việc. README trích dẫn nguyên văn bài đăng đó, rồi cung cấp bản shell và Ruby cho các script được kể — SMS xin lỗi tự động, script rollback database khi quét thấy từ khóa trong hộp thư, và một chiếc máy pha cà phê bị kích hoạt qua telnet.
Năm script trong bộ sưu tập
- ✓smack-my-bitch-up.sh — chạy theo cron vào các buổi tối trong tuần lúc 9 giờ 20 tối, kiểm tra xem có phiên SSH nào còn hoạt động sau 9 giờ tối không, rồi nhắn SMS một lý do 'kẹt lại công ty' ngẫu nhiên cho vợ/chồng người dùng.
- ✓kumar-asshole.sh — chạy mỗi 10 phút, quét hộp thư tìm email có từ khóa cầu cứu từ một DBA cụ thể, SSH vào server để rollback database staging về bản backup gần nhất, rồi tự động trả lời.
- ✓hangover.sh — chạy theo cron vào các buổi sáng trong tuần lúc 8 giờ 45, kiểm tra xem có ai đăng nhập không, và gửi một lý do xin nghỉ làm từ xa lấy ngẫu nhiên từ một mảng chuỗi có sẵn.
- ✓fucking-coffee.sh — đợi 17 giây, telnet vào một máy pha cà phê nối mạng, gửi lệnh pha, rồi đợi thêm 24 giây — canh đúng thời điểm để cà phê xong khi người dùng bước tới máy.
- ✓README trích dẫn nguyên văn giai thoại gốc trên bash.im làm câu chuyện khởi nguồn, thay vì viết tài liệu hướng dẫn thông thường.
- ✓Có bản dịch tiếng Trung giản thể của README (README.zh-CN.md) đi kèm bản tiếng Anh gốc.
Điểm mạnh
- ✓Cách kể chuyện (trích nguyên khối quote từ bash.im) biến nó thành một bài đọc nhanh thay vì một đống code khô khan — bạn hiểu trò đùa mà không cần clone repo về.
- ✓Logic kích hoạt của từng script đủ cụ thể để nghiên cứu thật sự — thời gian cron, kiểm tra phiên đăng nhập, và một giao thức mạng (telnet) thay vì pseudocode mơ hồ.
- ✓WTFPL, được nêu thẳng trong README, là kiểu license thoáng gần như tối đa — điều khoản chỉ gói gọn trong vài dòng 'muốn làm gì thì làm'.
- ✓Kích thước nhỏ gọn: chỉ vài script độc lập, không phải một framework bạn phải học.
Những điều cần cân nhắc trong thực tế
- △Trường license trên GitHub để trống dù README ghi rõ 'Code is released under WTFPL' ở cuối trang — nên tự xác minh điều khoản trước khi tái sử dụng, vì các công cụ quét license tự động sẽ không nhận ra dòng này.
- △Các script giả định sẵn có Twilio để gửi SMS, Gmail SMTP để gửi email, và quyền truy cập telnet vào một máy pha cà phê nối mạng — những thứ ít đội nào có sẵn, nên muốn chạy thật thì phải tự dựng lại các tích hợp đó, không chỉ là set biến môi trường.
- △Đây là repo đùa, không phải tiện ích được duy trì: README không nhắc gì đến test, CI hay versioning, và pull request chỉ được mời để thêm bản viết lại bằng ngôn ngữ khác cho cùng các script, không phải để thêm tính năng mới.
- △Chiêu trò cốt lõi của kumar-asshole.sh — SSH vào server của khách hàng rồi rollback database staging của họ — được kể như một câu chuyện hài, không phải một khuôn mẫu nên làm theo; dùng nó làm cảm hứng cho automation thật sẽ gặp ngay vấn đề về quyền hạn và an toàn mà README chưa bao giờ đề cập.
Giải pháp automation hiện đại thay thế
Câu hỏi thường gặp
Hacker Scripts được phát hành theo giấy phép WTFPL, ghi rõ ở cuối README của dự án — một giấy phép rất thoáng, gần như không có ràng buộc tái sử dụng nào.
Theo thống kê ngôn ngữ của GitHub, Hacker Scripts chủ yếu viết bằng JavaScript, nhưng README còn ghi rõ có bản shell script cho từng script và bản Ruby, cần cài gem qua `gem install dotenv twilio-ruby gmail`. Dự án cũng mời pull request bổ sung bản Python, Perl và các ngôn ngữ khác.
Script SMS trong Hacker Scripts cần hai biến môi trường TWILIO_ACCOUNT_SID và TWILIO_AUTH_TOKEN, lấy từ một tài khoản Twilio; README ghi rõ hai biến này dùng cho script smack-my-bitch-up (và hangover). Bản Ruby còn cần cài thêm gem `twilio-ruby`, cùng dotenv và gmail, trước khi chạy được.
Chỉ khi máy pha cà phê của bạn có kết nối mạng và nhận lệnh qua telnet, giống chiếc máy trong câu chuyện gốc trên bash.im. fucking-coffee.sh mở một phiên telnet rồi gửi lệnh pha, chỉ hoạt động trên phần cứng có cùng loại cổng TCP đó. Phần lớn máy pha cà phê gia dụng không có, nên xem đây là một trò vui hơn là thứ để lắp đặt thật ở nhà.
Hacker Scripts được xây dựng hoàn toàn quanh một bài đăng có thật trên bash.im (cũng được lưu trên Archive.org), kể về một kỹ sư build mà đồng nghiệp cũ phát hiện thư mục script đầy lời bào chữa tự động sau khi anh nghỉ việc — nên câu chuyện là thật, dù phần code cụ thể được viết lại sau đó cho repo. README trích dẫn nguyên văn bài đăng gốc đó làm câu chuyện khởi nguồn.
Script kumar-asshole cần hai biến môi trường GMAIL_USERNAME và GMAIL_PASSWORD, theo README của Hacker Scripts, đi kèm gem `gmail` trong Ruby (cùng với dotenv và twilio-ruby) cho bản Ruby. README chỉ ghi rõ thông tin Gmail cho đúng script này, không phải các script khác.
Trường hợp sử dụng phù hợp nhất
- •Đọc như một tư liệu văn hóa lập trình viên để chia sẻ trong nhóm chat khi chủ đề 'tự động hóa mọi thứ' được nhắc tới.
- •Nghiên cứu mẫu kiểm tra phiên SSH kết hợp cron trong smack-my-bitch-up.sh như một ví dụ đồ chơi về logic cron có điều kiện, trước khi tự viết một script giám sát thật (không phải trò đùa).
- •Dùng chính câu chuyện trên bash.im làm giai thoại cho một buổi nói chuyện hay bài blog về rủi ro của việc tự động hóa quá tay chính những lời bào chữa của bản thân.
- •Luyện viết lại một script nhỏ, rõ ràng bằng ngôn ngữ bạn đang học — pull request bổ sung ngôn ngữ khác đang được chào đón.
Hacker Scripts hợp với ai — và ai nên bỏ qua
Những developer thích giai thoại văn hóa lập trình, và bất kỳ ai đang giải thích văn hóa 'tự động hóa mọi thứ' cho một người bạn không rành kỹ thuật, sẽ thấy Hacker Scripts đáng đọc — đủ ngắn để đọc trong một lần ngồi, và các chi tiết cron/SSH đủ thật để dùng làm ví dụ giảng dạy. Bỏ qua nếu bạn cần một framework được duy trì. Ở đây không có — chỉ có một nhúm script đóng băng quanh một trò đùa duy nhất.
Muốn nghe thêm một ý kiến về hacker-scripts?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về hacker-scripts.
