Dieses Projekt bietet Reverse Tethering über adb
für Android: Es ermöglicht Geräten, die Internetverbindung des Computers zu nutzen, an den sie angeschlossen sind. Es ist kein Root- Zugriff erforderlich (weder auf dem Gerät noch auf dem Computer). Es funktioniert unter GNU/Linux , Windows und Mac OS .
Derzeit werden TCP und UDP über IPv4-Verkehr weitergeleitet, IPv6 wird jedoch (noch?) nicht unterstützt.
Dieses Projekt wird nicht mehr aktiv gepflegt, nur größere Blocker (wie Build-Probleme) werden behoben. Es sollte aber trotzdem funktionieren.
Es stehen zwei Implementierungen von Gnirehtet zur Verfügung:
Verwenden Sie die Rust -Implementierung. Die native Binärdatei verbraucht weniger CPU und Speicher und erfordert keine Java- Laufzeitumgebung.
Der Relay-Server von Gnirehtet wurde zunächst nur in Java implementiert. Als Vorteil läuft die gleiche „Binärdatei“ auf jeder Plattform, auf der die Java 8- Laufzeitumgebung installiert ist. Es wird weiterhin gepflegt, um bei Problemen mit der Rust-Version eine funktionierende Alternative bereitzustellen.
Die Android-Anwendung erfordert mindestens API 21 (Android 5.0).
Nur für die Java- Version ist Java 8 (JRE) auf Ihrem Computer erforderlich. Installieren Sie auf Debian-basierten Distributionen das Paket openjdk-8-jre
.
Sie benötigen eine aktuelle Version von ADB (wo adb reverse
implementiert ist, funktioniert es mit 1.0.36).
Es ist in den Android SDK-Plattformtools verfügbar.
Auf Debian-basierten Distributionen können Sie alternativ das Paket android-tools-adb
installieren.
Wenn Sie unter Windows nur adb
für diese Anwendung benötigen, laden Sie einfach die Plattform-Tools herunter und extrahieren Sie die folgenden Dateien in das gnirehtet -Verzeichnis:
adb.exe
AdbWinApi.dll
AdbWinUsbApi.dll
Stellen Sie sicher, dass Sie das ADB-Debugging auf Ihren Geräten aktiviert haben.
Wenn Sie Homebrew verwenden, geht die Inbetriebnahme sehr schnell. So installieren Sie die Rust-Version:
brew install gnirehtet
Laden Sie die neueste Version in der gewünschten Variante herunter.
gnirehtet-rust-linux64-v2.5.1.zip
gnirehtet-rust-win64-v2.5.1.zip
gnirehtet-rust-macos64-v2.2.1.zip
(alte Version)Dann extrahieren Sie es.
Die Linux- und MacOS-Archive enthalten:
gnirehtet.apk
gnirehtet
Das Windows-Archiv enthält:
gnirehtet.apk
gnirehtet.exe
gnirehtet-run.cmd
gnirehtet-java-v2.5.1.zip
Dann extrahieren Sie es. Das Archiv enthält:
gnirehtet.apk
gnirehtet.jar
gnirehtet
gnirehtet.cmd
gnirehtet-run.cmd
Hinweis: Ersetzen Sie unter Windows in den folgenden Befehlen ./gnirehtet
durch gnirehtet
.
Die Anwendung verfügt über keine Benutzeroberfläche und soll nur vom Computer aus gesteuert werden.
Wenn Sie Reverse Tethering für genau ein Gerät aktivieren möchten, führen Sie einfach Folgendes aus:
./gnirehtet run
Reverse Tethering bleibt aktiv, bis Sie Strg+C drücken.
Unter Windows können Sie der Einfachheit halber stattdessen auf gnirehtet-run.cmd
doppelklicken (es führt lediglich gnirehtet run
aus, ohne dass ein Terminal geöffnet werden muss).
Beim allerersten Start sollte ein Popup geöffnet werden, in dem Sie um Erlaubnis gebeten werden:
Ein „Schlüssel“-Logo erscheint in der Statusleiste, wenn Gnirehtet aktiv ist:
Alternativ können Sie Reverse Tethering für alle angeschlossenen Geräte (aktuell und zukünftig) aktivieren, indem Sie Folgendes aufrufen:
./gnirehtet autorun
Sie können die Aktionen separat ausführen (dies kann nützlich sein, wenn Sie mehrere Geräte gleichzeitig umkehren möchten).
Starten Sie den Relay-Server und lassen Sie ihn geöffnet:
./gnirehtet relay
Installieren Sie die apk
auf Ihrem Android-Gerät:
./gnirehtet install [serial]
Führen Sie in einem anderen Terminal für jeden Client Folgendes aus:
./gnirehtet start [serial]
So stoppen Sie einen Client:
./gnirehtet stop [serial]
So setzen Sie den Tunnel zurück (nützlich, um die Verbindung wiederherzustellen, wenn ein Gerät ausgesteckt und wieder eingesteckt wird, während gnirehtet aktiv ist):
./gnirehtet tunnel [serial]
Der serielle Parameter ist nur erforderlich, wenn adb devices
mehr als ein Gerät ausgeben.
Für erweiterte Optionen rufen Sie ./gnirehtet
ohne Argumente auf, um weitere Details zu erhalten.
Das gnirehtet
-Programm stellt eine einfache Befehlszeilenschnittstelle zur Verfügung, die Befehle auf niedrigerer Ebene ausführt. Sie können sie stattdessen auch manuell aufrufen.
So starten Sie den Relay-Server:
./gnirehtet relay
So installieren Sie die APK:
adb install -r gnirehtet.apk
So starten Sie einen Client:
adb reverse localabstract:gnirehtet tcp:31416
adb shell am start -a com.genymobile.gnirehtet.START
-n com.genymobile.gnirehtet/.GnirehtetActivity
So stoppen Sie einen Client:
adb shell am start -a com.genymobile.gnirehtet.STOP
-n com.genymobile.gnirehtet/.GnirehtetActivity
ADB
definiert einen benutzerdefinierten Pfad zur ausführbaren adb
Datei:
ADB=/path/to/my/adb ./gnirehtet run
GNIREHTET_APK
definiert einen benutzerdefinierten Pfad zu gnirehtet.apk
:
GNIREHTET_APK=/usr/share/gnirehtet/gnirehtet.apk ./gnirehtet run
rev <<< tethering
(in Bash )
Lesen Sie die Entwicklerseite.
Copyright (C) 2017 Genymobile
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.