Đến thời điểm này các script đã được viết lại hoàn toàn mà theo mình là đã hoàn thiện vì... chưa nghĩ ra chức năng gì thêm. Để dễ dàng cập nhật nhất thì vào Settings và xóa repo đi rồi fork lại, nhớ lưu lại những list các bạn sang sử dụng.
Xem tệp đính kèm 2079568
Các điểm khác biệt so với phiên bản ban đầu:
- Hỗ trợ chạy trên Windows với Node.js do đã loại bỏ gần như toàn bộ Shell Script
- Block tất cả subdomain thay vì chỉ domain được nhập vào.
- Các định dạng hỗ trợ và cách nhận biết:
- Hosts: có
127.0.0.1 hoặc 0.0.0.0 ở đầu
- Domain + Subdomains: có bao gồm subdomain của domain
- Adblock: có các ký tự
||, ^, $ hay các URL(URL sẽ được bỏ qua do DNS không chặn được)
- Wildcard Asterisk: có dấu
*. ở đầu
- Wildcard Domains (hoạt động tốt nhất): chỉ bao gồm subdomain cần thiết và số lượng ít hơn định dạng Domain + Subdomain
- Hỗ trợ chế độ siêu tốc với biến môi trường
FAST_MODE
- Hỗ trợ blocklist và allowlist từ biến môi trường
ALLOWLIST_URLS và BLOCKLIST_URLS
- Hỗ trợ ngừng workflow cũ đang chạy trước khi chạy workflow mới trong GitHub Actions
- Tốc dộ xử lý list nhanh hơn nhiều lần
- Log rõ ràng hơn list nào sẽ được sử dụng, bao nhiêu domain đã được xử lý
Ví dụ các định dạng
HaGeZi
Xem tệp đính kèm 2079570
OISD
Xem tệp đính kèm 2079571
Log
Xem tệp đính kèm 2079576
Xem tệp đính kèm 2079578
Cách sử dụng script mới nhất:
- Xóa repo cũ
- Fork lại
- Tạo thư mục
.github/workflows
- Copy
auto_update_github_action.yml vào .github/workflows
- Cách thêm biến môi trường tương tự như thêm secret
FAST_MODE: không thêm hoặc gán 0 sẽ chạy chế độ cũ, thêm và gán 1 sẽ chạy chế độ mới
ALLOWLIST_URLS và BLOCKLIST_URLS: không thêm sẽ chạy list có sẵn, thêm thì mỗi list 1 dòng
Xem tệp đính kèm 2079574
- Chạy workflow
Lưu ý:
- Cloudflare giới hạn số lượng request là 1200 mỗi 5 phút: https://developers.cloudflare.com/fundamentals/api/reference/limits/
- Cách tính số lượng request: số lượng list cũ đã xóa + số lượng list mới + 1 request xóa rule cũ + 1 request tạo rule mới
Xem tệp đính kèm 2079579
Xem tệp đính kèm 2079580
=> 166 + 41 + 1 + 1 = 209 requests
- Để chạy trên máy thì cài Node.js, copy file
.env.example ra .env rồi điền giá trị và chạy theo thứ tự:
Mã:
npm install
node download_lists.js
node cf_gateway_rule_delete.js
node cf_list_delete.js
node cf_list_create.js
node cf_gateway_rule_create.js
Như vậy với lần cập nhật này chỉ cần copy 1 file vào
.github/workflows, sau đó thêm biến môi trường, có thay đổi gì thì sửa biến rồi chạy lại workflow là xong, không cần sửa file gì nữa