Patch file thực thi bằng bbe và sed

bbe là trình soạn thảo nhỏ gọn tương tự sed nhưng dành cho file nhị phân trong khi sed dùng cho file text. sed có sẳn trong OS Linux còn bbe phải cài đặt:

apt install bbe

Tham khảo cú pháp bbe qua dòng lệnh

man bbe

Thí dụ script dùng bbe sửa code để ứng dụng Sublime text v4 bỏ qua việc kiểm tra bản quyền, mã hóa qua QR code, dùng zbarimg để đọc (bài trước) hoặc dùng QR Scanner (Ipad OS)

Continue reading

Comments Off on Patch file thực thi bằng bbe và sed

Filed under Software

Đọc mã QR

Có thể đọc mã QR với zbarimg

  1. Cài đặt zbar-tools
apt install zbar-tools

2. Để tìm hiểu về tham số dòng lệnh của zbarimg:

man zbarimg
Continue reading

Comments Off on Đọc mã QR

Filed under Software

Tạo mã QR

Dạo này nhà nhà nói về cu rờ cốt, vậy mã cu rờ là gì?

Trích wiki:

Mã QR hay mã hai chiều là một mã vạch ma trận (hay mã vạch hai chiều, mã phản hồi nhanh) được phát triển bởi công ty Denso Wave (Nhật Bản) vào năm 1994. Chữ “QR” xuất phát từ “Quick Response”, trong tiếng Anh có nghĩa là đáp ứng nhanh, vì người tạo ra nó có ý định cho phép mã được giải mã ở tốc độ cao. Các mã QR được sử dụng phổ biến nhất ở Nhật BảnTrung Quốc, và hiện là loại mã hai chiều thông dụng nhất ở Nhật Bản.

Có thể tạo ra mã QR một cách đơn giản nhờ vào các thư viện được thiết kế sẵn.

Continue reading

Comments Off on Tạo mã QR

Filed under Software

Nâng cấp Debian 10 buster lên Debian 11 bullseye bằng dòng lệnh

  1. Thay đổi sources.list

Thay buster thành bullseye trong /etc/apt/sources.list

sed -i 's/buster/bullseye/g' /etc/apt/sources.list

Thay đổi tên debian-security bullseye thành debian-security bullseye-security

sed -i 's/debian-security bullseye\/updates/debian-security bullseye-security/g' /etc/apt/sources.list

Bỏ repositories bên thứ ba

sed -i 's/^/#/' /etc/apt/sources.list.d/*.list
Continue reading

Comments Off on Nâng cấp Debian 10 buster lên Debian 11 bullseye bằng dòng lệnh

Filed under Software

Adminer và iframe

Nếu chúng ta cần nhúng adminer vào ứng dụng web của mình bằng cách gọi adminer từ iframe, cần biết rằng điều đó là rất khó.

Adminer nói rằng không cho chạy adminer trong iframe vì lý do bảo mật, nhưng lại cho phép một addon là frames dùng để hóa giải điều cấm adminer chạy trong iframe. Những tưởng đây là một tùy chọn, người dùng quyết định xài addon thì tự chịu trách nhiệm, nhưng không, có vấn đề bên trong.

Cho dù đóng gói adminer trong bao nhiêu lớp

<div><iframe src="https://domain.com/adminer" width="100%" height="100%"></iframe></div>

thì khi được nạp lên, adminer tìm cách sổ lồng, thoát khỏi iframe và div bao quanh, về top-level. Xem trong page source chúng ta thấy nội dung của trang adminer chèn trực tiếp trong trang chủ, không được bọc trong iframe và div như được thiết kế.

Continue reading

Comments Off on Adminer và iframe

Filed under Software

Định kỳ chạy script PHP

Có thế tạo crontab để định kỳ chạy script PHP, thí dụ mỗi ngày lúc nửa đêm

0 0 * * * /usr/bin/php /path/to/script.php

Tuy nhiên thường phải truyền tham đối cho script, thí dụ để bảo mật script chỉ chạy với một tham đối đặc biệt như thamdoidacbiet. Trong trường hợp này không thể truyền qua mảng $_GET hay $_POST mà truyền tham đối giống như với Bash script.

Continue reading

Comments Off on Định kỳ chạy script PHP

Filed under Software

Adminer – Quản lý CSDL trong 1 file

Đa số web designer dùng PHPmyadmin, nhưng Adminer với tính năng tuyệt hơn và không cần cài đặt vì chỉ bao gồm 1 file PHP.

Trong PiOS có thể dùng lệnh cài đặt

apt install adminer

Nhưng đó là phiên bản cài đặt, sau đó còn phải chỉnh sửa webserver và có thể gặp lỗi với Nginx.

Tải về file PHP duy nhất tại Adminer – Database management in a single PHP file và không phải cài đặt gì, chỉ cần bỏ vào thư mục www là xong. Tuyệt vời!

Comments Off on Adminer – Quản lý CSDL trong 1 file

Filed under Software

Lịch Âm – Lịch Dương

Mã nguồn về lịch Âm – lịch Dương trong bài này được phát triễn bởi một Việt kiều người Đức. Anh viết ứng dụng theo phong cách người Việt từ cách đọc ngày tháng đến số liệu thiên văn theo múi giờ GMT+7

Tôi đóng gói thành class và chỉnh sửa đôi chút. Có 2 hàm public là solar2lunar và lunar2solar dùng để đổi ngày Dương lịch sang Âm lich và ngược lại.

Một thí dụ là dùng script PHP để tính một ngày Âm Lịch trong tương lai:

// Ngày DL 30 ngày sau hôm nay
$d = explode('-', date('d-m-Y', strtotime('+30 day')));
// Đổi sang AL
$sl = new SolarLunar();
$AL = $sl->solar2lunar($d[0], $d[1], $d[2], 7.0);
echo $AL[0] . '/' . $AL[1] . '/' . $AL[2];

Trong đó 7.0 là múi giờ GMT.

Continue reading

Comments Off on Lịch Âm – Lịch Dương

Filed under Software

sed: if then else

Chúng ta cần dò trong tập tin một từ khóa, tạm gọi là SEARCH, nếu tìm thấy thì thay bằng REPLACE, còn không thì thêm REPLACE vào cuối file. Tình huống tương tự vậy gặp nhiều trong thực tế và có các ứng dụng chuyên dùng như postconf với tập tin main.cf, nhưng postconf chậm nên chúng ta thử dùng sed.

sed '/SEARCH/{h;s/SEARCH/REPLACE/};${x;/^$/{s//REPLACE/;H};x}' -i file
Continue reading

Comments Off on sed: if then else

Filed under Software

Script cài đặt Postfix chỉ gởi email

Giả sử chúng ta có website /ứng dụng web cần gởi email cho user (thí dụ như thông báo mật khẩu). Trong hầu hết trường hợp, user không cần trả lời cho email họ nhận được. Trong trường hợp này, chúng ta có thể cài đặt một SMTP server chỉ gởi mail trên web server bằng cách dùng Postfix, mặc dù cũng có những MTA khác như msmtp, smtp…

Ưu điểm của việc dùng Postfix là email người gởi có dạng user@mydomain.com. Ngoài ra vì Postfix không kiểm tra email người gởi có thuộc domain của mail server hay không, nên có thể gởi email nhân danh bất kỳ ai, thí dụ no-reply@apple.com. Tuy nhiên email mạo danh thường nằm trong thư mục spam của người nhận.

Continue reading

Comments Off on Script cài đặt Postfix chỉ gởi email

Filed under Software