Cum să inversați Tether de la Linux la Android cu Gnirehtet

În trecut, configurarea tethering-ului invers de la un sistem Linux la un dispozitiv Android necesita cunoștințe avansate și utilizarea unor instrumente complexe, precum tabele IP sau conexiuni prin punte. Însă, datorită eforturilor unui dezvoltator dedicat, acest proces a fost semnificativ simplificat.

Vă prezentăm Gnirehtet, un program experimental care acționează ca un serviciu de fundal, creând un sistem funcțional de tethering invers prin USB. Acesta permite direcționarea conexiunii la internet de la Linux la Android într-un mod mult mai accesibil.

Atenție: Pentru a folosi acest ghid, este esențial ca dispozitivul dumneavoastră Android să aibă acces Root. Fără acest acces, multe dintre operațiunile necesare pentru funcționarea corectă a Gnirehtet nu vor fi posibile.

Obținerea accesului Root pe Android a devenit mai simplă ca niciodată, multe dispozitive având instrucțiuni detaliate disponibile. Pentru mai multe informații, consultați forumurile XDA.

Instalarea instrumentelor Android necesare

Tethering-ul invers cu Gnirehtet se bazează pe instrumentele de dezvoltare Android. Înainte de a continua, acestea trebuie instalate pe sistemul dumneavoastră Linux. Majoritatea distribuțiilor Linux oferă modalități simple de instalare. Deschideți un terminal și urmați instrucțiunile specifice sistemului dumneavoastră de operare:

Distribuție Linux Comandă
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

Linux generic: Google oferă un suport excelent pentru platforma Linux, iar setul de instrumente Android SDK este ușor de obținut. Pentru a-l instala, accesați pagina oficială. Descărcați arhiva și urmați instrucțiunile de instalare.

Instalarea Gnirehtet

Gnirehtet este disponibil pe Github. Puteți descărca codul sursă și să-l compilați, însă este mai simplu să accesați pagina de lansare și să descărcați o versiune precompilată. Există două versiuni disponibile: Java și Rust. Pentru simplitate, vă recomandăm versiunea Rust, deoarece nu necesită instalarea unui mediu de rulare Java.

Notă: Dacă alegeți versiunea Java, va trebui să instalați Java Runtime Environment pe sistemul dumneavoastră Linux.

Pentru a descărca cea mai recentă versiune de Gnirehtet, deschideți un terminal și utilizați comanda wget:

wget https://github.com/Genymobile/gnirehtet/releases/download/v2.2.1/gnirehtet-rust-linux64-v2.2.1.zip

Sau, pentru versiunea Java:

wget https://github.com/Genymobile/gnirehtet/releases/download/v2.2.1/gnirehtet-java-v2.2.1.zip

După descărcare, dezarhivați conținutul fișierului zip:

unzip gnirehtet-rust-linux64-v2.2.1.zip

sau

unzip gnirehtet-java-v2.2.1.zip

Navigați în managerul de fișiere la folderul „Gnirehtet”. Copiați fișierul gnirehtet.apk pe dispozitivul Android și instalați-l.

În terminal, folosiți comanda cd pentru a naviga la folderul extras Gnirehtet:

cd ~/gnirehtet-*

Configurarea Android pentru tethering

Gnirehtet necesită câteva modificări în setările Android. Accesați „Setări”, apoi „Despre telefon” și apăsați de mai multe ori numărul versiunii până când vedeți notificarea „Acum ești dezvoltator”.

Accesați „Opțiuni pentru dezvoltatori” și activați „Depanarea USB”.

În terminal, porniți serverul ADB:

su -

sau

sudo -s
adb start server

Deblocați dispozitivul Android și acceptați conexiunea ADB. Apoi, reveniți la terminal și opriți serverul ADB:

adb kill-server

Utilizarea Gnirehtet

Gnirehtet stabilește o conexiune între computerul Linux și dispozitivul Android prin USB. Pentru a porni conexiunea, deschideți un terminal și obțineți acces root:

su -

sau

sudo -s

Cu acces root, aplicația Gnirehtet poate funcționa fără probleme și poate comunica prin ADB cu dispozitivul Android. Acum, inițiați conexiunea:

./gnirehtet autorun

La pornirea conexiunii, pe dispozitivul Android va apărea o solicitare de conectare VPN. Deblocați și acceptați conexiunea.

După acceptarea conexiunii VPN, Gnirehtet va direcționa cu succes conexiunea la internet prin USB către dispozitivul Android.

Reconectarea

Conexiunile USB se pot întrerupe uneori. Dacă acest lucru se întâmplă în timpul funcționării Gnirehtet, conexiunea va fi încheiată. Din fericire, programul oferă o funcție de restabilire rapidă a conexiunii.

Pentru a restabili conexiunea, deschideți un terminal și obțineți acces root:

cd ~/gnirehtet-*

În folderul Gnirehtet, rulați programul cu opțiunea de repornire:

sudo ./gnirehtet restart

Deblocați dispozitivul Android și acceptați din nou conexiunea VPN pentru a finaliza procesul de repornire.

Oprirea conexiunii

Legătura inversă poate fi oprită oricând. Deschideți un nou terminal (lăsați celălalt terminal care rulează conexiunea deschis) și executați:

cd ~/gnirehtet-*
sudo ./gnirehtet stop

Uneori, comanda de oprire nu închide complet conexiunea inversă. În acest caz, va trebui să forțați Gnirehtet să se oprească.

Pentru a opri Gnirehtet, aflați ID-ul procesului folosind pidof, apoi opriți programul cu comanda kill:

pidof ./gnirehtet
sudo kill -9 processnumber