Jeśli autoryzowane urządzenie Android już uruchamia proxy HTTP dostępne przez adb na porcie 8080, przekieruj na nie port laptopa:

adb -s DEVICE_SERIAL forward tcp:6400 tcp:8080

Użyj rzeczywistego numeru seryjnego urządzenia, a następnie ustaw proxy HTTP przeglądarki na laptopie na 127.0.0.1:6400. Pierwszy port to punkt końcowy laptopa; drugi to usługa telefonu. adb zapewnia ścieżkę TCP, a nie protokół proxy.

laptop browser
  -> laptop 127.0.0.1:6400
  -> adb USB forwarding
  -> phone TCP port 8080
  -> phone's outbound network

Proxy telefonu musi obsługiwać żądane operacje, w tym CONNECT dla HTTPS w przeglądarce. Debugowanie USB używaj tylko z autoryzowanym urządzeniem i zaufanym komputerem. Ta ścieżka nie wymaga, aby operator dopuszczał nieproszone połączenia internetowe do telefonu.

Sprawdź wyjście osobno od osiągalności przez USB. Proxy korzysta z wybranej sieci wyjściowej telefonu, chyba że jego aplikacja wiąże inną. Aktywne Wi-Fi, VPN lub jawne trasowanie aplikacji mogą sprawić, że wyjście będzie inne niż dane komórkowe.

Jeśli telefon zamiast tego uruchamia serwer SSH, przekieruj ten port i utwórz SOCKS na laptopie:

adb -s DEVICE_SERIAL forward tcp:2222 tcp:2222
ssh -N -D 127.0.0.1:8899 -p 2222 [email protected]

Tutaj przeglądarka używa SOCKS pod 127.0.0.1:8899, a SSH otwiera połączenia docelowe na telefonie. To alternatywa dla bezpośredniego przekierowania proxy HTTP; żaden z układów nie wymaga publicznego nasłuchu.

Po zakończeniu usuń konkretny wpis adb, na przykład adb -s DEVICE_SERIAL forward --remove tcp:6400. Zamknięcie przeglądarki nie usuwa stanu przekierowania.

Powiązane artykuły