vpn-rotate-skill
Obejdź limity API poprzez automatyczne rotowanie serwerów VPN i uzyskiwanie nowych adresów IP.
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do rotowania serwerów VPN, który pozwala obejść ograniczenia szybkości API poprzez automatyczne przełączanie się między nowymi adresami IP. Kompatybilny z dowolnym VPN obsługującym OpenVPN (ProtonVPN, NordVPN, Mullvad i inne). Idealny do masowego scrapowania danych, dostępu do API rządowych i pobierania treści z ograniczeniami geograficznymi. Możesz ustawić automatyczną rotację co N żądań lub zarządzać połączeniami ręcznie za pomocą dekoratora, klasy VPN lub menedżera kontekstu.
Jak używać
Zainstaluj OpenVPN na swoim systemie (na Linuksie: sudo apt install openvpn). Pobierz pliki konfiguracyjne .ovpn od swojego dostawcy VPN i umieść je w katalogu ~/.vpn/servers/.
Utwórz plik z danymi logowania: echo "twoja_nazwa_użytkownika" > ~/.vpn/creds.txt, a następnie echo "twoje_hasło" >> ~/.vpn/creds.txt. Ustaw uprawnienia: chmod 600 ~/.vpn/creds.txt.
Skonfiguruj dostęp bez hasła dla OpenVPN, uruchamiając: echo "$USER ALL=(ALL) NOPASSWD: /usr/sbin/openvpn, /usr/bin/killall" | sudo tee /etc/sudoers.d/openvpn. Alternatywnie uruchom skrypt setup.sh, który przeprowadzi Cię przez całą konfigurację.
W swoim kodzie Python użyj dekoratora @with_vpn_rotation(rotate_every=10, delay=1.0) nad funkcją, którą chcesz chronić. Skill automatycznie będzie rotować VPN co 10 żądań i uzyskiwać nowe adresy IP.
Możesz też bezpośrednio używać klasy VPN: utwórz instancję vpn = VPN(), połącz się vpn.connect(), sprawdź IP vpn.get_ip(), a następnie rotuj vpn.rotate() przed każdym żądaniem.
Dla bardziej zaawansowanego użytku zastosuj menedżer kontekstu: with vpn.session(): połączenie jest aktywne, a vpn.before_request() obsługuje rotację automatycznie. Po wyjściu z bloku połączenie zostaje zamknięte.