Edit: Cách này sau khi sử dụng 1 thời gian mình thấy tốc độ khá chậm do phải chạy thông qua Proxy. Mình đã tìm được cách làm trực tiếp trên Windows. Để sửa lỗi Cloudflare WARP bị mất kết nối, ạn có thể tham khảo theo đường link bên dưới:
Cách khắc phục Cloudflare WARP hay bị mất kết nối trên Windows
LƯU Ý: NỘI DUNG DƯỚI ĐÂY CHỈ ĐỂ THAM KHẢO
Khi sử dụng dịch vụ Cloudflare WARP 1.1.1.1 thỉnh thoảng máy tính mình bị mất kết nối không thể vào được internet. Mỗi lần như vậy mình đều phải disconnect rồi connect lại WARP thì mới có thể sử dụng tiếp được. Mình nảy ra ý tưởng viết một đoạn script tự kiểm tra kết nối, nếu thấy mất kết nối thì sẽ tự động disconnect và connect lại. Tuy nhiên việc này thực hiện trên Windows là không được vào thời điểm mình viết do phần mêm WARP chưa hỗ trợ chạy câu lệnh bằng script. Do đó mình phải đổi hướng sang viết trên Linux sau đó biến WARP chạy trên Linux thành proxy server rồi sử dụng proxy đó trên Windows. Mặc dù cách này hơi rắc rối nhưng bù lại mình có được một kết nối ổn định.
Cách mình cài đặt WARP trên Linux mình đã có bài nói về nó. Bài này mình chỉ nói về đoạn script mình dùng để sửa lỗi kết nối mà thôi. Dưới đây là đoạn script mình đã viết:
#!/bin/bash
port=40000
site[0]=http://www.google.com
site[1]=http://www.bing.com
site[2]=http://www.duckduckgo.com
echo "$(date) Checking warp connection..."
num_site=${#site[@]}
counter=0
while true ; do
if ! httping -qc1 -t3 -x localhost:${port} -5 -g ${site[${counter}]} ; then
warp-cli disconnect
sleep 1
warp-cli connect
echo "$(date) Warp restarted"
fi
counter=$((counter+1))
if [[ ${counter} -eq ${num_site} ]] ; then
counter=0
fi
sleep 3
done
Đoạn script này đơn giản là kiểm tra kết nối đến trang web bất kỳ mỗi 3 giây thông qua proxy server mình đã thiết lập từ trước bằng Cloudflare Warp (bằng lệnh “warp-cli set-mode proxy”).
Để chạy file script này ở background, mình đã sử dụng lệnh “nohub filename.sh &”