Як перевернути Tether з Linux на Android за допомогою Gnirehtet

У минулому, якщо ви хотіли перевернути Tether з Linux на Android, вам доводилося використовувати IP-таблиці, мостові з’єднання та інші занадто складні інструменти. Однак завдяки наполегливій роботі розробника зворотне прив’язування стало легшим.

Представляємо Gniretet! Це експериментальна програма, яка працює як фонова служба для створення робочої системи зворотного USB-модему, що дозволяє переключати прив’язування з Linux на Android.

Примітка: перш ніж спробувати слідувати цьому посібнику, переконайтеся, що ваш пристрій Android має Root-доступ. Без Root-доступу багато операцій, які потрібні Gniretet, працюватимуть неправильно.

Отримати Root-доступ на Android простіше, ніж будь-коли, і на багатьох пристроях є докладні інструкції. Перегляньте форуми XDA для отримання додаткової інформації.

Установіть інструменти Android

Зворотний модем із GNirehtet працює завдяки інструментам розробки Android. Перш ніж продовжити роботу з цим посібником, ви повинні встановити його на Linux. На щастя, більшість дистрибутивів Linux роблять це простим процесом. Відкрийте термінал і дотримуйтесь інструкцій на основі вашої операційної системи.

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

Google дуже добре підтримує платформу Linux, і, як наслідок, набір інструментів Android SDK легко доступний. Щоб встановити його на свою операційну систему, перейдіть на офіційну сторінку. Розпакуйте завантажений архів і дотримуйтесь інструкцій всередині!

  Додаток Material Design, якому ви можете диктувати нотатки [Android]

Встановіть Gnirehtet

Gnirehtet доступний на Github. Вихідний код можна завантажити і готовий до компіляції. Однак набагато простіше просто перейти на сторінку випуску та завантажити попередньо скомпільовану версію програмного забезпечення. На сторінці випуску є версія Java і версія Rust. Для зручності використання ми рекомендуємо завантажити версію Rust, оскільки вона не вимагає встановлення середовища виконання Java.

Примітка: вирішили використовувати версію Java? Вам потрібно буде встановити Середовище виконання Java в Linux.

Щоб завантажити останню версію Gnirehtet, відкрийте термінал і скористайтеся інструментом wget.

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

Крім того, завантажте версію Java за допомогою:

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

Після завантаження Gnirehtet скористайтеся інструментом розпакування, щоб розпакувати вміст архіву Zip.

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

або

unzip gnirehtet-java-v2.2.1.zip

Відкрийте файловий менеджер, перейдіть до папки «Gnirehtet». Скопіюйте файл gnirehtet.apk на свій пристрій Android і встановіть його.

  Як призупинити завантаження системних оновлень на Android

Відкрийте термінал і скористайтеся командою CD, щоб перейти до витягнутої папки Gnirehtet.

cd ~/gnirehtet-*

Налаштувати Android для режиму модема

Інструмент Gnirehtet не працюватиме без кількох налаштувань операційної системи Android. Почніть, відкривши «Налаштування». Перейдіть до «Про телефон» і торкніться номера збірки, доки не з’явиться сповіщення «Ви стали розробником».

Перейдіть до параметрів розробника, знайдіть налагодження «USB» та увімкніть його.

Відкрийте термінал і запустіть сервер Adb.

su -

або

sudo -s
adb start server

Розблокуйте свій пристрій Android і поставте прапорець, щоб «завжди приймати» з’єднання ADB. Потім поверніться до терміналу, на якому працює сервер ADB, і вбийте його.

adb kill-server

Використання Gnirehtet

Gnirehtet працює, створюючи з’єднання між вашим ПК Linux і пристроєм Android через USB. Щоб розпочати з’єднання, відкрийте термінал і отримайте кореневу оболонку.

su -

або

sudo -s

Завдяки кореневій оболонці програма Gnirehtet може працювати з системою Linux без проблем і спілкуватися через ADB з пристроєм Android. На цьому етапі розпочніть підключення:

./gnirehtet autorun

Після запуску з’єднання з Gnirehtet на вашому пристрої Android з’явиться нове повідомлення про підключення VPN. Розблокуйте його та прийміть підключення.

  Що таке TTY в Linux? (і як використовувати команду tty)

Після прийняття VPN-з’єднання Gnirehtet успішно розпочне маршрутизацію інтернет-з’єднання через USB безпосередньо на пристрій Android.

Повторне підключення

Іноді USB-кабелі від’єднуються. Якщо це станеться під час роботи служби Gnirehtet, з’єднання завершиться. На щастя, програма має функцію, яку користувачі можуть запустити, щоб миттєво відновити втрачене з’єднання.

Щоб відновити з’єднання, відкрийте термінал, отримайте кореневу оболонку за допомогою su або запустіть за допомогою sudo.

cd ~/gnirehtet-*

Всередині папки Gnirehtet запустіть програму з прапорцем перезапуску. Це перезапустить систему зворотного модема.

sudo ./gnirehtet restart

Коли команда завершить виконання, розблокуйте пристрій Android і повторно підтвердіть з’єднання VPN, щоб завершити процес перезапуску.

Зупинити з’єднання

Зворотний прив’язок можна вимкнути в будь-який час. Для цього відкрийте новий термінал (залиште відкритим існуючий з підключенням) і виконайте наступне:

cd ~/gnirehtet-*

sudo ./gnirehtet stop

Іноді виконання команди stop не завжди припиняє зворотне з’єднання. Якщо це станеться, вам доведеться змусити Gnirehtet вийти.

Щоб знищити Gnirehtet, знайдіть ідентифікатор процесу за допомогою pidof, а потім зупиніть програму за допомогою команди kill.

pidof ./gnirehtet

sudo kill -9 processnumber