Jak obrátit Tether z Linuxu na Android pomocí Gnirehtet

Zjednodušené reverzní tethering mezi Linuxem a Androidem

V minulosti bylo nastavení reverzního tetheringu z Linuxu na Android poměrně komplikované. Vyžadovalo použití IP tabulek, složitých konfigurací připojení a dalších pokročilých nástrojů. Nicméně díky úsilí vývojářů je dnes tento proces mnohem jednodušší a přístupnější.

Představujeme Gnirehtet, inovativní program, který slouží jako nenápadná služba běžící na pozadí. Umožňuje vytvořit funkční systém reverzního tetheringu přes USB, čímž umožňuje sdílení internetového připojení z Linuxového počítače s vaším zařízením Android.

Důležité upozornění: Před zahájením tohoto procesu se ujistěte, že máte na svém zařízení Android přístup root. Bez tohoto oprávnění nebudou mnohé operace, které Gnirehtet vyžaduje, fungovat správně.

Získání root přístupu na Androidu je nyní snazší než kdy dříve a existuje spousta podrobných návodů pro různá zařízení. Pokud potřebujete více informací, doporučujeme navštívit fóra XDA.

Instalace nástrojů pro Android

Gnirehtet využívá vývojářské nástroje pro Android. Před dalším postupem se ujistěte, že máte tyto nástroje nainstalované ve vašem systému Linux. Většina distribucí Linuxu tento proces zjednodušuje. Otevřete terminál a postupujte podle níže uvedených pokynů pro váš operační systém.

Pro Ubuntu

sudo apt install android-tools

Pro Debian

sudo apt-get install android-tools

Pro Arch Linux

sudo pacman -S android-tools

Pro Fedoru

sudo dnf install android-tools

Pro OpenSUSE

sudo zypper in android-tools

Obecný postup pro Linux

Společnost Google velmi dobře podporuje platformu Linux, a proto je sada nástrojů Android SDK snadno dostupná. Chcete-li ji nainstalovat, navštivte oficiální stránku. Stáhněte si archiv, rozbalte jej a postupujte podle instrukcí uvnitř.

Instalace Gnirehtetu

Gnirehtet najdete na platformě Github. K dispozici je jak zdrojový kód ke stažení a kompilaci, tak předkompilované verze, které jsou jednodušší pro běžné uživatele. Na stránce vydání naleznete verzi Java a verzi Rust. Doporučujeme verzi Rust, protože nevyžaduje Java Runtime Environment.

Poznámka: Pokud se rozhodnete pro verzi Java, nezapomeňte si nainstalovat Java Runtime Environment v Linuxu.

Pro stažení nejnovější verze Gnirehtetu otevřete terminál a použijte nástroj wget.

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

Případně stáhněte verzi Java:

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

Po stažení archivu, rozbalte jeho obsah.

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

nebo

unzip gnirehtet-java-v2.2.1.zip

Otevřete správce souborů a přejděte do složky „Gnirehtet“. Zkopírujte soubor gnirehtet.apk do vašeho zařízení Android a nainstalujte jej.

V terminálu se pomocí příkazu cd přesuňte do extrahované složky Gnirehtet.

cd ~/gnirehtet-*

Konfigurace Androidu pro Tethering

Gnirehtet vyžaduje několik úprav v nastavení Androidu. Otevřete „Nastavení“, najděte „O telefonu“ a opakovaně klikněte na „Číslo sestavení“, dokud se neobjeví hláška „Nyní jste vývojář“.

Přejděte do „Možnosti pro vývojáře“, najděte „Ladění USB“ a povolte ho.

V terminálu spusťte server Adb.

su -

nebo

sudo -s
adb start server

Odemkněte své zařízení Android a zaškrtněte volbu „Vždy přijímat“ připojení ADB. Poté v terminálu ukončete server ADB.

adb kill-server

Používání Gnirehtetu

Gnirehtet vytvoří spojení mezi vaším Linuxovým počítačem a zařízením Android přes USB. Pro zahájení připojení otevřete terminál a získejte root shell.

su -

nebo

sudo -s

S root shellem může Gnirehtet komunikovat s Linuxem a Android zařízením přes ADB. Nyní spusťte připojení:

./gnirehtet autorun

Po spuštění připojení se na vašem zařízení Android objeví výzva k vytvoření nového připojení VPN. Odemkněte zařízení a potvrďte připojení.

Po potvrzení připojení VPN, Gnirehtet úspěšně přesměruje internetové připojení přes USB do vašeho zařízení Android.

Opětovné připojení

USB kabely se někdy odpojí. Pokud se to stane během spuštěné služby Gnirehtet, připojení se ukončí. Naštěstí, program má funkci pro obnovu ztraceného připojení.

Pro obnovení připojení otevřete terminál, získejte root shell pomocí su nebo spusťte sudo.

cd ~/gnirehtet-*

Ve složce Gnirehtet spusťte program s příznakem restart. Tím se obnoví systém reverzního tetheringu.

sudo ./gnirehtet restart

Po dokončení příkazu odemkněte Android a znovu potvrďte připojení VPN.

Zastavení připojení

Reverzní tethering lze kdykoliv vypnout. Otevřete nový terminál (ponechte ten, kde běží připojení, otevřený) a zadejte:

cd ~/gnirehtet-*
   
   sudo ./gnirehtet stop

Někdy příkaz stop neukončí reverzní tethering. V takovém případě je nutné Gnirehtet vynutit ukončení.

Pro ukončení Gnirehtetu zjistěte ID procesu pomocí pidof a zastavte program příkazem kill.

pidof ./gnirehtet
    
    sudo kill -9 processnumber