Cafemmo Club
← Quay lại danh sách

Help: Rotating proxy từ các file VPN free

phongle26/03/2024425 lượt xem1 bình luận
Chào bác Firefox và các bạn. Mình làm ứng dụng theo link này https://cafemmo.club/threads/cay-nha-la-vuon-rotating-proxy-tu-cac-file-vpn-free.4134/ Nhưng cần trợ giúp thay đổi một số điều. Mình đã dùng chatGPT trợ giúp nhưng không kết quả. Bác firefox hay bạn nào có thể giúp mình giải quyết vấn đề này mình vô cùng cám ơn. mình ghi nội dung cơ bản để các bạn nắm qua. [QUOTE="firefox, post: 48588, member: 4014"]Hello các bác, tình hình là em thấy ae khá quan tâm đến proxy để cào. Hôm nay em chia sẻ thêm một cách khác, dựa trên docker và haproxy. Hàng cây nhà lá vườn em viết trong những tháng ngày giãn cách. Lợi thế của nó là làm được công việc setup proxy phức tạp theo cách đơn giản, 1 lệnh ăn ngay 🧱 Nguyên lý hoạt động: - Em tạo 20 con docker container nhỏ, gọi là slave, có nhiệm vụ nhặt 1 file .ovpn ngẫu nhiên từ thư mục /ovpn sau đó khởi tạo kết nối vpn thông qua file được nhặt - 3 phút 1 lần, nó sẽ tự hủy kết nối vpn và nhặt đại 1 file ngẫu nhiên khác, cứ thế tiếp tục - Slave sẽ mở port 8080 thông qua tinyproxy để cho master sử dụng - Master container sẽ có nhiệm vụ mở haproxy port 9999 sau đó rotate request lần lượt đến các con slave kia - 30 phút 1 lần, nó sẽ down file .ovpn mới được chia sẻ miễn phí từ VPN gate, quăng hết vào thư mục chung /ovpn [/QUOTE] Bác firefox mình cần trợ giúp với. Mình cần thay đổi những điều sau. 1. nếu có 20 file .ovpn thì mỗi docker container sẽ nhặt 1 file ovpn để kết nối vpn lần lượt cho đến từ 1 đến 20. 2. Vì mình không dùng proxy xoay nên đã đặt cố định cho mỗi vpn rồi (cái này mình đã tự thay đổi được) 3. Khi mình dùng trên linux thì chỉ mỗi port 9999 kết nối được ra ngoài (mạng lan), còn các port khác không kết nối được. Check localhost thì ok. Mình không biết nguyên nhân do đâu. Dùng trên window thì ok khi kết nối từ mạng lan vào server chạy proxy. Trên linux mình thử bật tắt firewall và mở port cũng không được. Bác nào biết có thể giúp được không. Quan trọng nhất vẫn là mục 1 ở trên. Mục 2 mình đã tự xử lý được. Mục 3 nếu được thì càng tốt. theo mình hiểu để giải quyết 1 mục thì thay đổi nội dụng code ovpn.sh bên dưới
#!/bin/sh

echo "Starting vpn service..."



# check ovpn config
OVPN_FILE=$(shuf -n1 -e /ovpn/*.ovpn)

echo "Connecting to VPN by $OVPN_FILE"

openvpn --config $OVPN_FILE --auth-user-pass  /slave/acc.txt
#openvpn --config $OVPN_FILE --daemon
Và code watchdog.sh sau:

echo "Watchdog is running, ROTATING_DELAY = $ROTATING_DELAY"

while :
do
    sleep $ROTATING_DELAY
    echo "Watchdog: updating connections..."

    # Tìm và gửi tín hiệu đặc biệt (SIGHUP) đến tiến trình OpenVPN
    docker-compose exec haproxy pkill -HUP openvpn

    # In ra thông báo là đang kết nối lại
    echo "Watchdog: reconnecting..."

    # Lấy một tập tin .ovpn ngẫu nhiên từ thư mục /ovpn
    OVPN_FILE=$(docker-compose exec haproxy shuf -n1-e /ovpn/*.ovpn)
    docker-compose exec haproxy sh /slave/ovpn.sh $OVPN_FILE &

    # Random sleep
    sleep $((RANDOM %20))
done
Hi vọng nhận được sự trợ giúp từ các bạn

Bình luận

Đang tải...

Đang kiểm tra đăng nhập...

Help: Rotating proxy từ các file VPN free · Cafemmo Club