martes, 3 de diciembre de 2013

Accediendo a un servidor SSH a través de un proxy con Corkscrew



Cuando un servidor proxy impide conectarse a puertos que no sean de navegación web puede usarse la herramienta Corkscrew.

En el siguiente ejemplo muestro los ficheros de configuración necesarios para realizar una conexión SSH a través de un túnel con Corkscrew sobre el proxy HTTP.

Además se incluye en los ficheros la configuración necesaria para que SSH coja un usuario en la conexión y redirija los puertos 4080 y 3128 de la máquina remota. Además, el servidor SSH de los ficheros de ejemplo escucha en el puerto 443.

El formato del fichero ".ssh/config" sería el siguiente:

Host <ip_destino>
    ProxyCommand corkscrew <proxy_host> <proxy_host> %h %p ~/.ssh/proxyauth
    LocalForward 4080 localhost:4080
    LocalForward 3128 localhost:3128
    Port 443
    User <default_user>

Y el formato del fichero ".ssh/proxyauth" sería el siguiente:

<user>:<password>

TRUCO: es posible que el proxy HTTP filtre también por nombre de máquina, con lo que al realizar la conexión SSH con la máquina es mejor usar direcciones IP. Por ejemplo, si se quiere acceder a una máquina que tenga un nombre asignado en un DNS dinámico, como DynDNS o similares, es mejor resolver primero la IP con nslookup, y después usar la IP.

OTRO TRUCO: también es posible que el servidor SSH se tenga que poner en el puerto 443 u 80, porque el proxy puede ser que permita únicamente conexiones destino a esos puertos.

--

miércoles, 6 de noviembre de 2013

Editar metadatos en ficheros de video MP4



Al igual que los ficheros MP3 de música guardan información de las canciones en las etiquetas ID3, o los formatos de ficheros JPG guardan la información de las fotografías con EXIF, los ficheros MP4 también tienen metadatos que permiten guardar información relacionada con los vídeos: fecha de creación, título, etc.

Mantener estas etiquetas actualizadas puede ser útil, por ejemplo, para mantener documentados y clasificados los vídeos familiares. Los gestores de fotografías suelen leer estos metadatos también en los vídeos para organizarlos junto a las fotografías.

Pongo aquí varios ejemplos alternativos que permiten modificar estos metadatos en ficheros MP4, en línea de comandos:

ffmpeg -i video_in.mp4 -acodec copy -vcodec copy -metadata creation_time="2013-06-27 17:50:00" video_out.mp4

avconv -i video_in.mp4 -c copy -metadata date="2013-06-27 17:50:00" video_out.mp4

AtomicParsley video.mp4 --year "2013-06-27 17:50:00"

MP4Box -itags "created=2013-06-27 17:50:00" video.mp4

Bibliografía:

http://ffmpeg.org
http://atomicparsley.sourceforge.net
http://gpac.wp.mines-telecom.fr

--

lunes, 12 de agosto de 2013

Problemas de espacio en Samsung Galaxy Ace (GT-S5830)

Lo peor de este teléfono es tener que andar lidiando constantemente con la falta de espacio en la partición de datos y aplicaciones. Por lo demás, es un teléfono que no está mal, para ser actualmente de la gama baja de Android.

Aquí comento los pasos a seguir para solucionar este problema y poder instalar todas las aplicaciones que queramos, olvidándonos de estos problemas de espacio.

La solución es para el teléfono con la versión de Android original, de fábrica, proporcionada por Samsung.

Lo primero es hacer root el teléfono. Para ello instalamos desde el modo recovery los apks de root que se encuentran en este enlace:

http://androidsu.com/superuser/

Se deben instalar los ficheros:
  • Superuser-3.1.3-arm-signed.zip
  • su-bin-3.1.1-arm-signed.zip

Instalar la aplicación Link2SD para poder pasar las aplicaciones a una partición en la tarjeta SD. Para hacer la partición se debe conectar la tarjeta SD al ordenador con un lector de tarjetas, reducir el tamaño de la partición existente, y creo una nueva partición de tipo ext2. Antes de hacer esto se debe realizar un backup de todos los datos de la tarjeta, por precaución.

Instalar la aplicación SystemCleanup que permite pasar ciertas aplicaciones de la partición de datos a la de sistema y permite también eliminar aplicaciones originales de la partición de sistema. Además, permite crear los ficheros ODEX asociados a las aplicaciones de la partición de sistema, lo que permite liberar espacio de la partición de datos (ya que si no crea estos ficheros ahí) y hacer que el teléfono vaya más rápido.

NOTA: Hay ciertas aplicaciones que interesa que estén en la partición de sistema por ser aplicaciones que usamos habitualmente y queremos que vayan más fluidas. Por lo que no conviene pasar todas las aplicaciones de la partición de datos a la tarjeta SD. Hay que intentar aprovechar el espacio libre de la partición de sistema para estos casos. Las dos aplicaciones anteriores permiten realizar estas labores de forma equilibrada.

Instalar la aplicación ES File Explorer para poder eliminar periódicamente los ficheros temporales y de log contenidos en las siguientes carpetas:
  • /cache
  • /data/anr
  • /data/dalvik-cache
  • /data/log
  • /data/local/tmp
  • /data/system/dropbox
  • /data/system/usagestats
  • /data/tombstones

Realizando estas tareas se podrá disponer de espacio para instalar prácticamente todas las aplicaciones que queramos en el móvil.

--

jueves, 2 de mayo de 2013

Copia de seguridad de DVD en Debian GNU/Linux



Este es el método que uso para hacer copias de seguridad de mis DVD.

Para instalar las herramientas ejecutamos lo siguiente:

aptitude install dvdbackup genisoimage

Y para pasar cada DVD a un fichero ISO ejecuto lo siguiente:

dvdbackup -M -o output_directory
genisoimage -dvd-video -o copia.iso output_directory

--

jueves, 24 de enero de 2013

Usar la fecha y hora de los datos EXIF para renombrar fotografías



Para organizar las fotos me gusta renombrarlas con la fecha y hora en la que fueron tomadas.
Para ello podemos usar la utilidad ExifTool de línea de comandos.

Para instalar la utilidad ejecutamos lo siguiente:

aptitude install libimage-exiftool-perl

Ejecutaremos el siguiente comando sobre la carpeta que contiene las fotografías:

exiftool '-FileName<CreateDate' -d %Y%m%d_%H%M%S%%-c.%%e .

Bibliografia:

http://www.sno.phy.queensu.ca/~phil/exiftool/
--

miércoles, 2 de enero de 2013

Joystick de PS3 (Dualshock 3 / Sixaxis) por bluetooth en Debian GNU/Linux



Este artículo explica los pasos para configurar un mando de PS3 en Linux, permitiendo que funcione como ratón y mapeando ciertos botones del mando a eventos del teclado.

Conectado con el cable, el mando de la PS3 funciona directamente en Linux, sin hacer nada, pero para que funcione por bluetooth es necesario seguir unos pasos, ya que no sigue el estándar de dispositivos de entrada de Bluetooth.

Para que funcione correctamente vamos a usar el proyecto QtSixA.

No existen paquete para Debian, por lo que debemos compilar el fuente del proyecto con los siguientes comandos:

aptitude -r install bluetooth libusb-dev libbluetooth-dev pyqt4-dev-tools libjack-jackd2-dev pkg-config checkinstall build-essential
wget http://sourceforge.net/projects/qtsixa/files/QtSixA%201.5.1/QtSixA-1.5.1-src.tar.gz
tar xfvz QtSixA-1.5.1-src.tar.gz
cd QtSixA-1.5.1
make
mkdir -p /var/lib/sixad/profiles
checkinstall
update-rc.d sixad defaults
/etc/init.d/sixad start

Conectamos el mando con el cable USB y ejecutamos el siguiente comando:

sixpair

Si obtenemos un mensaje como el siguiente todo ha ido correctamente:

Current Bluetooth master: DE:AD:BE:EF:00:00
Setting master bd_addr to: 00:1F:81:00:06:20

Ahora podemos desconectar el cable USB y pulsar el botón "PS" del joystick.

Si se ha detectado correctamente, en el log del sistema (var/log/messages) aparecerán un par de líneas como las siguientes:

Jan 2 00:36:40 mipc kernel: [ 5598.272211] usb 2-1: USB disconnect, address 3
Jan 2 00:36:48 mipc kernel: [ 5605.974295] input: PLAYSTATION(R)3 Controller (00:23:45:0A:04:37) as /devices/virtual/input/input17

Para desconectar y apagar el mando, pulsar el botón "PS" del mando durante más de 12 segundos.

Para poder usar el joystick como ratón y mapear los botones con eventos del teclado hay varias opciones.
Podemos usar la misma aplicación QtSixA, que permite definir varios perfiles para distintos juegos o aplicaciones.
Otra opción en la misma línea es usar el proyecto QJoyPad.
Y otra opción es usar las opciones que nos ofrece el propio servidor X, que es la que se describe a continuación.

El primer paso será ejecutar lo siguiente:

aptitude -r install xserver-xorg-input-joystick

Y editamos el fichero "/usr/share/X11/xorg.conf.d/50-joystick.conf" añadiendo el siguiente contenido:

Option "MapButton1" "none" # Select
Option "MapButton2" "none" # Analog left button
Option "MapButton3" "none" # Analog right button
Option "MapButton4" "key=67" # Start (F1)

Option "MapButton5" "key=111" # Up (Up)
Option "MapButton6" "key=114" # Right (Right)
Option "MapButton7" "key=116" # Down (Down)
Option "MapButton8" "key=113" # Left (Left)

Option "MapButton9" "none" # R1
Option "MapButton10" "none" # R2
Option "MapButton11" "none" # L1
Option "MapButton12" "none" # L2

Option "MapButton13" "button=1" # Triangle (Mouse left click)
Option "MapButton14" "button=3" # Circle (Mouse right click)
Option "MapButton15" "key=36" # X (Return)
Option "MapButton16" "key=9" # Square (Escape)

Option "MapButton17" "none" # PS

Option "MapAxis1" "mode=relative axis=+1x deadzone=5000" # Analog left
Option "MapAxis2" "mode=relative axis=+1y deadzone=5000" # Analog left
Option "MapAxis3" "mode=relative axis=+1zx deadzone=5000" # Analog right
Option "MapAxis4" "mode=relative axis=+1zy deadzone=5000" # Analog right
Option "MapAxis5" "mode=none" # Motion sensor
Option "MapAxis6" "mode=none" # Motion sensor
Option "MapAxis7" "mode=none" # Motion sensor

Para ver los códigos que aplican a cada tecla ejecutamos el siguiente comando:

xmodmap -pk

Ahora debemos reiniciar el servidor X y ya tenemos configurado el mando.

Bibliografia:

http://qtsixa.sourceforge.net/
http://www.pabr.org/sixlinux/sixlinux.en.html
http://www.raspians.com/Knowledgebase/ps3-dualshock-controller-install-on-the-raspberry-pi/
http://www.x.org/archive/X11R7.5/doc/man/man4/joystick.4.html
http://qjoypad.sourceforge.net/

--