Servidor Local Node.js en Android con Termux y Compartir Wi-Fi e Internet...

Iniciado por @XSStringManolo, 30 Enero 2020, 06:05 AM

0 Miembros y 1 Visitante están viendo este tema.

@XSStringManolo

Guía como instalar un servidor local node.js en Android con termux. Compartir Wi-FI. Compartir Internet.

Dispositivos:
* M503 JUST5 2017 Android 7.0 (Servidor)
* Cualquier dispositivo que se pueda conectar a una red Wi-Fi y tenga un navegador u otras alternativas. (Cliente)

Características:
☆Funciona offline.
☆Funciona simultaneamente en múltiples dispositivos (En mi caso soporta 10 por cada Hotspot).
☆Tiene acceso compartido a internet con una sola SIM.

Utilidades:
♡Utilizar un Android de servidor.
♡Compartir internet y otros recursos.
♡Dar utilidad a dispositivos abandonados.
♡Desarrollar con node.js en Android o testear applicaciones.
♡Subir directamente desde Android una aplicación nodejs a Heroku (hosting online) o a github.
♡Utilizar otro tipo de aplicaciones o lenguajes de programación desde la terminal.

Necesario:
!! Conexión a Internet en uno de los 2 dispositivos. Preferiblemente en el servidor, pero es válido si solo tienes en el cliente y compartes internet hacia el servidor para hacer la instalación.
!! Compatibilidad de Termux en el servidor.
!! Tener Zona Wi-Fi. (Preferible, hay varias alternativas. Bluethooth, wi-fi direct/wi-fi p2p, tener un router disponible para conectar ambos dispositivos a la misma red local, etc)

Instrucciones:
1) Descargar e instalar termux en el dispositivo servidor:
https://play.google.com/store/apps/details?id=com.termux

2) Instalar npm y node.js:
Código (bash) [Seleccionar]
pkg install nodejs

3) Opcional. Instalar otro software que te resulte útil. vim, git, cat, nano...
Código (bash) [Seleccionar]
apt install nano

4) Crea una carpeta por comodidad y crea tu archivo de javascript:
Código (bash) [Seleccionar]
mkdir dev
cd dev
nano miServidor.js


5) Introduce el código de la aplicación. (Ejemplo de la web W3schools):
Código (javascript) [Seleccionar]
var http = require('http');
var url = require('url');
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/html' });
var q = url.parse(req.url, true).query;
res.end(txt); }).listen(8080, '192.168.43.1');


Con nano se guarda dándole a control y después a la letra o.
Para salir de nano control y después x.
Se le puede dar directamente a control y después a x. Te pregunta si quieres guardar. Le das a la letra y para confirmar. Te pide el nombre, le das a enter para confirmar el mismo nombre y ya vuelves a la terminal.

En mi caso la url por defecto del Android Wi-Fi Hotspot es 192.168.43.1 o mobile.hotspot.

6) Activar dun:
En mi Android está en Ajustes -> Más -> Conexiones Inalámbricas y Redes -> Redes móviles -> APN -> Telefónica Internet (El que tengas activado) -> Tipo de APN.
Al darle a Tipo de APN tenemos que añadir dun siguiendo el formato actual. Por ejemplo si pone defualt,supl le ponemos:
Código (APN) [Seleccionar]
default,supl,dun
Aceptamos los cambios. Arriba a la derecha hay un botón de 3 puntos que muestra las opciones de Guardar o Descartar. Pulsamos el botón y pulsamos Guardar. Aceptamos de nuevo si sale una alerta.

7) Activar Hotspot/Zona Wi-Fi/Compartir Internet:
Ajustes -> Más -> Compartir Internet y zona Wi-Fi -> Crear punto de acceso Wi-Fi.
Se activa al pulsar una vez. Tarda unos segundos.

8) Ejecutar el archivo miServidor.js:
Abrimos la terminal, nos vamos a la ruta donde se encuentre el archivo que creamos anteriormente (no necesario si no se finalizo la aplicación de termux).
Código (bash) [Seleccionar]
node miServidor.js
No debería salir ningún mensaje de ningún tipo. Solo desaparece el símbolo del $ de la terminal. No debería de volver a aparecer. (Si en algún momento se quiere cerrar la instancia de node y volver a la terminal, usar control y después la letra c.

9) Conectarse a la red Wi-Fi desde cualquier dispositivo:
Es como conectarse a cualquier red Wi-Fi. Si pide contraseña, viene en los ajustes del dispositivo que actua de servidor. En donde activaste la zona Wi-Fi debe haber algún menú de configuración. Si la modificas es posible que se cierre la zona Wi-Fi automáticamente o se necesite cerrar para que se apliquen los cambios. En ese caso es normal que salga error en la consola de termux y se necesite volver al paso anterior número 8.

10) Abrir cualquier navegador y escribir:
192.168.43.1:8080?year=funciona&month=xD

Funciona tanto en el propio servidor, como en cualquier otro dispositivo que se conecte a la Zona Wi-Fi.
Estos dispositivos que se conectan también tienen acceso al internet del dispositivo servidor.
Una vez conectado a la zona Wi-Fi tienes acceso a internet sin ninguna configuración extra.