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