Archivo

Archivo de la categoría ‘Internet’

Invitaciones para Google Wave

26 de Noviembre de 2009

Tengo unas 16 invitaciones restantes de Google Wave para repartir.  Si quieres una, solo tienes quejar un comentario en esta entrada. No ha falta que incluyas tu mail en el campo de texto, si no en su correspondiente cuadro (oculto para los lectores). Iré dando las invitaciones según el orden de los comentarios. Avisaré cuando no me quede ninguna para compartir.

Google, Internet

Compilar Google ChromeOS en GNU/Linux

21 de Noviembre de 2009

No voy a hablar de lo que el Google ChromeOS ya que supongo que a estas alturas todo el mundo estará informado.
En la Web, existen imágenes preparadas para ejecutarse en VMWare o VirtualBox, incluso imágenes ISO, pero aquí se explicará como compilar el código fuente en tú máquina para crearte tu mismo esas imágenes del sistema.

1.- Instalar las Dependencias:

Google aconseja que se utilice:

  • Ubuntu (Hardy 8.04 o siguientes, recomendada Karmic 9.10)
  • Una cuenta con acceso a root  (necesaria para correr chroot y modificar la tabla de montaje)
  • e instalar las dependencias, las cuales son:
  • Python >= 2.4
  • Perl >= 5.x
  • gcc/g++ >= 4.2
  • g++-multilib >=4.2
  • bison >= 2.3
  • flex >= 2.5.34
  • gperf >= 3.0.4
  • pkg-config >= 0.20
  • libnss3-dev >= 3.12
  • libasound2-dev
  • libgconf2-dev
  • libglib2.0-dev
  • libgtk2.0-dev
  • libnspr4-0d >= 4.7.1+1.9-0ubuntu0.8.04.5
  • libnspr4-dev >= 4.7.1+1.9-0ubuntu0.8.04.5
  • msttcorefonts (Fuentes Microsoft)
  • freetype-dev
  • libcairo2-dev
  • libdbus-1-dev

Y opcionales (usadas para pruebas de diseño):

  • wdiff
  • lighttpd
  • php5-cgi
  • sun-java6-fonts (para Lucida)

Las cuales si estás usando Debian o Ubuntu las puedes instalar mediante:

$ sudo apt-get install subversion pkg-config python perl g++ g++-multilib \
bison flex gperf libnss3-dev libgtk2.0-dev libnspr4-0d libasound2-dev \
libnspr4-dev msttcorefonts libgconf2-dev libcairo2-dev libdbus-1-dev

Y las dependencias opcionales:

$ sudo apt-get install wdiff lighttpd php5-cgi sun-java6-fonts

Para otras distribuciones mirar el final de esta página.

Es importante saber que necesitas tener bastante espacio en disco, ya que el código y el sistema que crea ocupa bastante espacio, en google hablan de 10 GiB. Tambien se debe considerar que se necesitará una distribución de 64 Bits por las librerías que hacen falta, si bien puedes compilar en un sistema de 64 bits ChromeOS sin problemas para 32 bits, puede que tengas problemas de compilación o instalación por la ausencia de librerías de 32 Bits (muchas distribuciones ya no disponen de estas).

2.- Obtener el código fuente:

Existen dos maneras de obtener el código, descargándolo directamente desde la web (lo puedes descargar desde aquí) o puedes obtenerlo usando Git. No sé si es por que en el tarball que me baje de la web le faltaban algunos archivos, el caso es que me dio muchos errores de compilación. Por eso os aconsejo que utilicéis Git:

Primero hay que bajarse los “depot_tools”,  para ellos se utiliza svn (si no lo tienes: # aptitude install subversion):

$ svn co http://src.chromium.org/svn/trunk/tools/depot_tools depot_tools

Lo que te bajas son ejecutables que tienes que añadir al PATH:

$ export PATH=`pwd`/depot_tools:”$PATH”

Evidentemente la línea anterior está diseñada para que funcione tal cual acabas de hacer lo de línea anterior. Deberías incluso editar tu “.bashrc” para añadir al PATH ese directorio permanentemente. OJO: Si no sabes que estás haciendo, simplemente ejecuta las líneas tal cual, la próxima vez que reinicies el PATH será el de siempre, sin este nuevo directorio, pero podrás trabajar ahora, y no correrá peligro de que destroces nada.

Una vez obtenido los depot_tools, instalas Git (si no lo tenías instalado):

$ sudo apt-get install git-core

Creas una carpeta para guardar el código, entras en ella, y te bajas el mismo:

$ mkdir chromiunos

$ cd chromiunos

$ gclient config http://src.chromium.org/git/chromiumos.git

$ gclient sync

$ cd

Y si te quieres y a tomar un café, esto puede tardar bastante, aunque desde google digan que tardará entre unos 10-20 minutos.

3.- Compilar el código fuente:

  • Lo primero y opcional es crear el siguiente enlace simbólico, si estás siguiendo los pasos tal cual, sin tener casi ni idea, mejor que lo hagas:

$ ln -s /usr/local/chromiumos/chromiumos.git ~/chromiumos

Evidentemente tienes que cambiar el /usr/local/chromiumos/ por el lugar donde tengas el chromiumos.git (donde hayas hecho el git), si has seguido el manual paso a paso (y la primera vez que abriste la terminal estabas en tu directorio HOME), haz:

$ ln -s ~/chromiumos/chromiumos.git ~/chromiumos

  • Lo segundo es hacer un repositorio local (puedes utilizar un mirror en internet, pero si de esta manera tarda, más lo hará si usas un mirror). Así que nos vamos al directorio de scripts:

$ cd ~/chromiumos/src/scripts

$ ./make_local_repo.sh

Esto creará un repositorio local en ~/chromiumos/repo

Esto tarda una barbaridad, el que avisa no es traidor.

  • Ahora tenemos que crear el entorno de compilación:

$ ./make_chroot.sh

Compilemos ChromiunOS:

Primero tenemos que crear el siguiente directorio:

$ mkdir -p ~/chromiumos/src/build/x86/local_assets

$ cd ~/chromiumos/src/build/x86/local_assets

Y descargar el siguiente ZIP (que NO tenemos que descomprimir):

$ wget “http://build.chromium.org/buildbot/archives/chromium-chromiumos-r32516/chrome-linux.zip”

$ cd ~/chromiumos/src/scripts

Antes hicimos una jaula con “make_chroot”, ahora tendremos que entrar en ella para compilar con:

$ ./enter_chroot.sh

Podemos crear una contraseña para usuarios compartido con:

$ ./set_shared_user_password.sh (preguntará la contraseña para introducir)

Y nada, solo queda poner a construir todo, pero antes vamos a corregir un error en uno de los archivos, concretamente vamos a:

$ cd ~/chromiumos/src/platform/chrome/

y editamos el fichero:  copy_chrome_zip.sh (con tu editor favorito):

$ nano copy_chrome_zip.sh

Buscamos la línea que dice:

BASE_FROM=”http://chrome-web/buildbot/snapshots/chromium-rel-linux-chromiumos”

y la cambiamos por:

BASE_FROM=”http://build.chromium.org/buildbot/snapshots/chromium-rel-linux-chromiumos/”

(aunque puede que en la versión que te descargaste ya esté arreglado el problema).

NOTA para aquellos que lleguen aquí por el error, si el error era del tipo:

Checking for latest build of Chrome
Downloading http://chrome-web/buildbot/snapshots/chromium-rel-linux-chromiumos/LATEST
–2009-11-20 08:10:42–  http://chrome-web/buildbot/snapshots/chromium-rel-linux-chromiumos/LATEST
Resolving chrome-web… failed: Name or service not known.
wget: unable to resolve host address `chrome-web’
make: *** [build-stamp] Error 1

dpkg-buildpackage: failure: debian/rules build gave error exit status 2

Si! se soluciona cambiando esa línea en ese fichero ;)

Ale! todo preparado, a construir:

$ cd ~/chromiumos/src/scripts

$ ./build_platform_packages.sh

$ ./build_kernel.sh

Este es otro aviso de estos de que lo que estás haciendo ahora mismo, tarda bastante.

  • Y por último, creamos la imagen (por fin):

$ ./build_image.sh

Una vez tenemos la imagen podemos hacer varias cosas con ella. Primeros salimos de la jaula escribiendo en la terminal “exit”.

1.- Copiar la imagen a una memoria USB:

$ ./image_to_usb.sh –from=~/chromiumos/src/build/images/SUBDIR –to=/dev/USBKEYDEV

- Donde SBUDIR es el directorio creado por ./build_image.sh

- y USBKEYDEV es el punto de montaje de la memoria (normalmente /dev/sdb - OJO! NO poner la partición: sdb1, sdb2, …, sdbn)

2.- Copiar la imagen al Disco Duro:

Inicia el PC desde el USB que acabas de crear y presiona Ctrl+Alt+T para abrir una terminal, donde ejecutas:
$ /usr/bin/chromeos-install
En este paso te preguntará la contraseña que introdujiste en un paso anterior.
Desaconsejo esto TOTALMENTE para la gente que no sepa exactamente que está haciendo.

3.- Convertir la imagen para VMWare o VirtualBox:

Necesitas tener instalado qemu:

$ sudo aptitude install qemu

Para crear la imagen:

./image_to_vmware.sh –from=~/chromiumos/src/build/images/SUBDIR \
–to=~/chromiumos/src/build/images/SUBDIR/ide.vmdk

- SUBDIR es el directorio creado por ./build_image.sh

NOTA: La imagen de VMWare puede sufrir alguna limitación, según google no tendrás acceso a una terminal virtual, tendrás una lenta respuesta del teclado…

– — –

MÁS NOTAS para navegantes, si quieres deshacerte del chroot (del cual ya saliste hace unos pasos), no le hagas un “rm -rf” sobre el directorio “chroot” lo correcto es que ejecutes (desde el directorio de scripts):

$ ./make_chroot.sh –delete

4.- Abrir la imagen con VirtualBox:

Abrimos VirtualBox, creamos una nueva máquina, le damos a siguiente, le pones el nombre que quieres y en “Tipo de sistema operativo” eliges GNU/Linux. En “Versión” yo puse “Ubuntu 64 Bits” ya que ChromiumOS está basado en este. Siguiente.

Le dais el tamaño de memoria base que queráis (no necesita mucho), y siguiente.

En disco duro le dais a utilizar uno existente, y le dais a la carpeta que aparece a la derecha del cuadro de inserción. En las pestañas de arriba le dais “Añadir” y buscáis la imagen que acabáis de crear, llamada “ide.vmdk” que está en el directorio “~/chromiumos/src/build/images/SUBDIR” (SUBDIR es el directorio creado por ./build_image.sh).

Seleccionáis la imagen que acabáis de añadir y le dais a “Seleccionar” y Siguiente. Finalizar.

Y PUNTO! Todo preparado para arrancar la imagen y probar el nuevo (y aun muy simple Google ChromeOS).

Debian, GNU/Linux, Google, Internet, Software Libre, ubuntu

Modificando wlandecrypter

25 de Octubre de 2009

Cuelgo en el blog una modificación del pequeño programa “wlandecrypter” que genera un diccionario con las posibles claves de los diferentes routers de Timofónica.
Este comprueba por mac, como el original, si esta existe (está reconocida como una de las mac que utilizan los routers de la compañía) pero a diferencia del antiguo, es que si esta no existe también te da la posibilidad, previo aviso, de poder generar un diccionario con esos valores (más que nada por si se van añadiendo nuevas marcas o nuevas mac, y estas no han sido añadidas ya en la base del programa).
La forma de lanzarlo también cambia. Con la modificación en vez de tener que escribir todo el BSSID y todo el ESSID, solo se ingresarán las partes importantes, es decir, los primeros seis caracteres de la mac y los dos últimos del ESSID.
Ejemplo, si quieres generar un diccionario para la red con las siguientes características:
BSSID : 00:13:49:E8:29:7B
ESSID: WLAN_32
El programa se lanzará:

$ m0dWlandecrypter 001349 32 diccionario

NOTA: No comprobará si los 6 primeros caracteres pertenecientes al bssid son  hexadecimales (ya lo implemento uno de estos días).

Dejo el código en cuestión:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
/*****************************************************************************
* Fichero:                      m0dWlandecrypter.c
* Fecha:                        22-09-2009
* Autor:                        aabilio (aabilio[at]gmail[dot]com)
* 
* Es una pequeña modificación del wlandecrypter de Nilp0inteR
* 
* Este programa es software libre; puedes redistribuirlo y/o modificarlo
* bajo los terminos de la Licencia Publica General GNU (GPL) publicada
* por la Free Software Foundation; en su version numero 2, o (bajo tu 
* criterio) la ultima version. Mira http://www.fsf.org/copyleft/gpl.txt.
* 
* Este programa se distribuye SIN GARANTIA de ningun tipo.
*****************************************************************************/
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
 
#define MAXROUTER 13
#define ULTIMO 12
 
/* Estructura Router */
typedef struct __Router {
    char bssid[7];
    char init;
    char info[20];
} _Router;
 
/* Variable global */
char hex[16]="0123456789ABCDEF";
 
/* Prototipos */
void datosRouters(_Router routers[MAXROUTER]);
void muestraAyuda();
int buscaBssid(_Router routers[MAXROUTER], char *bssid);
void imprimeClaves(FILE *fichero, _Router routers[MAXROUTER], 
                    int bssidId, char *keyEnd, char *);
void bucleImprimeClaves(FILE *fichero, char , int bssidId, char *keyEnd, char *);
 
/* MAIN */
int main(int argc, char *argv[]) {
 
        int i, bssidId, validHex=0;
        char opcion;
        char endKey[2];
        _Router routers[MAXROUTER];
        FILE *fichero;
 
        fprintf(stdout, "\n====================================\n");
        fprintf(stdout, "m0dWlandecrypter - aabilio@gmail.com\n");
        fprintf(stdout, "====================================\n");
 
        if(argc<3 || argc>4) {
            muestraAyuda();
            return 1;
        }
 
        if(strlen(argv[1]) != 6 ) {
            fprintf(stderr," [-] Longitud de BSSID invalida\n");
            muestraAyuda();
            return 1;
        }
        if(strlen(argv[2]) != 2 ) {
            fprintf(stderr," [-] Longitud de ESSID invalida\n");
            muestraAyuda();
            return 1;
        }
 
        datosRouters(routers);
        bssidId=buscaBssid(routers, argv[1]);
 
        fprintf(stderr, " [+] BSSID: %s\n" 
                        " [+] Modelo: %s\n", argv[1], routers[bssidId].info);
        if(bssidId==ULTIMO) {
            strcpy(routers[ULTIMO].bssid, argv[1]);
            routers[ULTIMO].init = 'Z';
            fprintf(stderr, "   |__>> [?] Puede que no genere un buen diccionario\n");
            do {
                fprintf(stderr, "          Continuar de todas formas?? (s/n) : ");
                opcion = getchar(); getchar();
                //scanf("%c", &opcion);
                opcion = toupper(opcion);
                if (opcion == 'N')
                    return 1;
                else if (opcion == 'S')
                    break;
            } while (1);
 
        }
 
        for(i=0;i<strlen(argv[2]);i++)
            argv[2][i]=toupper(argv[2][i]);
 
        if(strlen(argv[2]) != 2 ) {
            fprintf(stderr, " [-] ESSID: %s invalido!!\n", argv[2]);
            return 1;
        } else {
            for(i=0;i<strlen(hex);i++) {
                if(argv[2][0]==hex[i]) {
                    validHex++;
                    break;
                }
            }
            for(i=0;i<strlen(hex);i++) {
                if(argv[2][1]==hex[i]) {
                    validHex++;
                    break;
                }
            }
 
            if(validHex!=2) {
                fprintf(stderr, " [-] ESSID: %s invalido!!\n", argv[2]);
                return 1;
            }
            else {
                endKey[0]=argv[2][0];
                endKey[1]=argv[2][1];
 
                fprintf(stderr," [+] ESSID: %s\n", argv[2]);
 
                if(argc>3) {// Fichero
                    fprintf(stderr," [+] Fichero de claves: %s\n", argv[3]);
                    if ((fichero=fopen(argv[3], "a+")) == NULL) {
                       fprintf(stderr, " [-] Fallo al escribir en el fichero\n");
                       return 1;
                    }
 
                    imprimeClaves(fichero,routers,bssidId,endKey, argv[1]);
                    fclose(fichero);
                    fprintf(stderr, " [+] Fichero guardado\n");
                } else {
                    fprintf(stderr," [+] Seleccionada salida estandar\n");
                    imprimeClaves(stdout,routers,bssidId,endKey, argv[1]);
                }
            }
        }
        puts("");
        return 0;
}       
 
/* AYUDA */
void muestraAyuda() {
    fprintf(stderr, "\nuso: aawlandecrypter <bssid> <essid> [output file]\n"
                    "  |__<bssid> : Solo los 6 primeros caracteres del mismo sin contar ':'\n"
                    "  |__<essid> : Solo los XX de WLAN_XX\n"
                    "  |__[output file] : Archivo resultante\n\n"
                    "   Ejemplo: aawlandecrypter 001349 55 diccionario\n\n");
}
 
/* Imprime claves */
void imprimeClaves(FILE *fichero, _Router routers[MAXROUTER], 
                    int bssidId, char *keyEnd, char *bssid) {
    //int i,j,k,l;
 
    if(bssidId==ULTIMO){
        routers[bssidId].init = 'Z';
        bucleImprimeClaves(fichero,routers[bssidId].init,bssidId,keyEnd,bssid);
        routers[bssidId].init = 'X';
        bucleImprimeClaves(fichero,routers[bssidId].init,bssidId,keyEnd,bssid);
        routers[bssidId].init = 'C';
        bucleImprimeClaves(fichero,routers[bssidId].init,bssidId,keyEnd,bssid);
    } else {
        bucleImprimeClaves(fichero,routers[bssidId].init,bssidId,keyEnd,bssid);
    }
}
/* El bucle que imprime la clave */
void bucleImprimeClaves(FILE *fichero, char init, 
                        int bssidId, char *keyEnd, char *bssid) {
    int i,j,k,l;
 
    for(i=0;i<16;i++)
        for(j=0;j<16;j++)
            for(k=0;k<16;k++)
                for(l=0;l<16;l++) {
                    fprintf(fichero, "%c%s%c%c%c%c%c%c\n"
                            , init, bssid, hex[i],hex[j],hex[k],hex[l], 
                            keyEnd[0],keyEnd[1]);
                }
}
 
/* Datos de los routers: */
void datosRouters(_Router routers[MAXROUTER]) {
        int i =0;
        // Z-com
        strcpy(routers[i].bssid,"0060B3\0");
        routers[i].init = 'Z';
        strcpy(routers[i].info,"Z-com\0");
        i++;
        // Zyxel : Gracias a thefkboss de foro.elhacker.net por esta observacion
        strcpy(routers[i].bssid,"00A0C5\0"); 
        routers[i].init = 'Z';
        strcpy(routers[i].info,"Zyxel 650HW/660HW\0");
        i++;
        // P-660HW-D1
        strcpy(routers[i].bssid,"001349\0");
        routers[i].init = 'Z';
        strcpy(routers[i].info,"P-660HW-D1\0");
        i++;
        // Xavvy
        strcpy(routers[i].bssid,"000138\0");
        routers[i].init = 'X';
        strcpy(routers[i].info,"Xavi 7768r\0");
        i++;
        // Comtrend
        strcpy(routers[i].bssid,"0003C9\0");
        routers[i].init = 'C';
        strcpy(routers[i].info,"Comtrend 535\0");
        i++;
        // Comtrend NUEVO, gracias a dnreinad por el coche xD
        strcpy(routers[i].bssid,"001638\0");
        routers[i].init = 'C';
        strcpy(routers[i].info,"Comtrend 536+\0");
        i++;
        // Comtrend NUEVO
        strcpy(routers[i].bssid,"001915\0");
        routers[i].init = 'C';
        strcpy(routers[i].info,"Comtrend 536+\0");
        i++;
        // Comtrend NUEVO
        strcpy(routers[i].bssid,"0030DA\0");
        routers[i].init = 'C';
        strcpy(routers[i].info,"Comtrend 536+\0");
        i++;
        // Comtrend NUEVO
        strcpy(routers[i].bssid,"001A2B\0");
        routers[i].init = 'C';
        strcpy(routers[i].info,"Comtrend 536+\0");
        i++;
        // Comtrend NUEVO
        strcpy(routers[i].bssid,"001D20\0");
        routers[i].init = 'C';
        strcpy(routers[i].info,"Comtrend 536+\0");
        i++;
 
        // ZyGate
        strcpy(routers[i].bssid,"0002CF\0");
        routers[i].init = 'Z';
        strcpy(routers[i].info,"ZyGate\0");
        i++;
        // ZyGate
        strcpy(routers[i].bssid,"0019CB\0");
        routers[i].init = 'Z';
        strcpy(routers[i].info,"ZyGate\0");
        i++;
 
        strcpy(routers[ULTIMO].bssid,"000000\0");
        routers[ULTIMO].init = 'Z';
        strcpy(routers[ULTIMO].info,"Desconocido\0");
}
 
int buscaBssid(_Router routers[MAXROUTER], char *bssid) {
    int i;
 
    for(i=0;i<strlen(bssid);i++)
        bssid[i]=toupper(bssid[i]);
 
    for(i=0;i<MAXROUTER;i++) {
        if(strncmp ( routers[i].bssid, bssid, 6 ) == 0)
        return i;
    }
 
    return ULTIMO;
}

Para compilar en GNU/Linux:

$ gcc -o wlandecryter_mod m0dWlandecrypter.c

Enlace | m0dWlandecrypter.c para descargar

General, Internet, Software Libre, códigos, wifi, wireless

Opera Unite, de momento, no reinventa nada

17 de Junio de 2009

Bien, pues ya salió a la luz el gran secreto de Opera que iba a revolucionar la Web. Gran cantidad de blogs y páginas web nos anunciaban que Opera nos estaba preparando algo que iba a reinventar la Web en sí. Sinceramente, para mí, lo único que han reinventado, y mal hecho, ha sido el concepto de navegador. Un concepto en el que este deja de ser un simple navegador, y se convierte en servidor web mediante el cual podemos compartir desde imágenes hasta música, pasando por crear una web o dejarnos notas en una chorrada de nevera. Opera Unite se llama todo esta parafernalia. Todo lo que de momento puedes hacer con Unite, se puede hacer desde hace años. Quizá “lo nuevo” de todo esto es que tienes configurado todo con a penas un par de clicks ( Tools > Opera Unite Server).

Creas una cuenta (si ya tienes una cuenta de My Opera simplemente utilizas esta), aceptas la licencia y a correr.

Tendrás a tu disposición  un panel lateral donde puedes ir “instalando” el servidor web, el servidor de archivos y de fotos, el Media Player para compartir tu música, todo esto seleccionando los directorios que quieres compartir.

Si, se puede decir que si esto lo quieres hacer “de otra manera” (crear un servidor web), utilizando recursos que ya existen desde hace tiempo, tardarás un ratito más, sobre todo, si lo configuras todo para una gran seguridad. Pero, precisamente de eso quería hablar también, ¿qué problemas de seguridad nos puede acarrear esta “nueva tecnología” de Opera?

Opera es cerrado, no nos muestra los niveles de seguridad que implementan, como se van a tratar nuestros datos, de qué manera funcionará su proxy, por que recordemos que aunque en última instancia las conexiones se realicen punto a punto todo tendrá que estar centralizado sobre sus servidores aunque nada más sea para el uso de sus DNS y la asignación de nuestros dominios.

Bien es cierto que un usuario poco o medianamente experimentado no logrará conseguir un nivel de seguridad férreo tanto para su servidor web o ftp, pero la posibilidad de ser controlado por uno mismo existe. A parte, dejando atrás la configuración, estos servicios ya tienen cabida en la actual Internet: Webs sociales para comunicarse, para compartir fotos, para compartir notas, entre otros. Lo bueno de Unite, dirán algunos, es que no tienes que subir las cosas que quieras compartir a un servidor.Pero para mi precisamente esto, la esencia misma de Unite, es en lo que falla, por lo menos en España (y en general en todo el mundo con la tecnología ADSL). Las capacidades de subida que nos ofrecen son pésimas, un par de usuarios descargando contenidos de nuestro servidor puede colapsarnos nuestra red (esto tanto en Unite como en un servidor local cualquiera, aunque por ejemplo en Apache puedes controlar más estos aspectos: cantidad de información que se puede descargar, que rango de IPs lo pueden descargar,…).

Lo que está claro que para un usuario más experimentado Unite no puede ser una opción, este no tendría el control total de su servidor, necesitaría de más recursos para compartir datos (recordemos que para que todo esto rule tenemos que tener el navegador abierto, para tener un navegador tenemos que disponer de un entorno gráfico, un entorno gráfico consume y necesita más recursos…).

Sobre la facilidad de uso, también hay que decir que existen servidores que se instalan con un solo click, o aquellos destinados solo a compartir en un momento puntual un archivo o un conjunto de archivos como BaShare. Puede que sean poco conocidos, pero Opera tampoco tiene un gran mercado tampoco.

Considero de Unite que no es más que la unión de unos pocos servicios propios de la Web 2.0 con la salvedad de que no se utilizan grandes servidores centrales, si no que todo se comparte desde nuestro ordenador, como si de una red P2P se tratara.

Pero recordemos que esto solo es el principio y si bien, para mi, el principio es nefasto (sobre todo después de la expectación que creó), puede que acabe siendo algo innovador, o más bien puede que cree una moda (al más puro estilo Fotolog). Y aunque por la definición en sí del propio Unite yo esté en contra del mismo (considero que un navegador es un navegador y un servidor es un servidor), puede que se hagan cosas interesante utilizando esta nueva idea. Opera proporciona una API para crear nuevos servicios a partir de Unite y esto si que me parece interesante, y no por que crea que de momento se puede crear algo innovador, si no porque aquí si se le permite al usuario crear sus propias aplicaciones (por ejemplo aquí se muestra como crear tu propio sistema de blog, cutre y para nada necesario e innovador) y quién sabe, quizá con el tiempo Opera consiga por fin, que reinventó la web gracias a estas aplicaciones de terceros (aunque creo que para que esto se de tiene que cambiar un poco el sistema base, como implementar operaciones con URIs propias o acceso casi totalmente directo de punto a punto, por poner unos ejemplos) .

Es cuestión de tiempo ver si esto triunfa, o se queda simplemente donde está (Opera ya tiene algo parecido con sus blogs y su “My Opera”), o realmente se produce algo parecido a reinventarse la web. Yo me atrevería a apostar que no llegará muy lejos, pero quien sabe.

Resumiendo, desde mi punto de vista, Opera Unite no me parece una mala idea, puede ayudar a aquellos usuarios menos experimentados o simplemente a aquellos con menos ganas de “cacharrear” (o simplemente por que encuentras que realmente es la manera más fácil de compartir un fichero específico en un momento determinado), pero, al menos de momento, no reinventa nada, no innova nada, solo pone un par de conceptos de la Web 2.0 y las redes P2P juntos y a correr.

Y si después de todo esto piensas: “No me he enterado de nada, ¿qué es todo esto?”; Pues descúbrelo tu mismo:

Opera Unite es parte de la nueva versión de Opera (10 BETA) que puedes descargar desde aquí para GNU/Linux.

Simplemente hay que instalarla y correr Unite desde Tools > Opera Unite Server y descubrir todo lo que te ofrece este servicio (intuitivo y fácil de administrar).

P.D.: Que conste que no tengo nada contra Opera, me parece un navegador excelente, seguramente sería mi navegador predeterminado si fuera libre.

Internet, Multimedia, Opera, P2P

Tucan en Galego, gestor Megaupload y Rapidshare

15 de Marzo de 2009

¿Qué es Tucan?

Traducción libre del blog de Tucan:

Tucan Manager

Tucan es una aplicación libre diseñada para automatizar las descargas y las subidas de servidores com:

  • http://rapidshare.com/
  • http://megaupload.com/
  • http://gigasize.com/
  • http://mediafire.com/
  • http://4shared.com/
  • (…)

Características

  • Escrito totalmente en Python.
  • Interfaz Gráfica de  Usuario escrita en PyGTK (GTK+ toolkit).
  • Multiplataforma  (GNU/Linux, FreeBSD, Microsoft Windows…).
  • Fácil de expandir con plugins.
  • Ligero y rápido.
  • Gestión de espera entre descargas (acceso anónimo).
  • Reconocimiento de Captcha en caso necesario (como el acceso anónimo a Megaupload o gigasize).
  • Gestión de enlaces intercambiables.

Plugins

Servidor

Descargas

Subidas

Premium

Anónimo

Megaupload

x

x

Rapidshare

x

x

Gigasize

x

Mediafire

x

4shared

x

¿Dónde lo puedo descargar?

Por http desde aquí: https://forja.rediris.es/projects/cusl3-tucan/

O por SVN desde aquí: https://forja.rediris.es/svn/cusl3-tucan/trunk

¿Cómo lo instalo?

Si lo bajaste por http, vas a dónde lo descargaste:

$ tar zxvf tucan-<version>.tar.gz
$ cd tucan-<version>/

# make install

Si fue por svn simplemente vas al directorio de tucan que se acaba de crear y make install:

$ svn co https://forja.rediris.es/svn/cusl3-tucan/trunk tucan

$ cd tucan/

# make install

Para desinstalarlo desde el directorio de tucan:

# make uninstall

Dependencias:

Paquete\ Distribución

Debian / Ubuntu

Gentoo

Fedora

OpenSuse

Arch

Python >= 2.5

python2.5

dev-lang/python

python

python

python

PyGTK

python-gtk2

dev-python/pygtk

pygtk2

python-gtk

pygtk

Python Imaging Library

python-imaging

dev-python/imaging

python-imaging

python-imaging

pil

Tesseract OCR (english language pack)

tesseract-ocr

tesseract-ocr-eng

app-text/tesseract

(linguas_en)

tesseract

tesseract-langpack

tesseract

tesseract

SVG Rendering Library

librsvg2-common

gnome-base/librsvg

librsvg2

librsvg

librsvg

¿E a versión en Galego?

Pois aquí a tedes. É unha tradución que fixen eu Incorporo unha mellora da miña tradución da man do Gruvi e que comparto por aquí xa que me puxen en contacto cos do proxecto pero me dixeron que, como aínda andan en fase Alpha, pois que no se ían introducir traducións que non foran internacionais.

Ligazón | Descarga Tucan (revisión 900 do svn do Martes 26 de Maio do 2009) en Galego en formato .tar.gz ou en .deb

Ligazón | Descarga Tucan (versión 0.3.7) en Galego en formato .tar.gz ou en .deb

Otros enlaces:

Enlace | Blog Tucaneando

Enlace | Web del Proyecto

Enlace | Documentación Tucan

Enlace | build-tucan-doc

GNU/Linux, Internet, Software Libre, Traducciones

Google lanza Knol

24 de Julio de 2008

Hoy google ha lanzado Knol, una web similar a la wikipedia pero de google. De momento se encuentra en fase beta y de momento sólo está disponible en inglés y desde mi punto de vista, sus principales ventajas son a su vez sus principales desventajas.

Por un lado, Knol será mas cerrado que la wikipedia ya que solo podrán publicar y editar entradas los autores y colaboradores, no como en la wikipedia que podias hacerlo sin necesidad de estar registrado. Gracias a esto, se evitará que sea “vandalizado”, pero en cambio te obligarán a estar registrado en google (aunque imagino que la mayoría estará registrado en un servicio u otro de google).

Otra característica que puede ser buena o mala según se mire es la inclusión de adsense. Las ventajas son que si tu creas un artículo puedes poner tu código de adsense y de esa forma repartir beneficios con google. La mayor desventaja es para el que visita un artículo que tenga publicidad, aunque si está puesta de una forma discreta y solo con texto molestaría poco, pero si incluyen anuncios gráficos y de tal forma que el usuario pueda confundir el contenido con el anuncio será realmente molesto, aunque por suerte no suele ser el estilo de google.

Sin duda, Knol es un éxito asegurado, ya que una gran parte de los escritores de la wikipedia se pasarán a Knol para conseguir beneficios y sobre todo google podría manipular los resultados de la búsquedas para enviar tráfico a su web antes que a wikipedia, que vive principalmente de las búsquedas en google y de los enlaces en los blogs. Quizás sea un paso atrás ya que no me gusta que la misma empresa tenga control sobre la gran parte de internet, pero quizás la posibilidad de conseguir un beneficio económico anime a los usuarios a crear mas contenido.

De momento, entre Knol y Wikipedia me quedo con la Wikipedia pero posiblemente cuando Knol tenga varias entradas y esté en español cambie de opinión.

General, Google, Internet

Vídeos de Veoh en GNU/Linux

14 de Julio de 2008

Si estás por aquí seguramente conozcas la web www.veoh.com que reparte vídeos al estilo de stage6 (hoy en día offline) con una calidad muy buena. Esta página permite subir videos de gran tamaño, pero tiene una restricción, y es que si los vídeos superan los 20 minutos, a la hora de visualizarlos, no podrás hacerlo a través de la web, sino que tendrás que hacerlo a través del programa que ellos mismo ponen a disposición para que te bajes y disfrutes de sus vídeo.

Este programa es totalmente gratuito, con esto no ponen ninguna restricción de pago, pero hay un problema para los usuarios de GNU/Linux, y es que el programa VeohTV solo está disponible para Windows y Mac.

Pero gracias a la comunidad disponemos también de recursos para disfrutar de estos vídeos en nuestro sistema operativo favorito. Las alternativas son pocas, pero hay donde elegir, aunque yo me quedo claramente con una.

A continuación me dispongo a enumerar una a una los diferentes software de los que disponemos para visualizar los vídeo de Veoh en GNU/Linux.

Como siempre las pruebas están hechas con un Debian Testing, pero los programas probados son perfectamente compatibles con el resto de distribuciones.

Emular el programa oficial con WINE (no recomendado)

Lo primero que intenté hacer para ver lo vídeos fue emular el programa oficial con WINE, por que parecía que algunas personas esto sí les había funcionado. Si seguís el enlace veréis que dice que tenéis que instalar una versión antigua de todo, pero Veoh no te deja descargar vídeos con esa versión y te manda actualizar. Esta versión si se instala bien con WINE, pero falla al iniciar, al pedirte tu user y pass se cuelga y se cierra. Para mi esta no fue una opción válida y la dejé aparcada. Puede que a ti (o a mi con futuras versiones de VeohTV, este es BETA, me funcione bajo WINE).

ACTUALIZADO A 11 DE MARZO DE 2009:

Ver esta entrada para instalar Veoh Web Player con Wine (la única forma a día de hoy, a parte de virtualizar, para ver vídeos de Veoh en GNU/Linux).

Virtualizando Windows con VirtualBox

También puede utilizar VirtualBox para virtualizar Windows y hacerlo todo desde este SO. Funciona perfectamente.

VeohDownload (no recomendado)

Otra opción, es utilizar VeohDownload, un proyecto en MONO que consiste en una simple ventana en la que tenemos que introducir la URL del vídeo en cuestión y este nos lo descarga (ATENCIÓN: no es la URL entera, sino, la parte posterior a “http://www.veoh.com/videos/” hasta el “?”, ambos no inclusive). El archivo ejecutable lo puedes descargar desde aquí, listo para utilizar. Decir que con este programa no he podido bajar ningún vídeo entero al completo, por algún motivo se me ha cortado la descarga en distintos puntos repetidas veces. Por lo tanto, desde mi experiencia tampoco lo recomiendo.

openVeoh (no recomendado)

La opción que en principio parecía más adecuada es el proyecto openVeoh, que en principio se puede utilizar en modo terminal, y en modo gráfico de la misma manera que funciona el programa oficial, es decir, haciendo click en el enlace de VeohTV del vídeo en veoh.com y directamente se te descargará.

El proyecto se descarga por SVN:

$ svn co https://openveoh.svn.sourceforge.net/svnroot/openveoh openveoh

$ cd openveoh

Tienes que compilar los sockets:

$ make sockets

Depende la versión de compilador que tengas puede que te de problemas. Seguramente los soluciones añadiendo una línea al código de los archivos: Utility.h, HttpdForm.h y MemFile.h.

$ gedit openveoh/src/sockets-cpp/Utility.h

$ gedit openveoh/src/sockets-cpp/HttpdForm.h

$ gedit openveoh/src/sockets-cpp/MemFile.h

Añadir en los tres, al principio del código, después del texto comentado, la siguiente línea:

#include <cstring>

Seguramente ahora te compile todo sin problemas ($ make socktes)

Después compilas todas las partes del proyecto con:

$make

Instalas:

# make install

Para lanzar el programa se hace desde ~/bin/vget, y hay que poner la URL del vídeo desde el principio hasta el “?” (este no incluido). Por ejemplo:

~/bin/vget “http://www.veoh.com/videos/v1184655gP8RTDWA

También puedes hacer click desde Firefox en el vídeo donde de pone “Watch on VeohTV” y el vídeo se descargará automáticamente. Todo se guarda en un directorio en tu HOME, llamado Video/Veoh donde encontrarás hasta una carpeta que contiene las miniaturas de los vídeos descargados para una mejor organización desde Media Centers por ejemplo…

Esta opción tampoco la recomiendo ya que a mi, a pesar de que me pone que me descarga el vídeo, nunca me lo ha descargado. Aunque a otras personas si le ha funcionado.

Veoh-Proxy (recomendado)

Por último, Veoh-Proxy, el que utilizo yo, y que no me ha dado ningún problema. Es un proyecto en python y multiplataforma. Lo único que tienes que hacer es descargarlo:

$ wget http://veohproxy.googlecode.com/files/veohproxy-1.3.zip

Descargar la última versión:

$ wget  http://veohproxy.googlecode.com/files/veohproxy-1.51-src.zip

y descomprimirlo:

$ unzip veohproxy-1.51-src.zip

Para utilizarlo simplemente tienes que ejecutarlo:

$ python veohproxy-1.51-src/default.py

Una vez lanzado tienes que buscar el vídeo que quieres y copiar de la URL la parte posterior a “http://www.veoh.com/videos/” hasta el “?”, ambos no inclusive y pegarla después de “http://127.0.0.1:64653/” en una ventana de Firefox y dale a ENTER y el vídeo comenzará a descargarse. Ejemplo: http://127.0.0.1:64653/v12656051nDn2Seaa

NOTA, si deseas simplificar este proceso mira: Vídeos de Veoh con atajo de teclado.

Estas son las alternativas que conozco para descargar los vídeo de Veoh en GNU/Linux, si conoces alguna más, por favor, házmelo saber.

IMPORTANTE | Estado de VeohProxy a 4 de Marzo de 2009

Debian, GNU/Linux, Internet, Multimedia, Software Libre, firefox

Firefox 3 lanzado

17 de Junio de 2008

Hoy, 17 de junio, Mozilla lanza la tercera versión de su famoso navegador web Firefox, para Mac, Windows y Linux. Con esta versión, que incluye mas de 15000 mejoras (las principales son el nuevo diseño para mac, el renovado gestor de descargas y el menor consumo de memoria), Spread Firefox tratará de establecer un nuevo record mundial de descargas de un programa en 24 horas.

El Download Day que es como lo han llamado, comenzará a las 10:00 hora de San Francisco (a las 19:00 hora española) del día 17 y acabará el día 18 a la misma hora.

Tienes varias formas de descargarte la nueva versión: desde su web, mediante ftp o bien desde la actualización de software del propio Firefox (Ayuda -> Buscar actualizaciones…)

Ya sabes, descárgate la nueva versión de Firefox para tratar de ayudar con el record y además poder probar todas las novedades que incluye. Si aún sigues con internet explorer y no estas seguro si pasarte a firefox, aquí tienes 11 razones para hacerlo. Ya no tienes excusa.

GNU/Linux, Internet, Mac, Software Libre, firefox, windows

Nueva RTVE.es y la “Televisión a la carta”

20 de Mayo de 2008

Radio Televisión Española estrena hoy, 20 de Mayo de 2008, su nueva web, en la que se incluyen muchas mejoras.

Podríamos numerar como las mejoras y/o nuevas funcionalidades de rtve.es la “TVE a la Carta”, “RNE a la Carta”, “Blogs”, “Mediateca: Audios, Vídeos y Fotos”, “Archivo”, y lo que más me llama la atención, la facilidad de navegación regulada por pestañas.

Al entrar en rtve.es nos encontramos 4 pestañas principales: PORTADA, NOTICIAS, TELEVISIÓN y RADIO, mediante las cuales la navegación se vuelve muy sencilla. El contenido en el resto de las páginas (por lo que estuve viendo) también está bastante mejor organizado que en el anterior portal.

Paso a comentar brevemente las diferentes mejoras:

“TVE a la Carta”

Aquí podrás encontrar los programas y series de producción propia de Televisión Española. Por ahora solo se verán los de La1 y La2 pero se irán añadiendo los diferentes canales temáticos de la cadena como: el canal 24 horas, Teledeporte entre otros…

Estos programas y series se colgarán tan solo tres horas después de ser emitidos (algunos tardarán más y esto dependerá del tamaño del vídeo).

La navegación en TVE a la Carta también se mantiene mediante pestañas, en las que puedes organizar los vídeos por diferentes categorías o por orden alfabético. También se podrán buscar vídeos por temática, por ejemplo, en función si es un documental, una serie, un programa de deportes o un infantil.

El el portal se presentan los vídeos listados y solo hay que hacer click sobre el y este se sobrepone y se reproduce, pudiendo ponerlo a pantalla completa (los vídeos son Flash y los que he visto son de gran calidad, acostumbrados a YouTube…)

Solo se colgarán vídeos de producción propia por asuntos legales de derechos de emisión.

Otra gran característica de esta televisión a la carta es la pestaña “Archivo” donde se irán incorporando las mejores series y programas del Archivo Histórico de TVE y lo mejor de todo es que se puede votar lo que se quiere “reponer” en http://www.rtve.es/seriesmiticas

Por último decir que también se está trabajando en la posibilidad de ofrecer estos archivos de vídeo en formatos para reproducir en dispositivos móviles (mp4s, consolas…) pero esta característica, al igual que la pestaña “Archivo” aun no está disponible.

“RNE a la carta”

Cumple la misma función que lo anterior pero para lo referido a la Radio, aquí podrás encontrar audios de las diferentes radios, podcast y archivos sonoros.

“Blogs de los corresponsales”

Los diferentes corresponsales repartidos a lo largo del mundo mantendrán para rtve.es un blog en donde contarán sus impresiones y las noticias desde su punto de vista. En http://blogs.rtve.es puedes encontrar el listado de las diferentes bitácoras. También puedes buscar por tags de temática o por los últimos comentarios.

“Mediateca: Audios, Vídeos y Fotos”

Un popurrí al mas puro estilo YouTube en donde podrás encontrar Audios, Vídeos y Fotos de programas, noticieros, series, etc.

Archivos en Flash divididos por temas, con enlaces para compartir en redes sociales, con miniaturas de los mismos…

“Facilidad de Navegación, participación ciudadana…”

Como dije, lo que más me llama la atención, la total reestructura del portal, mejor organizado, con navegación por pestañas, más intuitivo, en colores y formas propias de la web 2.0…

También en el campo de la web 2.0 la participación del usuario en la web será importante, en forma de comentarios en blogs, elección de series míticas a reponer, entre otras cosas.

También me llama la atención la nueva presentación de la parrilla de programación en donde se muestran todos los canales juntos, divididos en franjas horarias, con sus respectivos programas. Atrás quedan las programaciones separadas, que tenias que comparar en diferentes tiempos, y que por otro lado tenían un estilo mucho más feo y anticuado.

Y esto es básicamente la nueva web de RTVE, espero ansioso las nuevas características que tienen prometidas (Archivos, reproducción en dispositivos móviles) para comentarlas.

Internet, rtve

Descarga torrents a un servidor web

8 de Abril de 2008

 

greylogo.png

Sin duda este es un buen movimiento por parte de una empresa que estaba prácticamente desaparecida. Se trata de ImageShack, web que con la llegada de Flickr y por culpa de su abundante publicidad ya casi estaba en desuso. Han creado una nueva aplicación que permite descargar torrents a su servidor, lo que supone una descarga mas rápida y además las 24h del día y una vez que se haya descargado a su servidor, podrás descargártelo vía descarga directa a tu ordenador, con lo que se gana velocidad. Es bastante sencillo de usar, simplemente buscas en tu ordenador el archivo .torrent que te quieras descargar, lo subes y ya comenzará a descargarse.

Su principal ventaja está en los usuarios de compañías como ONO que limitan el uso de las redes P2P, o países que lo prohiben, pero también beneficia a los demás, por ejemplo, si estás trabajando, puedes poner el archivo para que se descargue y cuando llegues a casa descargártelo automáticamente o simplemente si prefieres aprovechar la velocidad de transferencia de un servidor frente a la conexión de tu casa.

Lógicamente también tiene algún inconveniente como que de momento solo está disponible para antiguos usuarios del servicio (por eso no lo he podido probar, nunca me interesó ese hosting de imágenes) o que “solo” puedes descargar 15GB de torrents al mes y tener 15GB de transferencia (para ser gratuito y estar en fase beta no nos podemos quejar).

Enlace: ImageShack Torrent Service

Vía: Alt1040

Internet, P2P