W przeszłości, jeśli chciałeś odwrócić tethering z Linuksa na Androida, musiałeś użyć tablic IP, połączeń mostkowych i innych zbyt skomplikowanych narzędzi. Jednak dzięki ciężkiej pracy programisty, odwrotne tethering został ułatwiony.
Przedstawiamy Gniretet! Jest to program eksperymentalny, który działa jako usługa w tle, aby utworzyć działający system odwrotnego tetheringu USB, umożliwiający odwrócenie tetheringu z Linuksa na Androida.
Uwaga: zanim spróbujesz postępować zgodnie z tym przewodnikiem, upewnij się, że urządzenie z Androidem ma dostęp do roota. Bez dostępu do roota wiele operacji potrzebnych Gniretet nie będzie działać poprawnie.
Uzyskanie dostępu do roota na Androidzie jest łatwiejsze niż kiedykolwiek, a wiele urządzeń ma szczegółowe instrukcje. Więcej informacji znajdziesz na forach XDA.
Spis treści:
Zainstaluj narzędzia Android
Odwrotne tethering z GNirehtet działa dzięki narzędziom programistycznym Androida. Zanim przejdziesz dalej z tym przewodnikiem, musisz zainstalować go w systemie Linux. Na szczęście większość dystrybucji Linuksa sprawia, że jest to łatwy proces. Otwórz terminal i postępuj zgodnie z instrukcjami opartymi na systemie operacyjnym.
Ubuntu
sudo apt install android-tools
Debian
sudo apt-get install android-tools
Arch Linux
sudo pacman -S android-tools
Fedora
sudo dnf install android-tools
OpenSUSE
sudo zypper in android-tools
Ogólny Linux
Google bardzo dobrze obsługuje platformę Linux, w wyniku czego zestaw narzędzi Android SDK jest łatwo dostępny. Aby zainstalować go w swoim systemie operacyjnym, przejdź do oficjalnej strony. Wypakuj pobrane archiwum i postępuj zgodnie z instrukcjami w środku!
Zainstaluj Gnirehtet
Gnirehtet jest dostępny na Github. Kod źródłowy jest do pobrania i gotowy do kompilacji. Jednak znacznie łatwiej jest po prostu przejść do strony wydania i pobrać wstępnie skompilowaną wersję oprogramowania. Na stronie wydania znajduje się wersja Java i wersja Rust. W celu ułatwienia użytkowania zalecamy pobranie wersji Rusta, ponieważ nie wymaga ona instalowania środowiska Java Runtime Environment.
Uwaga: zdecydować się na wersję Java? Musisz zainstalować Środowisko wykonawcze Java w systemie Linux.
Aby pobrać najnowszą wersję Gnirehtet, otwórz terminal i użyj narzędzia wget.
wget https://github.com/Genymobile/gnirehtet/releases/download/v2.2.1/gnirehtet-rust-linux64-v2.2.1.zip
Alternatywnie pobierz wersję Java, zawierającą:
wget https://github.com/Genymobile/gnirehtet/releases/download/v2.2.1/gnirehtet-java-v2.2.1.zip
Po pobraniu Gnirehtet użyj narzędzia do rozpakowywania, aby wyodrębnić zawartość archiwum Zip.
unzip gnirehtet-rust-linux64-v2.2.1.zip
lub
unzip gnirehtet-java-v2.2.1.zip
Otwórz menedżera plików i przejdź do folderu „Gnirehtet”. Skopiuj plik gnirehtet.apk na urządzenie z systemem Android i zainstaluj go.
Otwórz terminal i użyj polecenia CD, aby przejść do wyodrębnionego folderu Gnirehtet.
cd ~/gnirehtet-*
Skonfiguruj Androida do tetheringu
Narzędzie Gnirehtet nie będzie działać bez kilku poprawek w systemie operacyjnym Android. Zacznij od otwarcia „Ustawień”. Przejdź do „Informacje o telefonie” i dotknij numeru kompilacji, aż pojawi się powiadomienie „Jesteś teraz programistą”.
Przejdź do opcji programisty, poszukaj debugowania „USB” i włącz je.
Otwórz terminal i uruchom serwer Adb.
su -
lub
sudo -s
adb start server
Odblokuj urządzenie z Androidem i zaznacz pole „zawsze akceptuj” połączenia ADB. Następnie wróć do terminala z uruchomionym serwerem ADB i zabij go.
adb kill-server
Korzystanie z Gnirehtet
Gnirehtet działa, tworząc połączenie między komputerem z systemem Linux a urządzeniem z systemem Android przez USB. Aby rozpocząć połączenie, otwórz terminal i uzyskaj powłokę roota.
su -
lub
sudo -s
Dzięki powłoce roota aplikacja Gnirehtet może bez problemu współpracować z systemem Linux i komunikować się przez ADB z urządzeniem z Androidem. W tym momencie rozpocznij połączenie:
./gnirehtet autorun
Po rozpoczęciu połączenia z Gnirehtet na urządzeniu z Androidem pojawi się nowy monit o połączenie VPN. Odblokuj go i zaakceptuj połączenie.
Po zaakceptowaniu połączenia VPN, Gnirehtet pomyślnie rozpocznie kierowanie połączenia internetowego przez USB bezpośrednio do urządzenia z systemem Android.
Ponowne łączenie
Czasami kable USB są odłączane. W przypadku, gdy dzieje się to podczas działania usługi Gnirehtet, połączenie zostanie zakończone. Na szczęście program ma funkcję, którą użytkownicy mogą wykonać, aby natychmiast przywrócić utracone połączenie.
Aby przywrócić połączenie, otwórz terminal, uzyskaj powłokę roota za pomocą su lub uruchom z sudo.
cd ~/gnirehtet-*
Wewnątrz folderu Gnirehtet uruchom program z flagą restartu. Spowoduje to ponowne uruchomienie systemu odwrotnego tetheringu.
sudo ./gnirehtet restart
Po zakończeniu działania polecenia odblokuj urządzenie z systemem Android i ponownie zaakceptuj połączenie VPN, aby zakończyć proces ponownego uruchamiania.
Zatrzymaj połączenie
Odwrotną linkę można wyłączyć w dowolnym momencie. Aby to zrobić, otwórz nowy terminal (pozostaw istniejący z otwartym połączeniem) i wykonaj następujące czynności:
cd ~/gnirehtet-* sudo ./gnirehtet stop
Czasami uruchomienie polecenia stop nie zawsze powoduje przerwanie połączenia odwrotnego tetheringu. Jeśli tak się stanie, musisz zmusić Gnirehtet do zakończenia.
Aby zabić Gnirehteta, znajdź identyfikator procesu za pomocą pidof, a następnie zatrzymaj program poleceniem kill.
pidof ./gnirehtet sudo kill -9 processnumber