Manel's picture

Huelga por una informática digna

Huelga por una informatica digna

Os informo de que el día de hoy hay convocada en España una huelga de informáticos en defensa de la dignidad de la profesión.

Évidentemente desde aquí nos solidarizamos con el colectivo y apoyamos todas las reivindicaciones, que esperamos consigan lo antes posible
Manel's picture

Sincronizar el calendario y los contactos de un Movil/PDA con Windows Mobile contra eGroupWare

FinchSync Sincronizar el calendario y los contactos de un Movil/PDA con Windows Mobile contra eGroupWare

* En resumen es esto:

Teléfono/PDA
eGroupWare
Contactos
eGroupWare Contactos
Calendario
eGroupWare Calendario

Vamos a tener sincronizados la agenda de contactos y el calendario de eGroupWare con la información de nuestro teléfono/PDA con Windows Mobile.

PRERREQUISITOS:


CALENDARIO.

Al sincronizar con Mozilla (Thunderbird + Lightning ó Sunbird) habremos creado unos ficheros .ics, estos son los ficheros que necesitamos para cargarlos en eGroupWare. El procedimiento es el siguiente:

  1. Actualizar el fichero .ics. Para ello seguiremos lo indicado en Sincronizar con Mozilla.
  2. Cargar el fichero en eGroupWare.
    1. Accedemos en eGroupWare al calendario y buscamos: "Importar: iCal & CSV". 
    2. Seleccionamos iCal y le indicamos la ruta del fichero .ics. Con esto ya tendremos cargado el calendario del SmartPhone, Pocket ó PDA.
Calendario
Importar iCal


CONTACTOS

Este tema es un poco más complicado pero tampoco es demasiado difícil. Con los pasos seguidos en Sincronizar con Mozilla habremos obtenido un fichero .mab, lo que ocurre es que eGroupWare no lo soporta, pero afortunadamente sí que soporta el formao .LDIF de Mozilla, con lo que siguiendo los siguientes pasos también lo tendríamos:

  1. Abrimos con Thunderbird el fichero .mab que hemos obtenido de sincronizar con el dispositivo con Windows Mobile.
  2. Exportamos la libreta de direcciones a .LDIF.
  3. Cargar el fichero en eGroupWare:
    1. Accedemos en eGroupWare a la Libreta de Direcciones y buscamos "Importar contactos".
    2. Seleccionamos tipo de conversión "Importar desde Mozilla".
    3. Indicamos la ruta del fichero .ldif y cargamos los contactos en eGroupWare.



Contactos Importar






Contactos Formato
Importar contactos Importar desde Mozilla
Manel's picture

Sincronizar el calendario y los contactos de un Movil/PDA con Windows Mobile contra Thunderbird, Sunbird y lightning

FinchSync Sincronizar el calendario y los contactos de un Movil/PDA con Windows Mobile contra Mozilla.

* En resumen es esto:

Teléfono/PDA
Mozilla
Contactos
Contactos de Mozilla Thunderbird
Calendario y notas
Mozilla Thunderbird + lightning ó Mozilla Sunbird(*)

Vamos a tener sincronizados la agenda de contactos, el calendario y las notas de nuestro PC en el que usamos aplicaciones Mozilla con nuestro teléfono móvil ó PDA con Windows Mobile.

(*) Desambiguación: Mozilla Thunderbird + lightning ó Mozilla Sunbird...

Mozilla Thunderbird es un cliente de correo, desde la fundación Mozilla se ha trabajado en dotar a esta aplicación de una aplicación calendario y  para ello existen dos posibilidades:

- extensión lightning: es una extensión de Thunderbird y se integra la aplicación de notas y calendario dentro del mismo Thunderbird.
- Mozilla Sunbird: es una aplicación externa a Thunderbird con prácticamente la misma funcionalidad que la extensión lightning, no requiere Thunderbird para funcionar.

Independientemente de que usemos Mozilla Thunderbird+lightning ó Mozilla Sunbird, la forma de sincronizar va a ser idéntica.

PRERREQUISITOS:

* Necesidad de acceder a un puerto mediante TCP/IP al dispositivo móvil:

Necesitamos poder hacer llamadas vía un puerto sobre TCP/IP desde el Móvil/PDA hacia el PC, para esto hay diferentes alternativas:

- MS Activesync (no lo voy a comentar) con USB, bletooth.
- WLAN.
- acceso mediante una conexión a Internet...

* FinchSync.

FinchSync es una herramienta en Java que nos permitirá realizar la sincronización, es una aplicación en la que configuraremos la ruta local donde están nuestros datos y que arrancará un servidor vía el cual se conectará el Móvil/PDA para recopilar los datos.

Tiene dos partes:

- servidor (PC): está escrita en Java.

Server

- cliente (dispositivo móvil): está escrita en C#.

Client

Descargarlo:

http://www.finchsync.com/download.html  y
http://www.finchsync.com/docu_client.html

Instrucciones para instalarlos.

LOS FICHEROS DE DATOS:

Vamos a crear los ficheros de datos del PC.

* Calendario: Crear el fichero .ics.

De http://mozillaes.org/documentacion/index.php?title=Uso_b%C3%A1sico_(Mozilla_Sunbird):

El formato ICS es muy común y algunos productos (como sincronizadores con PDAs) lo usan con frecuencia. Mozilla Sunbird/Lightning permiten exportar fácilmente un calendario a formato ICS, pero internamente usan SQLite para guardar los datos, de manera que hay que exportar el calendario cada vez que se quiere sincronizar con otro producto basado en ICS. No obstante, se puede crear un calendario guardado directamente en formato ICS siguiendo estos pasos:

  • Abra Sunbird (o Mozilla Thunderbird con Lightning).
  • Abra SeaMonkey Suite, Mozilla Firefox, Camino u otro navegador (lo usaremos para determinar la URL local file://..., así que intenta evitar Internet Explorer, que probablemente cambiará automáticamente a la notación de ruta de archivos DOS/Windows).
  • Cree un nuevo calendario (Archivo -> Nuevo calendario).
  • Selecione "En la red" y pulse Siguiente.
  • Pase al navegador.
  • Abra un archivo local (en SeaMonkey Suite/Mozilla Firefox, Archivo -> Abrir archivo) en el mismo directorio donde quiera ubicar los datos de su calendario. Para que resulte más fácil, copie primero en ese directorio un archivo HTML cualquiera o una imagen JPG, PNG o GIF, para que el navegador muestre el archivo directamente.
  • Una vez tenga la página web o la imagen visualizada en el navegador, haz clic en la barra de direcciones y copie toda la URL (file:///home/usuario/Ofimatica/imagen.jpg).
  • Pase de nuevo a Mozilla Sunbird/Lightning.
  • En la ventana del asistente, seleccione "iCalendar (ICS)", pegue la URL que ha copiado del navegador, y sustituya el nombre del archivo del final por el que quiera que tenga su calendario (p.e.: file:///home/usuario/Ofimatica/calendario.ics). Pulse Siguiente.
  • De un nombre al calendario y escoja un color (si así lo desea), y pulse "Siguiente".
  • Ya tiene el calendario creado, con almacenamiento en ICS.
* Contactos: El fichero .mab.

Mozilla Thunderbird guarda los datos dentro de la carpeta del perfil (de  http://www.mozillaes.org/documentacion/index.php?title=Perfil_%28Mozilla_Thunderbird%29#.C2.BFD.C3.B3nde_guarda_Mozilla_Thunderbird_los_perfiles.3F):

  • Windows 9x/Me: C:\Windows\Datos de Programa\Thunderbird\Profiles\<Nombre del perfil>\
  • Windows NT 4.x: C:\Winnt\Profiles\<Nombre de usuario Windows>\Datos de Programa\Thunderbird\Profiles\<Nombre del perfil>\
  • Windows 2000/XP: C:\Documents and Settings\<Nombre de usuario Windows>\Datos de Programa\Thunderbird\Profiles\<Nombre del perfil>\
  • Windows Vista: C:\Users\<Windows login/nombre usuario>\AppData\Roaming\Thunderbird\Profiles\<Nombre del perfil>\
  • GNU/Linux: ~/.thunderbird/<Nombre del perfil>/
  • MacOS X: ~/Library/Thunderbird/Profiles/<Nombre del perfil>/ o bien esta otra: ~/Library/Application Support/Thunderbird/Profiles/<Nombre del perfil>/
Dentro de la carpeta del perfil estará el fichero .mab con los contactos.

CONFIGURAR FICHSYNC EN EL SERVIDOR (PC).

Aquí está toda la documentación (http://www.finchsync.com/docu.html).

Resumido es hacer esto.

01. Ejecutar FinchSync.
02. 'File/Server Configuration': introducir puerto (8080 está bien generalmente), usuario y password para poder conectarse desde el dispositivo móvil.
03. Test. Conectarnos con un browser a: http://ip_nuestra:puerto/status pej. http://192.168.200.1:8080/status
04. Añadir las fuentes que tenemos (el .ics y el .mab). En la pestaña "Sync sources", Add y añadir el .mab como Contact y el .ics como Appointment/Tasks. Activar "Block Aplication".
05. Dar de alta un usuario y asignarle las fuente que puede actualizar. Pestaña Clients. En el caso de "Conflict solving" yo tengo puesto "Client wins" pero según el caso a alguien le puede interesar "Server wins".

CONFIGURAR FICHSYNC EN EL CLIENTE:

01. Dar de alta el servidor de sincronización. Config/Server Add. Aquí lo que importa es la IP/Puerto que deben ser la IP/Puerto de donde tenemos el servidor de FinchSync arrancado, el usuario/password deben ser también los que hemos configurado previamente. Normalmente alias va en blanco a menos que tengamos interés en hacer combinaciones de varias fuentes/clientes de datos (varias PDAs...), para eso mirar (http://www.finchsync.com/docu_client.html).
02. Categorías. Es necesario para poder sincronizar. Hay que añadar una categoría para cada uno de los tipos de fuentes que vamos a querer sincronica, por lo tanto una categoría para contactos y otra para Agenda/Tareas. Config/Category Mapping. Contactos (type: Contact, Category: Default, Mapped to: <el nombre que le hemos dado a la fuente, nos saldrá en el desplegable), Calendario (App/Task, Default, el nombre que le hayamos dado).

SINCRONIZAR:

01. Arrancat FinchSync en el PC.
02. Arrancarlo en el cliente y lanzar la sincronización.

Si se produce algún error nos puede mostar por pantalla el log.
Manel's picture

Mantener un dominio propio con una IP dinámica (DDNS)

De IP fija a IP dinámica.

Hasta ahora he tenido la suerte de contar con acceso a Internet mediante una IP fija (ya.com) y en casa tengo levantados unos servios Web, correo... pero recientemente nos hemos mudado a otra ciudad y por temas de disponibilidad geográfica de conexión me he visto obligado a cambiar de operador y contratar el servicio con uno que sólo ofrece IP dinámica a empresas (ONO) y a un precio muy alto ya que incluye varias líneas y otros servicios útiles para empresas pero no para particulares.

El Problema de la IP dinámica

Una dirección IP dinámica es una IP asignada mediante un servidor DHCP (Dynamic Host Configuration Protocol). La IP que se obtiene tiene una duración máxima determinada. Con lo que si tenemos dominios que apuntan a este tipo de IPs y la IP cambia dejarán de funcionar hasta que actualicemos la IP a la nueva, esto hace inviable el uso de los servidores DNS estándares que tardan en algunos casos varios minutos en actualizar la IP a parte de que nos obligaría a estar monitorizando continuamente si nos ha cambiado la IP.

DDNS

Un DDNS (ó DNS Dinámico) resuelve el problema de tener actualizado el dominio al permitir en tiempo real actualizar el servidor de nombres. En la parte cliente un programa se encargará de avisar el DDNS de que la IP ha cambiado.

Los problemas que me he encontrado

A) mantener los dominios propios: tengo dominios contratados con guebs.com y deben seguir operativos, los dominios gratis de dyndns, no-ip... no me sirven, quiero seguir usando los míos.

B) El servidor de correo no va: mi SMTP al tener una IP que ONO asigna de manera dinámica está marcada como "non-grata" así que aparece en las listas negras y los servidores a los que hago el envío de correo me lo rechazan. Necesitaré hacer relay a otro servidor desde el mío y que este haga la entrega a los servidores destino.

C) Actualizar el DDNS. Tengo que ir avisando de mi nueva IP. Además uso un router y mi ipconfig no registra la IP pública sino la local (esto lo tendremos en cuenta al configurar ddclient).

Solución

A) Dominios propios.

dyndns ofrece dominios gratis, esta solución no me sirve, yo quiero seguir usando los míos, para ello los pasos son los siguientes:

01- contratar CustomDNS a dyndns: para pder registrar mis dominios en sus servidores DDNS.

02- Apuntar los servidores DNS de dyndns: tenemos que registrar en estos servidor nuestros registros de dominios y dejar de hacerlo en los de guebs. En dyndns nos indicarán cuál es la IP de los servidores DDNS donde se van a registrar nuestros dominios.

03- En guebs.com (ó el servicio que sea) es necesario delegar los DNS de dyndns. Así que en guebs.com indicaremos las IPs de los servidores que nos han dado en dyndns.

B) Relay para Servidor de correo SMTP..

He contratado Outbound server para que se ocupe de hacer el relay.

Después siguiendo las indicaciones de dyndns he configurado postfix con mi usuario, contraseña y el servidor.


C) Actualización de la IP dinámica.

He tenido que tener en cuenta que no me sirve actualizar la IP en el DDNS por la que esté configurada en la interfaz de red (eth0) ya que es una IP privada siempre sino que lo tengo que actualizar con la IP Pública, para ello en el ddclient.conf he puesto "use=web".

A continuación la configuración de ddclient.

sudo apt-get install ddclient

sudo more /etc/ddclient.conf

pid=/var/run/ddclient.pid
protocol=dyndns2
#use=if, if=eth0
use=web
server=members.dyndns.org
login=xxxxx
password='xxxxxx'
nosotrosmismos.dyndns.org, libresoftware.dyndns.org, www.nosotrosmismos.org, webmail.nosotrosmismos.org, nosotrosmismos.org, album.nosotrosmismos.org, catalogo.nosotrosmismos.org, estadisticas.nosotrosmismos.org, p2p.nosotrosmismos.org, rss.nosotrosmismos.org, libresoftware.com, estadisticas.libresoftware.com, jabber.libresoftware.com, jwchat.libresoftware.com, sitebar.libresoftware.com, www.libresoftware.com


Manel's picture

Software Libre en Campus Party: Valencia del 23 al 29 de julio

César Sáiz de la Campus Party me ha pasado este texto sobre contenidos del área de Software Libre del evento. La Campus Party lleva la 11 ediciones y es la mayor de España, se celebrará en Valencia del 23 al 29 de Julio.

"""
"Una semana de auténtico lujo para los amantes del software libre

Talleres, competiciones y conferencias para Campus Party 2007, que se
celebrará del 23 al 29 de julio en Feria Valencia.

La presencia más destacada será la de Jon Maddog Hall, todo un
referente dentro de la comunidad del software libre. Hall es Director
Ejecutivo de Linux Internacional, una organización sin ánimo de lucro
dedicada a apoyar y promover el uso del sistema operativo Linux. Se
trata de una de las personas más reconocidas de la comunidad de
programadores y un líder del movimiento de código abierto. En los
Premios Británicos de Linux y Código Abierto de 2006 fue galardonado
con el Premio de Reconocimiento a toda una Vida por sus servicios a la
comunidad. Su conferencia en Valencia girará en torno a clientes
livianos y sus beneficios, analizando los problemas que ha tenido el
ordenador frente al teléfono (como el precio o la velocidad de
conexión). Asimismo, tratará las soluciones que se pueden ofrecer a
través de la cooperación y de una buena planificación, y cómo
hacer
que el software libre resulte rentable para los programadores y la
sociedad.

Otra de las ponencias más esperadas es la del brasileño Marcelo
Tosatti, quien presentará One Laptop per Child y hablará sobre el
futuro y las expectativas que han surgido entorno a este ordenador
desde su perspectiva como desarrollador de software. El impulsor de
este proyecto ha sido Nicholas Negroponte quien desde el MIT
(Instituto Tecnológico de Massachussets) lanzó la idea de crear una
herramienta educativa para los niños de los países más pobres.
Gracias a este ordenador, los niños aprenden más fácilmente a través
de la interacción y cuentan con la posibilidad de conocer lo que está
sucediendo en el resto del mundo. Este peculiar portátil ha sido
diseñado por expertos del mundo académico y de la industria. El
resultado es un modelo de bajo coste y con la energía suficiente para
que estos países den un salto cualitativo en materia de desarrollo
tecnológico.

Y si el ordenador de los 100 dólares despertará expectación, las
palabras de Marcelo Branco (uno de los mayores impulsores del
movimiento del software libre en Brasil) resultarán muy ilustrativas
acerca de las posibilidades del software libre en el futuro. Branco es
profesional en el ámbito de la Tecnología de la Información desde
hace 26 años y actualmente es asesor para la Estrategia de Software Libre
en el Gobierno de la Generalitat de Catalunya. Además coordina el
proyecto "Red Internacional de las Administraciones Públicas por el
Software Libre". En su conferencia Sociedad en Red y el Software libre
hablará de que la revolución digital no es sólo tecnológica
como creen algunos, sino que también supone un nuevo nivel en las relaciones
humanas y, por lo tanto, apunta nuevas formas de organizaciones
sociales. La nueva sociedad que está surgiendo de las "relaciones
sociales en red" no tiene la garantía de un mundo más justo e
igualitario.

Además de estas conferencias conoceremos los aspectos más destacados
del Summer of Code de Google, y se presentarán modelos de negocios de
software libre, donde los campuseros descubrirán las claves para hacer
del software una profesión de futuro de la mano de Corintel (
Accenture). En esta edición se ha ampliado la oferta de formación a
través de los minitalleres, con los cuales se conseguirá ahondar y
profundizar en los temas que más interesen a los campuseros. Como
novedad este año existe un taller a la carta con el que podrán decidir
por votación el tipo de taller que les gustaría que se realizara.

Los campuseros podrán poner a prueba todos los conocimientos y
destrezas que se hayan adquirido en los talleres con las
competiciones. Diferentes niveles de dificultad y una amplia variedad
de temas como:

- Seguridad, asaltando varios sistemas de seguridad se tratará
de comprender la mentalidad de los hackers.

- Criptografía, los participantes intentarán descifrar
distintos mensajes codificados mediante sistemas de criptografía.

- Programación. Retos

Otros talleres presentes en Campus Party 2007 dentro del Área Software
Libre serán:

- Linux Para Todos ( Open Office)

- Linux y sus distribuciones

- Instalación Ubuntu

- Criptografía,

- Juegos en Software Libre

- Multimedia en Software libre, etc., "
"""

Manel's picture

Dia del Orgullo Friki

A pesar de que no suelo leer comics, hace años que tampoco juego a rol (reconozco que alguna vez lo hice), no tengos espadas láser y nunca me ha apasionado Star Trek, he de decir que me considero un friki, pero es que para mi eso es un orgullo, aunque por el mal uso que se le hace a la palabra igual habría que buscar otra como entusiasta o aficionado... 

Estoy orgulloso por pasar de las modas absurdas que nos imponen los medios, orgulloso de escuchar música que casi nadie conoce pero cuando lo escuchan me preguntan, ¿ oye qué grupo es ese ? y yo les digo, "pues son un grupo que hace música bajo Creative Commons, y que son muy buenos". También confieso que paso de monopolios, nunca como en fastfoods, uso Debian (desde hace la tira), participo en proyectos de Sw Libre, hago copias de seguridad, tengo servidores de correo, Web, DNS... en casa... y de todo esto estoy muy orgulloso.

Así que digo sin verguenza, soy friki, y me siento orgulloso de ello.

Y para dar un poco de colorido al post voy a poner tres fotos de cosas de casa que me ha parecido que podían incluirse aquí: figuritas de Jason Vs Freddy y una fotos del "Sistema eléctrico" de mi CPD casero.

a
Freddy
b
Jason
c
El "corazón" del CPD

Manel's picture

Jabber + gTalk + MSN con el mismo cliente y con acceso Web

Jabber y gtalk vía Web:

Motivación: "No me fío un pelo de los servicios gratuitos que me ofrecen empresas privadas".

Objetivo:

- comunicarme con mis amigos de gtalk, jabber y MSN.
- No usar ningún servidor Jabber externo.
- No crear ninguna cuenta gmail.
- No necesitar instalar ningún cliente (quiero usar mi Sw en cualquier sitio): usaré un cliente Web.

Necesitaremos:

- Instalar un sevidor jabber.
- Instalar un transporte MSN.
- Instalar JwChat (client Web).

01. Instalando el servidor de jabber.

apt-get install ejabberd erlang-base erlang-nox

en el bind he dado de alta:

jabber.libresoftware.com

También he ido a la página de gestión de mi dominio (libresoftware.com) y desde allí he registrado este dominio en el DNS:

jabber.libresoftware.com.

Pondré como Host de ejabberd este mismo: jabber.libresoftware.com

También creo el usuario administrador del mismo.

Accedo a la interfaz Web de configuración para ver que todo va bien:

http://jabber.libresoftware.com:5280

# OJO: el usuario es el que hemos indicado poniendo @NOMBRE_DEL_SERVER

02. Puertos

Es necesario abrir en el router el puerto: 5269 para poder establecer
comunicaciones entre servidores de jabber.

03. Cliente.

Para hacer pruebas he instalado gaim en mi Desktop y he probado a añadir
colegas de gtalk y colegas de jabber y todo OK.

04. OJO.

Importante: lo más crítico para que funcione la conexión entre
servidores externos es asegurarse que el puerso 5269 está abierto y
que en el registro del DNS está también dado de alta el servidor, que debe
coincidir con la variable hosts del fichero de configuración
de ejabberd: /etc/ejabberd/ejabberd.conf

Y una línea como esta:

"""
{mod_disco, [{extra_domains, ["users.jabber.org", "www.libresoftware.com"]}]},

"""

05. JWCHAT.

Bajamos jwchat

http://jwchat.sourceforge.net/download.shtml

En /var/www/jwchat dejamos el contenido de lo que nos hemos bajado.

Activamos los siguientes mods en apache2:

a2enmod proxy
a2enmod proxy_html
a2enmod rewrite

En /etc/apache2/conf/jwchat.conf ponemos:

<VirtualHost *>
ServerName jabber.example.com
DocumentRoot /var/www/jwchat
<Directory /var/www/jwchat>
Options +Indexes +Multiviews
</Directory>
AddDefaultCharset UTF-8
RewriteEngine on
RewriteRule http-poll/ http://127.0.0.1:5280/http-poll/ [P]
</VirtualHost>

Modificamos el fichero /var/www/jwchat/config.js con el nombre del server, en mi
caso jabber.libresoftware.com:

var SITENAME = "jabber.libresoftware.com"
var DEFAULTCONFERENCESERVER = "conference.jabber.libresoftware.com";
var DEBUGJID = "manel@nosotromismos.org"; // which user get's debug
messages

06. Transporte para MSN (otro programa Python, cómo no!!).

wget -c http://delx.cjb.net/pymsnt/tarballs/pymsnt-0.11.2.tar.gz
tar xfvz pymsnt-0.11.2.tar.gz
apt-get install python-twisted python-imaging python-crypto python-pyopenssl
cp config-example.xml config.xml

He modificado sólo esto en config.xml:

"""
<jid>www.libresoftware.com</jid>
<spooldir>/mnt/compact/PyMSNt</spooldir>>
<website>http://jabber.libresoftware.com</website>
"""

y en ejabberd, /etc/ejabberd/ejabberd.cfg:

"""
% MSN Transport
{5557, ejabberd_service, [{ip, {127, 0, 0, 1}},
{access, all},
{host, "www.libresoftware.com", [{password, "secret"}]}]},
"""
Manel's picture

Freevo PVR

Instalando y configurando Freevo (mando inalámbrico + TDT + Teleprograma + Pelis + Musica + Fotos + Mame)

Ha quedado guapo, guapo. Freevo es un PVR desarrollado en Python, a continuación explicaré cómo lo he instaldo y configurado con soporte a:

- TDT.
- Teleprograma.
- Reproducción de pelis.
- Reproducción de música.
- Visionado de Fotos.
- Juegos (MAME).
- Mando inalámbrico para el control de la interfaz.
- Reproducción automática de CDs y DVDs.
- Programador de grabaciones.

01. Instalación de Freevo.

He bajado:

wget http://puzzle.dl.sourceforge.net/sourceforge/freevo/freevo-1.7.0.tar.gz
wget http://kent.dl.sourceforge.net/sourceforge/freevo/kaa-base-0.1.2.tar.gz
wget http://heanet.dl.sourceforge.net/sourceforge/freevo/kaa-imlib2-0.2.0.tar.gz
wget http://switch.dl.sourceforge.net/sourceforge/freevo/kaa-metadata-0.6.0.tar.gz

Ahora a compilar los fuentes:


tar xfvz kaa-base-0.1.2.tar.gz
cd kaa-base-0.1.2/

A la hora de compiar he visto que me hacían falta unos cuantos paquetes, así que lo habitual:

sudo apt-get install python-dev
sudo apt-get install gcc
sudo apt-get install libglibmm-2.4-dev

Seguimos compilando:

sudo python setup.py install

tar xfvz kaa-imlib2-0.2.0.tar.gz
cd kaa-imlib2-0.2.0/

Lo mismo de antes, más dependencias:

sudo apt-get install libimlib2
sudo apt-get install libimlib2-dev

A compilar:

sudo python setup.py install

tar xfvz kaa-metadata-0.6.0.tar.gz
cd kaa-metadata-0.6.0/
sudo python setup.py install

wget http://www.crummy.com/software/BeautifulSoup/download/BeautifulSoup.tar.gz
tar xfvz BeautifulSoup.tar.gz
cd BeautifulSoup-3.0.3/
sudo python setup.py install

Finalmente la compilación de Freevo:

cd freevo-1.7.0/

sudo apt-get install python-elementtree
sudo python setup.py install

cd .freevo/
cp /home/mcebolla/Desktop/freevo-1.7.0/local_conf.py.example .
mv local_conf.py.example local_conf.py
sudo mkdir /var/cache/freevo
sudo chmod 777 /var/cache/freevo/

sudo apt-get install python-pygame
sudo apt-get install python-imaging
sudo apt-get install python-twisted
sudo apt-get install python-mmpython
sudo apt-get install python-pylirc
sudo apt-get install mplayer xine-ui xmltv tvtime

02. TDT.

Mi tarjeta es una WinTV Nova-T USB 2.0

Yo lo he hecho con un 2.6.17-50.

aptitude install build-essential mercurial linux-headers-`uname -r` dvb-utils libxine-extracodecs

hg clone http://linuxtv.org/hg/v4l-dvb

cd v4l-dvb

make
make install

cd /lib/firmware/`uname -r`

wget http://vaasa.wi-bw.tfh-wildau.de/~pboettch/home/files/dvb-usb-dib0700-01.fw


03. Teleprograma.

1. Crear el fichero de canales para mplayer

/usr/share/doc/dvb-utils/examples/scan/dvb-t/es-Collserola > ~/.mplayer/channels.conf

2. Test

mplayer dvb://laSexta

2. El xmltv para freevo.

He hecho un script que he metido en el cron.

#!/bin/sh

/usr/bin/tv_grab_es --output `date +"$HOME/freevo/xmltv/listings_%d%m%Y.xml"` --days 1
rm /tmp/TV.xml
ln -s `date +"$HOME/freevo/xmltv/listings_%d%m%Y.xml"` /tmp/TV.xml

4. Configuracion de freevo

hacer:

freevo tv_grab
freevo tv_grab --query

y obtendremos un esqueleto

TV_CHANNELS = [
    ( '01.elpais.es', 'TVE1', '1' ),
    ( '02.elpais.es', 'La 2 de TVE', '2' ),
    ( '03.elpais.es', 'Antena 3', '3' ),
    ( '04.elpais.es', 'Tele 5', '4' ),
    ( '05.elpais.es', 'Canal Plus', '5' ),
    ( '06.elpais.es', 'Telemadrid', '6' ),
    ( '07.elpais.es', 'TV3', '7' ),
    ( '08.elpais.es', 'Canal 9', '8' ),
    ( '09.elpais.es', 'Canal Sur', '9' ),
    ( '10.elpais.es', 'TVG', '10' ),
    ( '11.elpais.es', 'ETB 1', '11' ),
    ( '12.elpais.es', 'ETB 2', '12' ),
    ( '13.elpais.es', 'Canal Sur 2', '13' ),
    ( '14.elpais.es', 'Canal 33', '14' ),
    ( '15.elpais.es', 'Punt 2', '15' ),
    ( '16.elpais.es', 'Televisi�n Canaria', '16' ),
    ( '17.elpais.es', 'PROGRAMACION DE CASTILLA LA MANCHA TELEVISI�N', '17' ),
    ( '20.elpais.es', 'K3', '20' ),
    ( '21.elpais.es', 'Digital Plus', '21' ),
    ( '22.elpais.es', 'cuatro', '22' ),
    ( '23.elpais.es', 'PROGRAMACION DE CANAL EXTREMADURA', '23' ),
    ( '24.elpais.es', 'LA SEXTA', '24' ) ]

XMLTV_FILE = '/home/mcebolla/freevo/TV.xml'

# Hay que meterlo en la configuracion de local_conf.py

04. Servidor de de grabaciones.

TV_RECORD_DIR = '/home/mcebolla/freevo/Grabaciones'

TV_DATEFORMAT = '%e-%b' # Day-Month: 11-Jun
TV_TIMEFORMAT = '%H:%M' # Hour-Minute 14:05
TV_DATETIMEFORMAT = '%A %b %d %I:%M %p' # Thursday September 24 8:54 am

TV_RECORDFILE_MASK = '%%m-%%d %%H:%%M %(progname)s - %(title)s'

TV_RECORD_SERVER_IP = 'localhost'
TV_RECORD_SERVER_PORT = 18002

TV_RECORD_SERVER_UID = 0
TV_RECORD_SERVER_GID = 0

TV_RECORD_PADDING = 0 * 60

WWW_USERS = {
    "xxx" : "xxx"
}


freevo recordserver start

freevo recordserver stop

Script para init.d

"""
#!/bin/sh
/bin/su - freevo -c "freevo recordserver start"
"""

sudo vi /etc/init.d/freevo_recordserver
sudo chmod +x /etc/init.d/freevo_recordserver
cd /etc/rc2.d/
ln -s S99freevo_server ../init.d/freevo_recordserver
sudo ln -s ../init.d/freevo_recordserver S99freevo_server

05. Mando inalámbrico.

JOY_DEV = 1


JOY_CMDS = {
    'up'             : '',
    'down'           : '',
    'left'           : 'LEFT',
    'right'          : 'RIGHT',
    'button 5'       : 'UP',
    'button 7'       : 'DOWN',
    'button 6'       : 'SELECT',
    'button 8'       : 'PLAY',
    'button 9'       : 'EXIT',
    'button 10'      : 'ENTER',
}

06. Generación de previsualizaciones de las películas y caché.

freevo cache --thumbnail --recursive /home/mcebolla/Desktop/VIDEOTECA
freevo cache

Según lo habitual que sea que cambien las pelis se puede o bien poner en un cron lo anterior o bien lanzarlo a mano de vez en cuando, yo lo he puesto en un cron para que se lanzar por las noches.

07. Otras configuraciones.

Pantalla completa cuando arranque.

START_FULLSCREEN_X = 1

Que salir del programa implique hacer un shutdown del sistema.

ENABLE_SHUTDOWN_SYS = 1

Item de Video, Musica y Fotos:

VIDEO_ITEMS = [ ('Videoteca   (en isidoro)', '/home/mcebolla/Desktop/VIDEOTECA'),
                ('Videoteca 2 (en isidoro)', '/home/mcebolla/Desktop/VIDEOTECA2'),
                ('Videoteca 3 (en isidoro)', '/home/mcebolla/Desktop/VIDEOTECA3'),
                ('Pelis en Local', '/home/mcebolla/Desktop/PELIS_LOCAL') ]

AUDIO_ITEMS = [ ('Musica (en isidoro) ', '/home/mcebolla/Desktop/VIDEOTECA/MUSICA'),
                ('Musica (en local)', '/home/mcebolla/Desktop/MUSICA'),
                ('WebRadio', '/home/mcebolla/freevo/fxd/webradio.fxd') ]
        
IMAGE_ITEMS = [ ('Fotos (en isidoro) ', '/home/mcebolla/Desktop/VIDEOTECA/FOTOS')]

Idioma de los DVDs:

DVD_LANG_PREF       = 'es,en,se,no'

Plugins de volumen actual y memoria usada en el sistema:

plugin.activate('idlebar.volume', level=0)
plugin.activate('idlebar.system.procstats',level=20)

08. MAME.

GAMES_ITEMS = [ ('MAME', '/home/mcebolla/Desktop/ROMS/MAME',
                ('MAME', '/usr/games/xmame', '-fullscreen -joytype 1 -joydevname /dev/input/js', '/home/mcebolla/Desktop/ROMS/MAME/SISTEMA/snap', None)) ]

09. Comandos.

He añadido un par de scripts para forzar la expulsión de CDs ó DVDs que se puedan quedar enganchados por cualquier motivo.

Para ello he activado el menú de comandos.

plugin.activate('command', level=45)
COMMANDS_DIR='/home/mcebolla/freevo/commands'

10. Mi local_conf.py.

http://www.libresoftware.com/sw/local_conf.py


Manel's picture

Listado de Clientes Bittorrent para GNU/Linux

Recopilatorio de clientes bittorrent para GNU/Linux.

Índice:

01. Introducción.
02. Requisitos.
03. Seleccionado: TorrentVolve.
04. Clientes Bittorrent para GNU/Linux.
05. Instalación de TorrentVolve.
06. Origen de datos y enlaces.

01. Introducción.

He hecho un recopilatorio de clientes bittorrent para GNU/Linux, para ello he buscado en la Wikipedia, freshmeat, sourceforge, por foros... he localizado muchos clientes que ni la Wikipedia sabía que existieran, en muchos casos proyectos con funcionalidades innovadoras. Y por cierto mucho Python, mucho, mucho... (¿ por qué será ?...).

02. Requisitos.

Mi objetivo era seleccionar un cliente que cumpliera una serie de requisitos (para mi) imprescindibles, que son los siguientes:

- interfaz Web.
- Que no sea obligatorio lanzar ninguna interfaz gráfica (GUI) (el servidor que lo va a lanzar no tiene ningún servidor de x-windows instalado).
- Que se pueda limitar la velocidad de carga y descarga de manera global.
- Que se pueda limitar la velocidad de carga y descarga de manera individual para cada torrent.
- Tiene que poder ejecutarse en un servidor Debian stable sin tener que "tocar" nada o lo mínimo posible.
- Tiene que poder usarse en Trackers con limitación de ratio (pej. animersion).
- Gestor de colas de descargas.

03. Seleccionado: TorrentVolve.

TorrentVolve: un proyecto hospedado en Source Forge es fase beta pero cumple todo lo que ando buscando, llevo algo de tiempo usándolo y parece bastante estable. Es un cliente peculiar, principalmente por sus características técnicas:

- capa de presentación: PHP5 (tira de mod_php5).
- Backend bittorrent con... Azureus!!!, extraño, ¿ no ?, pues sí, usa el motor de azureus para las descargas.
- Al usar azureus quiere decir que tiene como requerimiento el paquete sun-java5-jre.

Por otra parte la interfaz y su funcionalidad son muy básicas (seguro que para muchos incluso demasiado), pero cumple todos los requisitos que yo me había planteado.

Aqui algunos pantallazos de TorrentVolve:








04. Clientes Bittorrent para GNU/Linux.


Con todo el trabajo que me ha llevado probar (la mayoría de ellos, no todos, lo confieso), y recopilarlos he pensado que además de hacer la selección merecía la pena hacer un listado con todos los que he encontrado.

Por cierto, a mi me ha parecido que la cantidad de clientes localizados es enorme... y aún habrá quien diga que no se pasa a GNU/Linux porque no encuentra tal o cual programa... pues un cliente de bittorrent no va a ser...

Dejo aquí la lista de todos los clientes bittorrent que he localizado para GNU/Linux:

- lphant para GNU/Linux: el port para GNU/Linux es muy antiguo, cumple todas las condiciones excepto la de funcionar con animersion, la versión para Redmon soporta la posibilidad de identificarse como otro cliente. En el momento que lphant GNU/Linux soporte esta funcionalidad sería un cliente válido. Por cierto la versión de GNU/Linux se lanza con Mono!!!!.

- mldonkey (mlnet): cumple casi todas las condiciones, falla en no disponer de la posibilidad de limitar de manera individual la velocidad de carga/descarga. Además es un cliente non-grato en animersion. Este es el cliente que he usado durante más tiempo, principalmente en la red Edonkey.

- torrentflux: lo he usado durante bastante tiempo, el rechazarlo ha sido motivado por la imposibilidad de limitar de manera global la velocidad de carga y descarga.

comrade-bt (basado en Snark), snark, localhost , tribler, utorrent, xbt client, Azureus: tienen interfaz Web, pero no hay manera de lanzarlos sin que obligue a ejecutar la GUI.

w3btorrent, bittorrent, bittornado: no dispone de gestor de colas ni posibilidad de limitar de manera global la subida/bajada. Sólo w3torrent dispone de frontend web integrado.

- jtorrent, gTorrentviewerEffusion, bitflu, transmission, rufus, rtorrent, qtorrent, Opera 9 browser, freeloader, edonkey2000, ctorrent, btmanager, anatomic p2p, abc, g3torrent, gnomebittorrent, zip torrent: no disponen de fontend Web.

- Handywap: cliente para dispositivos móviles.

- ABC Web Client: en muchos trackers me rechazan ABC, y no hay forma de que simule ser otro cliente.

- Torrent Swapper, Torrent Portal (usa BTQueue),

A parte hay algunos proyectos que prometen bastante pero que a día de hoy no han hecho ninguna release:

- ajaxtorrentui: PHP + AJAX + bittornado.
- SmokeTorrent: incluye encriptación (al igual que Azureus, TorrentVolve no lo hace).
- PHPOpenBits: puede usar varios engines Base de datos.
- Deluge Bittorrent client: python + GTK.
- FuseTorrent: PHP.
- WebRat: basado en TorrentFlux, pero los desarrolladores aseguran un 50% más de velocidad.
- phpBTBBOpenBT, BitTorrent-2, TinyTorrent, btslave,

No he incluido en mi listado Sw estrictamente para montar un servidor de torrents (un Tracker), se sale del ámbito del tema.

05. Instalación de TorrentVolve.

# Necesitamos Java
apt-get install libgcj-common libgcj5 java-common odbcinst1 sun-java5-bin sun-java5-jre unixodbc

# Necesito dejar mi Apache2 con mod_php4, así que voy a instalar el mod_php5 en Apache que se
# lanzará escuchando en el puerto 8080

# Añadido backports al stable para instalar el mod_php5 en Apache (backports son versiones de algunos
# programas no incluidos en stable pero se han preparado para que usen las versiones de librerías de stable
# es decir es una forma de poder instalar un programa más nuevo sin romper las dependencias ni la estabilidad
# del sistema.

# Añadimos el backports:

/etc/apt/sources.list:

deb http://www.backports.org/debian sarge-backports main contrib non-free

# Instalaremos el libapache_mod5 en apache no apache2

apt-get install apache-common php5-common 

# Me he bajado a manos el paquete de apache-libphp5:

wget http://backports.org/debian/pool/main/p/php5/libapache-mod-php5_5.2.0-8~bpo.2_i386.deb

dpkg -i libapache-mod-php5_5.2.0-8~bpo.2_i386.deb

# en /var/www un link al site de Torrentvolve

cd /var/www
ln -s [a la ruta del directorio site de Torrentvolve]

# y en /etc/apache/conf.d:

# Usamos php5:
<IfModule mod_php5.c>
  AddType application/x-httpd-php .php .phtml .php3
  AddType application/x-httpd-php-source .phps
</IfModule>

# Directorio virtual de site
<Directory /var/www/site>
  Options None
    AllowOverride None
      Order allow,deny
        Allow from all
</Directory>

Alias /site /var/www/site

# Apache correra en el puerto 8080.

# Ahora hay que hacer que al llamar a Apache2 se traduzca en una llamada a Apache por el puerto 8080

# Activamos el modulo rewrite

cd modules-enabled

ln -s /etc/apache2/mods-available/rewrite .

# Y en conf.d de Apache2:

<VirtualHost *>
ServerName p2p.nosotrosmismos.org
ServerAlias p2p.nosotrosmismos.org.
ProxyPass / http://localhost:8080/site/
ProxyPassReverse / http://localhost:8080/site/
</VirtualHost>


06. Origen de datos y enlaces.

- tabla comparativa de clientes bittorrent de la Wikipedia.
- Freshmeat.
- Source Forge.
Manel's picture

DB API 2.0 para Sybase en Python

A continuación explicaré a modo de guía como conseguir soporte DB API 2.0 para Sybase en Python.

01. Necesitamos las librerias de Sybase para compilar el driver, afortunadamente tenemos en Debian este paquete que nos instalará todo lo que vamos a necesitar:

apt-get install free-tfs

02. Variables de entorno a definir:

export SYBASE=/usr
export CFLAGS="-DHAVE_FREETDS"
export LD_LIBRARY_PATH=/usr:${LD_LIBRARY_PATH}

03. Compilando Driver DB API 2.0 python para Sybase:

http://www.object-craft.com.au/projects/sybase/download.html

cd sybase-0.37 # ó lo que sea
python setup.py build_ext -D WANT_THREADS -D HAVE_FREETDS -U WANT_BULKCOPY
python setup.py install


04. Interfaces

En $SYBASE/ necesitamos el fichero interfaces para poder establecer las conexiones a los servidores de bases de datos

Ej.

cat $SYBASE/interfaces:

"""
SERVER  2 3
  master tli tcp /dev/tcp \x0002115c7f0000010000000000000000
  query tli tcp /dev/tcp \x0002115c7f0000010000000000000000
  master tli tcp /dev/tcp \x0002115c0a98050b0000000000000000
  query tli tcp /dev/tcp \x0002115c0a98050b0000000000000000
"""

En la siguiente página podemos encontrar una explicación de cómo se cumplimenta este fichero:

http://www.outlands.demon.co.uk/sybase/index.html
Syndicate content