¿Te pasó de necesitar internet en la notebook y, al no tener wifi, te compartiste datos desde el teléfono? Seguramente que si. ¿Te pasó de no tener acceso a wifi desde el celu y querer compartirte internet desde la PC, que sí está conectada por cable a la red? Bueno, si te pasó o si te llegase a pasar, este post es para vos.
Resumen
Gnirehtet es una aplicación que nos provee, teniendo una PC conectada a internet, el darle acceso a la red a un celular android en modo debugging a través de un puerto USB.
Esto lo logra mediante el concepto de Tethering (nótese que al reverso es “Gnirehtet”).
Requerimientos
Server PC
La versión de lenguaje Rust consta de un zip que contiene, entre otras cosas, el programa compilado. La docu del proyecto provee tres instalables, uno para Windows, otro para Linux y un último para MacOs (ver en la documentación más abajo). La versión Java, a diferencia, consta de un zip único con los archivos, pero requiere tener la JRE 8 instalada en el ambiente.
Cliente Mobile
Requiere como mínimo la versión de Android 5.0. Además, el celular necesita tener habilitado el modo desarrollador y activada la depuración USB.
¿Modo desarrollador? ¿Debugging por USB?
Para activarlos andá a Configuración -> Acerca del teléfono y tocá la sección Número de compilación hasta que Android nos muestre el mensaje Modo desarrollador activado. Ahora, dentro de configuración, vas a ver un nuevo menú llamado Opciones de desarrollador, entra y activa la opción que dice Depuración de USB para poder usar gnirehtet en el teléfono.
Nota: Cuidado con dejar la depuración por USB activa todo el tiempo, dado que puede dejarlo vulnerable a ataques. La ubicación del número de compilación puede variar por modelo y versión de Android del celular.
ADB
Para correr correctamente Gnirehtet vas a necesitar tener ADB (Android Debug Bridge) en el directorio donde descomprimimos la herramienta.
- Para windows bajate los plataform-tools, vamos a usar algunos de esos files.
- Para sistemas basados en Debian, instala el paquete android-tools-adb.
Uso
En Windows
Descomprimir el zip que bajaste para Windows y también el de las platform-tools. Copia los siguientes archivos del ADB que descomprimiste a la carpeta donde se encuentra Gnirehtet:
- adb.exe
- AdbWinApi.dll
- AdbWinUsbApi.dll
Luego conectá el celular por USB, dale doble click al archivo gnirehtet-run.cmd y se te va a levantar el servidor de Gnirehtet.
En Linux
Instalá primero el paquete android-tools-adb. Ahora sí, donde descomprimiste Gnirehtet. Luego conectá el celular y corré por línea de comandos, dentro de ese directorio, lo siguiente: ./gnirehtet run
De cualquiera de las dos maneras, esto levanta un servidor e instala una apk dentro de tu teléfono android. Ahora vas a ver en el teléfono algo como esto:
Si le das a ok, y todo sale bien, vas a ver el ícono de una llave en tu barra de notificaciones.
¡Listo! Lo podés cortar con Ctrl+C desde la consola del server.
Nota: Puede pasar que en el celular quede corriendo el apk instalada, aseguráte de cerrarla después de ejecutar este paso.
Basado en la documentación oficial del proyecto.