Các bạn cần phân biệt bộ lọc DNS
và bộ lọc browser
. Mình thấy nhiều bạn đem bộ lọc browser
lên chạy -> lỗi lướt web
Thêm Variables Secrets
vào
https://github.com/your-user/your-repository/settings/secrets/actions
:
-
CF_IDENTIFIER
được lấy từ tài khoản CF của bạn (dãy ký tự ngay sauhttps://dash.cloudflare.com/
: https://dash.cloudflare.com/?to=/:account/workers -
CF_API_TOKEN
lấy từ : https://dash.cloudflare.com/profile/api-tokens với3 permissions
Account.Zero Trust : Edit
Account.Account Firewall Access Rules : Edit
Account.Access: Apps and Policies : Edit
hoặc có thể thêm vào .env ( không khuyến khích )
Secret Github Action
giống như sau:
Tạo CF_API_TOKEN
giống như sau:
Sử dụng Cloudflare Workers để chạy Github Action. Không lo sau 2 tháng Github tắt Action.Tạo Github Token không hết hạn với tất cả các quyền
addEventListener('scheduled', event => {
event.waitUntil(handleScheduledEvent());
});
async function handleScheduledEvent() {
const GITHUB_TOKEN = 'YOUR_GITHUB_TOKEN_HERE';
try {
const dispatchResponse = await fetch('https://api.github.com/repos/YOUR_USER_NAME/YOUR_REPO_NAME/actions/workflows/main.yml/dispatches', {
method: 'POST',
headers: {
'Authorization': `Bearer ${GITHUB_TOKEN}`,
'Content-Type': 'application/json',
'User-Agent': 'Mozilla/5.0',
},
body: JSON.stringify({
ref: 'main'
}),
});
if (!dispatchResponse.ok) throw new Error('Failed to dispatch workflow');
} catch (error) {
console.error('Error handling scheduled event:', error);
}
}
Nhớ cài cron trigger cho Cloudflare Workers
-
Đã hỗ trợ sử dụng list nào cũng được
-
Giới hạn
củaCloudflare Gateway Zero Trust free
là300k domains
nên các bạn nhớ chú ý log,nếu quá script sẽ stop
-
Các bạn đã tải các danh sách bộ lọc bằng script khác thì nên xoá đi bằng tính năng xoá của script đã up hoặc xoá tay
-
Script có 2 workflows dự phòng nếu tải danh sách chặn lên thất bại sẽ chạy tiếp 2 lần mỗi lần là 5p (hạn chế vượt giới hạn requests của Cloudflare). Cho nên tỉ lệ thất bại sẽ rất thấp
-
Nếu không biết thêm vào Secret Github Action thì có thể điền giá trị vào file .env và sửa file main.yml như sau, loại bỏ các dòng secret env
- name: Cloudflare Gateway Zero Trust
run: python -m src
- Mình đã update thêm tính năng xoá danh sách khi các bạn không muốn sử dụng script nữa. Vào main.py để như sau:
if __name__ == "__main__":
cloudflare_manager = CloudflareManager(PREFIX, MAX_LISTS, MAX_LIST_SIZE)
cloudflare_manager.run()
# cloudflare_manager.leave() # Leave script
-
Hỗ trợ dynamic_blacklist.txt và dynamic_whitelist.txt để các bạn tự chặn hoặc bỏ chặn tên miền theo ý thích
-
Bạn có thể thay tên DNS-Filters bằng các tên bạn thích
-
Thêm danh sách
chặn
của bạn vào adlist.ini vàloại bỏ chặn
ở whitelist.ini -
Đã hỗ trợ 2 loại định dạng danh sách
https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hosts-VN
hoặc
[Hosts-Urls]
hostsVN = https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hosts-VN
👌 Chúc các bạn thành công
👌 Mọi thắc mắc về script các bạn có thể mở issue