Entradas

Tunneling SSH

Durante el desarrollo de software nos vemos a la necesidad de usar ambientes simulando los de producción o conexión a base de datos, en algunos otros casos acceder a servicios de servidores remotos que no funcionan mas que de forma local, para ellos el protocolo SSH puede ser usado para crear tuneles.  Es una funcionalidad que no podemos pasar  inapercibido en nuestro trabajo del día a día. Que necesitas ? Un servidor al cual tengas acceso y puedas conectarte a través de SSH, Este puede ser cualquier equipo o servidor que tenga instalado SSH. Verificar que el puerto que quieras utilizar para crear el tunel no este siendo utilizado por otra aplicación.  Como crear el tunel ? Una vez que ya tengas decidido que puerto utilizar y a que servidor conectarte lo único que necesitaras es ejecutar la siguiente linea de comando.  /:$  ssh -N -R 8080:localhost:80 usuario@servidor.com  explicando un poco lo que se realiza con el comando: ssh -N -R => Es el inicio

WebRTC para transmisión de mediastreaming.

Qué es WebRTC? WebRTC es un proyecto abierto y gratuito que ofrece a los navegadores y aplicaciones móviles capacidades de comunicación en tiempo real (RTC) a través de API simples. Es una tecnología relativamente nueva que pretende cambiar el Internet  pero que ya es ampliamente usado por Mozilla,  OpenTok de Telefonica, entre muchos mas. Las ventajas de usar estas tecnologias, es que evitamos usar plugins o extensiones en navegadores para usar Video y telecomunicaciones en tiempo real.  Cómo funciona? Los componentes  principales del WebRTC son: getUserMedia, que permite a un navegador web acceder a la cámara y el micrófono PeerConnection, que establece las llamadas de audio / vídeo DataChannels, que permiten a los navegadores a compartir datos a través de peer-to-peer. Característica WebRTC Señalización Sin definir Medios RTP/RTCP Codecs de voz G.711 y Opus Codecs de vídeo VP8 Seguridad de los medios SRTP Utilizando NodeJS se puede crear un servidor

Mosquito con WS sobre apache2

Instalar Mosquitto con Websockets Primero debemos instalar mosquitto con compatibilidad para websockets, en esta entrada esta enfocada para Ubuntu, para puedes consultar esta entrada para opensuse . Instalando dependencias. $ sudo apt-get update $ sudo apt-get install build-essential python quilt devscripts python-setuptools libssl-dev cmake libc-ares-dev uuid-dev Instalando libwebsockets $ wget https://github.com/warmcat/libwebsockets/archive/v1.3-chrome37-firefox30.tar.gz $ tar zxvf v1.3-chrome37-firefox30.tar.gz $ cd libwebsockets/ $ mkdir build $ cd build/ $ sudo cmake .. -DOPENSSL_ROOT_DIR=/usr/bin/openssl $ sudo make $ sudo make install Descarga el código de mosquitto. $ wget http://mosquitto.org/files/source/mosquitto-1.4.2.tar.gz $ tar zxvf mosquitto-1.4.2.tar.gz $ cd mosquitto-1.4.2 Edita el archivo config.mk cambiando la siguiente linea: WITH_WEBSOCKETS:=no A WITH_WEBSOCKETS:=yes $ sudo make $ sudo mak

Llamando Java desde C

Una de las cosas interesantes que puedes hacer con Java es la posibilidad de utilizar JNI (Java Native Interface) que nos permite crear librerías desarrolladas en C especificas para un Hardware o arquitectura y utilizarlas desde la JVM, para mejorar la eficiencia de nuestros programas cuando se trata de poder de procesamiento. Pero en esta ocasión intentaremos algo un poco distinto. Que necesitamos: Conocimiento en lenguaje C Un entorno de desarrollo. gcc. JDK Un editor como VIM. Paciencia para no terminar destruyendo la maquina :) Oracle ya cuenta con una documentación realmente muy bien explicada, ademas de que la API es intuitiva, mas si anteriormente haz programado en Java, la puedes consultar en el siguiente enlace: http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html Primero necesitaremos la libreria jni.h que debemos buscar, si tienes una maquina de 64 bits se encontrara en /usr/lib/jvm/java-7-oracle/include/ Ahora que ya tenemos lo

Instalar Mosquitto en opensuse (con soporte para websockets)

   ¿Que es Mosquitto? Para los que no saben que es mosquitto. E s una implementacion de código abierto  intermediario de mensajes que implementa los MQ Telemetry Transporte (MQTT)  MQTT proporciona un método de llevar a cabo la mensajería mediante un modelo de publicación / suscripción. Esto hace que sea adecuado para la comunicación  "máquina a máquina" de mensajería como con sensores de baja potencia o dispositivos móviles como teléfonos, ordenadores integrados o microcontroladores como el Arduino.  MQTT puede ser usado para desarrollos de Internet of Thing (IoT), para la comunicación entre dispositivos, como pueden ser wearables, smartphones. Dependencias  Para la instalación en opensuse requerimos de las siguientes dependencias.   # zypper install cmake  libopenssl-devel mercurial uuid-devel libuuid-devel libxslt1 docbook-xsl-stylesheets docbook5-xsl-stylesheets git gcc-c++ gcc python-pip  INSTALAR libwebsockets # git clone https://github.c