Bài viết này sẽ hướng dẫn dùng Cloudflare Zero Trust để làm server dns chặn quảng cáo, tracking..., cho điện thoại, trình duyệt, router... miễn phí, tương tự Nextdns nhưng không giới hạn lượt truy vấn dns, có ECS để trả server CDN gần với mình.
I/ Chuẩn bị:
1. Tài khoản Github:
https://github.com/signup
Fork repo này:
https://github.com/mrrfv/cloudflare-gateway-pihole-scripts
2. Tài khoản Cloudflare:
https//dash.cloudflare.com/sign-up
a/ Sau đó vào đây:
https://one.dash.cloudflare.com/
Chọn một cái tên ưng ý:
Và nhớ chọn Free plan.
Bước tiếp theo cloudflare sẽ kêu nhập thẻ credit thì bấm vào đây để cancel
Sau khi bấm cancel sẽ chuyển hướng tới trang chủ
https://one.dash.cloudflare.com, bấm vào đây:
Tới đây chọn tên tùy sở thích và nhớ tích chọn 2 ô dưới để bật ECS giúp để cloudflare trả kết quả server CDN gần nhất với mình.
Bước tiếp theo sẽ là địa chỉ DOH và DOT của server mình vừa tạo:
b/ Sau đó vào đây lấy Account ID:
https://dash.cloudflare.com/?to=/:account/workers
Account ID là dãy chữ số giữa 2 dấu / / này:
Ở vd này là dãy chữ số: de2b42770b857cb4829d7d7bf2c595c4
Rồi vào đây để tạo API Key
https://dash.cloudflare.com/profile/api-tokens
Nó sẽ mở ra bảng yêu cầu nhập lại password account + recaptcha. Sau đó copy lại API Key
II/ Chỉnh sửa trên github:
1. Sửa list adblock cần dùng:
Vào lại repo vừa fork ở bước trên
Có 2 file này cần sửa:
Đầu tiên là file
get_recommended_filters.sh
Bấm vào file đó rồi nhấn nút này để sửa:
Trong cái khung màu xanh hình trên thì là các list adblock người ta thêm sẵn, thêm thắt tùy ý.
Tuy nhiên, list mặc định sẵn thiếu list hostvn dùng để chặn ads vn nên thêm list này vào để chặn hiệu quả hơn. Kiểu kiểu nó sẽ thế này:
https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/domain.txt
Chỉnh xong xuôi thì bấm
Commit changes để lưu lại.
File thứ 2 là
get_recommended_whitelist.sh dùng để bỏ qua những domain nào bị chặn nhầm. Nếu ai có nhu cầu thì chỉnh sửa lại, y chang như trên thôi
List khuyên dùng:
Mã:
https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/domain.txt
https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
]
White list để click link tracking, mua hàng shopee qua link aff được:
Mã:
https://raw.githubusercontent.com/nextdns/click-tracking-domains/main/domains
2. Thêm API Cloudflare vào github:
Vào đây:
Phần Name và Secret thêm lần lượt 4 lần theo bảng sau:
Name | Secret |
| CLOUDFLARE_API_KEY | Nhập API key ở bước trên vào |
| CLOUDFLARE_ACCOUNT_ID | Nhập Account ID ở bước trên vào |
| CLOUDFLARE_ACCOUNT_EMAIL | Email đăng kí Cloudflare |
| CLOUDFLARE_LIST_ITEM_LIMIT | Nếu dùng free plan thì nhập vào 300000 |
3. Chạy workflow github:
Vào đây
Paste toàn bộ nội dung này vào, rồi bấm Commit
Mã:
name: Update Filter Lists
on:
schedule:
- cron: "0 21 * * *"
push:
branches:
- '**'
workflow_dispatch:
jobs:
cgps:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install npm dependencies
run: npm ci
- name: Download recommended whitelist
run: bash ./get_recommended_whitelist.sh
- name: Download recommended filters
run: bash ./get_recommended_filters.sh
- name: Delete old rules and lists
run: |
node cf_gateway_rule_delete.js
node cf_list_delete.js
env:
CLOUDFLARE_API_KEY: ${{ secrets.CLOUDFLARE_API_KEY }}
CLOUDFLARE_ACCOUNT_EMAIL: ${{ secrets.CLOUDFLARE_ACCOUNT_EMAIL }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
CLOUDFLARE_LIST_ITEM_LIMIT: ${{ secrets.CLOUDFLARE_LIST_ITEM_LIMIT }}
- name: Create new rules and lists
run: |
node cf_list_create.js
node cf_gateway_rule_create.js
env:
CLOUDFLARE_API_KEY: ${{ secrets.CLOUDFLARE_API_KEY }}
CLOUDFLARE_ACCOUNT_EMAIL: ${{ secrets.CLOUDFLARE_ACCOUNT_EMAIL }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
CLOUDFLARE_LIST_ITEM_LIMIT: ${{ secrets.CLOUDFLARE_LIST_ITEM_LIMIT }}
Làm xong thì vào đây để kiểm tra thấy nó đang chạy như vậy là ok
Tầm khoảng 8-10 phút sau vào lại kiểm tra thấy nó đã có tích xanh như vậy đã xong.
III/ Sử dụng:
DOH, DOT ở bước "chuẩn bị" để thêm vào thiết bị sử dụng thôi. Chi tiết xem thêm ở thread
NextDNS
Đối với thiết bị iOS, Macbook thì ko có sẵn profile như bên NextDns thì vào trang web này:
https://dns.notjakob.com/tool.html
Điền tên profile tùy sở thích, chọn DOT. Mục DoT server URL thì điền url ở bước "chuẩn bị"
Bước tiếp theo bấm Sign profile, rồi bấm Download Profile
III/ Nâng cao:
Cách bypass các website không vào được:
https://voz.vn/t/huong-dan-dung-cloudflare-zero-trust.822971/post-27071761
Backup hình:
https://imgur.com/a/ZvmX2SU