W przeszłości, gdy chciałeś zrealizować odwrotne tethering z systemu Linux do urządzenia z Androidem, był to proces skomplikowany i wymagał używania tablic IP, połączeń mostkowych oraz innych trudnych narzędzi. Obecnie, dzięki zaangażowaniu programisty, proces ten został znacznie uproszczony.
Poznaj Gnirehtet! To eksperymentalny program, który działa jako usługa w tle, tworząc efektywny system odwrotnego tetheringu USB, umożliwiający połączenie z Linuksa do Androida.
Ważna uwaga: zanim rozpoczniesz, upewnij się, że Twoje urządzenie z Androidem ma uzyskany dostęp do roota. Bez tego dostęp do niektórych funkcji Gnirehtet nie będzie możliwy.
Uzyskanie dostępu do roota na Androidzie jest prostsze niż kiedykolwiek wcześniej, a wiele modeli ma dostępne szczegółowe instrukcje. Dodatkowe informacje znajdziesz na forach XDA.
Instalacja narzędzi Android
Aby odwrotne tethering z GNirehtet mogło działać, konieczne jest zainstalowanie odpowiednich narzędzi programistycznych Androida w systemie Linux. Na szczęście proces ten jest prosty w większości dystrybucji Linuksa. Otwórz terminal i postępuj zgodnie z instrukcjami zależnymi od Twojego systemu operacyjnego.
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 oferuje doskonałe wsparcie dla platformy Linux, co sprawia, że zestaw narzędzi Android SDK jest łatwo dostępny. Aby zainstalować go w swoim systemie, odwiedź oficjalną stronę. Wypakuj pobrane archiwum i postępuj zgodnie z instrukcjami w nim zawartymi!
Instalacja Gnirehtet
Gnirehtet jest dostępny na platformie Github. Można pobrać kod źródłowy i skompilować go samodzielnie, jednak znacznie prostszym rozwiązaniem jest pobranie wstępnie skompilowanej wersji oprogramowania z zakładki wydania. Na stronie dostępne są dwie wersje: Java i Rust. Dla wygody użytkowników zaleca się pobranie wersji Rust, ponieważ nie wymaga instalacji Java Runtime Environment.
Jeśli zdecydujesz się na wersję Java, pamiętaj, aby zainstalować Java Runtime Environment 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, możesz pobrać wersję Java:
wget https://github.com/Genymobile/gnirehtet/releases/download/v2.2.1/gnirehtet-java-v2.2.1.zip
Po zakończeniu pobierania Gnirehtet, skorzystaj z 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 Androidem i zainstaluj go.
Następnie otwórz terminal i przejdź do wyodrębnionego folderu Gnirehtet:
cd ~/gnirehtet-*
Konfiguracja Androida do tetheringu
Aby Gnirehtet mogło działać, konieczne jest wprowadzenie kilku zmian w ustawieniach systemu Android. Rozpocznij od otwarcia „Ustawień”. Znajdź sekcję „Informacje o telefonie” i wielokrotnie dotknij numeru kompilacji, aż pojawi się powiadomienie mówiące „Jesteś teraz programistą”.
Następnie przejdź do opcji programisty, znajdź opcję „Debugowanie USB” i włącz ją.
Otwórz terminal i uruchom serwer ADB:
su -
lub
sudo -s
adb start-server
Odblokuj swoje urządzenie z Androidem i zaznacz opcję „zawsze akceptuj” dla połączeń ADB. Następnie wróć do terminala z uruchomionym serwerem ADB i go zatrzymaj:
adb kill-server
Korzystanie z Gnirehtet
Gnirehtet działa poprzez tworzenie połączenia między komputerem z systemem Linux a urządzeniem z Androidem za pośrednictwem USB. Aby rozpocząć połączenie, otwórz terminal i uzyskaj dostęp do powłoki roota:
su -
lub
sudo -s
Dzięki uzyskanej powłoce roota, aplikacja Gnirehtet może efektywnie współpracować z systemem Linux oraz komunikować się przez ADB z urządzeniem z Androidem. Rozpocznij połączenie, wpisując:
./gnirehtet autorun
Po nawiązaniu połączenia, na urządzeniu z Androidem pojawi się monit o akceptację połączenia VPN. Odblokuj go i zaakceptuj połączenie.
Po zaakceptowaniu połączenia VPN, Gnirehtet skutecznie zacznie kierować połączenie internetowe z USB bezpośrednio do Twojego urządzenia z Androidem.
Ponowne łączenie
Czasami kable USB mogą się odłączać. W takim przypadku, jeśli usługa Gnirehtet jest aktywna, połączenie zostanie przerwane. Na szczęście program posiada funkcję, która pozwala użytkownikom na szybkie przywrócenie utraconego połączenia.
Aby przywrócić połączenie, otwórz terminal, uzyskaj powłokę roota za pomocą su lub uruchom z sudo:
cd ~/gnirehtet-*
W folderze Gnirehtet uruchom program z flagą restartu, co spowoduje ponowne uruchomienie systemu odwrotnego tetheringu:
sudo ./gnirehtet restart
Po zakończeniu polecenia odblokuj urządzenie z Androidem i ponownie zaakceptuj połączenie VPN, aby zakończyć proces ponownego uruchamiania.
Zatrzymywanie połączenia
Odwrotne tethering można wyłączyć w dowolnym momencie. W tym celu otwórz nowy terminal (pozostawiając otwarty istniejący z aktywnym połączeniem) i wykonaj następujące kroki:
cd ~/gnirehtet-*
sudo ./gnirehtet stop
Czasami polecenie stop nie przerywa połączenia odwrotnego tetheringu. W takim przypadku będziesz musiał wymusić zatrzymanie Gnirehtet.
Aby zabić Gnirehteta, znajdź jego identyfikator procesu używając polecenia pidof, a następnie zakończ program poleceniem kill:
pidof ./gnirehtet
sudo kill -9 processnumber
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.