Este proyecto proporciona anclaje a red inverso a través de adb
para Android: permite que los dispositivos utilicen la conexión a Internet de la computadora a la que están conectados. No requiere ningún acceso root (ni en el dispositivo ni en la computadora). Funciona en GNU/Linux , Windows y Mac OS .
Actualmente, transmite TCP y UDP sobre tráfico IPv4, pero no es compatible con IPv6 (¿todavía?).
Este proyecto ya no se mantiene activamente, solo se solucionan los principales obstáculos (como los problemas de compilación). Sin embargo, todavía debería funcionar.
Hay dos implementaciones de Gnirehtet disponibles:
Utilice la implementación de Rust . El binario nativo consume menos CPU y memoria y no requiere un entorno de ejecución Java .
Inicialmente, el servidor de retransmisión de Gnirehtet sólo se implementó en Java. Como beneficio, el mismo "binario" se ejecuta en todas las plataformas que tienen instalado el tiempo de ejecución de Java 8 . Todavía se mantiene para proporcionar una alternativa funcional en caso de problemas con la versión Rust.
La aplicación de Android requiere al menos API 21 (Android 5.0).
Solo para la versión Java , se requiere Java 8 (JRE) en su computadora. En distribuciones basadas en Debian, instale el paquete openjdk-8-jre
.
Necesita una versión reciente de adb (donde se implementa adb reverse
, funciona con 1.0.36).
Está disponible en las herramientas de la plataforma SDK de Android.
En distribuciones basadas en Debian, también puedes instalar el paquete android-tools-adb
.
En Windows, si necesita adb
solo para esta aplicación, simplemente descargue las herramientas de la plataforma y extraiga los siguientes archivos al directorio gnirehtet :
adb.exe
AdbWinApi.dll
AdbWinUsbApi.dll
Asegúrese de haber habilitado la depuración de adb en su(s) dispositivo(s).
Si utiliza Homebrew, ponerse en marcha es muy rápido. Para instalar la versión Rust:
brew install gnirehtet
Descargue la última versión en el formato que desee.
gnirehtet-rust-linux64-v2.5.1.zip
gnirehtet-rust-win64-v2.5.1.zip
gnirehtet-rust-macos64-v2.2.1.zip
(versión anterior)Luego extráigalo.
Los archivos de Linux y MacOS contienen:
gnirehtet.apk
gnirehtet
El archivo de Windows contiene:
gnirehtet.apk
gnirehtet.exe
gnirehtet-run.cmd
gnirehtet-java-v2.5.1.zip
Luego extráigalo. El archivo contiene:
gnirehtet.apk
gnirehtet.jar
gnirehtet
gnirehtet.cmd
gnirehtet-run.cmd
Nota: En Windows, reemplace ./gnirehtet
por gnirehtet
en los siguientes comandos.
La aplicación no tiene interfaz de usuario y está diseñada para controlarse únicamente desde la computadora.
Si desea activar el anclaje inverso exactamente para un dispositivo, simplemente ejecute:
./gnirehtet run
La conexión inversa permanece activa hasta que presiona Ctrl+C .
En Windows, para mayor comodidad, puede hacer doble clic en gnirehtet-run.cmd
(simplemente ejecuta gnirehtet run
, sin necesidad de abrir una terminal).
El primer inicio debería abrir una ventana emergente para solicitar permiso:
Aparece un logotipo de "llave" en la barra de estado siempre que Gnirehtet está activo:
Alternativamente, puede habilitar la conexión inversa para todos los dispositivos conectados (presentes y futuros) llamando al:
./gnirehtet autorun
Puedes ejecutar las acciones por separado (puede ser útil si quieres invertir el tether de varios dispositivos simultáneamente).
Inicie el servidor de retransmisión y manténgalo abierto:
./gnirehtet relay
Instale la apk
en su dispositivo Android:
./gnirehtet install [serial]
En otra terminal, para cada cliente, ejecute:
./gnirehtet start [serial]
Para detener a un cliente:
./gnirehtet stop [serial]
Para restablecer el túnel (útil para recuperar la conexión cuando un dispositivo se desconecta y se vuelve a conectar mientras el gnirehtet está activo):
./gnirehtet tunnel [serial]
El parámetro serial solo es necesario si adb devices
genera más de un dispositivo.
Para opciones avanzadas, llame ./gnirehtet
sin argumentos para obtener más detalles.
El programa gnirehtet
expone una interfaz de línea de comandos simple que ejecuta comandos de nivel inferior. En su lugar, puedes llamarlos manualmente.
Para iniciar el servidor de retransmisión:
./gnirehtet relay
Para instalar la apk:
adb install -r gnirehtet.apk
Para iniciar un cliente:
adb reverse localabstract:gnirehtet tcp:31416
adb shell am start -a com.genymobile.gnirehtet.START
-n com.genymobile.gnirehtet/.GnirehtetActivity
Para detener a un cliente:
adb shell am start -a com.genymobile.gnirehtet.STOP
-n com.genymobile.gnirehtet/.GnirehtetActivity
ADB
define una ruta personalizada al ejecutable adb
:
ADB=/path/to/my/adb ./gnirehtet run
GNIREHTET_APK
define una ruta personalizada a gnirehtet.apk
:
GNIREHTET_APK=/usr/share/gnirehtet/gnirehtet.apk ./gnirehtet run
rev <<< tethering
(en fiesta )
Lea la página de desarrolladores.
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.