“Que el navegador revise si el archivo descargado es válido”

22 84
Escrito por Guillermo

I

Desde hace unos días estoy probando distintas distribuciones de GNU/Linux dedicadas a hacer de Router + Firewall + Caché + Filtros de capa 7. La idea es, básicamente, armar un servidorcito para un colegio para que pueda alivianar un poco la red, mejorar el uso de la misma y a su vez  que pueda ser fácilmente administrado por los… administradores.

II

La cuestión es que como soy bastante ansioso (y en el equipo que estaba no tenía un administrador de descargas) me puse a bajar todas las ISO juntas – total no tenía apuro – pero sorpresa fue cuando volví, horas mas tarde y estaban todas descargadas y listas para ser grabadas y probadas en el servidorcito de prueba…

III

Resulta que de Monowall, Smoothwall, Zentyal y ClearOS solo pude grabar este último, aunque, decididamente, el tamaño de los archivos .ISO de las demás distribuciones eran muy similares (a ojo) al verdadero. Los demás me dieron “error de grabación de disco” o “el archivo parece estar dañado”, según el software de grabación utilizado.

isos

(Solo uno entre tantos, “quiso funcionar…)


IV

Sucede que ya sea por microcortes de la conexión ADSL, por problemas de servidor o porque un bit entre los millones era tan, pero tan malo que se cambió de bando, estos archivos ISO eran completamente inusables, sin yo poder saberlo, al menos que ingrese nuevamente a los sitios de descarga, copie el hash del archivo y lo chequee con un software como WinMD5sum (del cual hablé hace un tiempo), pero vamos, que es bastante quilombo.

El hash, para los que no saben, es un valor único que tiene cada archivo y que lo identifica, algo así como una “huella digital del archivo”. El proceso es algo complejo pero lo importante que hay que saber es que si este valor varía para el mismo archivo es porque el archivo es corrupto, algo como suelen hacer los clientes de torrents.

V

Es por eso que el punto 5 (o V en romano) viene dado por una conclusión, mas bien una pregunta… en el mundo de microformatos y una internet tan avanzada, ¿no podrá volverse estándar el hecho de que cuando descargamos un archivo con el navegador el mismo “tome” automáticamente el hash MD5 y le haga un chequeo cuando lo termine de descargar?

Sería genial, el mismo navegador nos diría si el archivo bajó bien, o mal.

Hasta ahí llegué con mi idea y comenzaron a quemárseme los papeles. En ese momento acudí a mi amigo Renzo para preguntarle si conocía la existencia de un estándar para eso. Me dijo que no conocía, aunque había visto un plugin para Firefox llamado Checkit que permite hacerlo, aunque no tan automáticamente.

VI

Hay una película llamada “Crazy People” que miré varias veces de chico ya que, obviamente, me gustó mucho. Se trataba de un publicista que se “enrosca” y termina en una institución mental. La cuestión es que por diversas cuestiones el personaje termina armando su buffet publicitario con otros internados y con tal éxito que el pago es mediante autos de lujo para todos los integrantes. Una escena que me quedó grabada es cuando, después de ver desembarcar Ferraris, Mercedes, Porsches, un personaje llamado “Saab” (fanático de la marca) da una lección de ternura al comentarle al protagonista que “todos tienen su auto y yo no tengo nada… solo quería un saab, es un modelo de muy pocos dólares” y al final, llegó su auto y el tipo fue feliz.

Ojalá a algún genio de esos que “hacen internet” se le ocurra implementar esta idea en un estándar, es algo muy simple, como dijo Renzo sería algo así como agregarle <a href="…" sum="a310bd…" sumtype="sha1" /> a los enlaces de descarga y que una vez terminado el navegador haga el chequeo.

Quizás yo sea el “loco Saab” de internet. Ojalá me den el gusto, aunque sea al final.

22 COMENTARIOS

  1. En realidad el estandar ya existe. Es implementado en las cabeceras http. Cada vez que se envia un archivo por http ya sea html, imagen o en tu caso iso el servidor envía una lista de datos tales como el nombre, tipo de archivo, peso, etc… Nunca te paso que bajaste un archivo y el navegador no te decia cuanto faltaba para terminar de descargarlo? bueno eso es porque en el header no pusieron el ‘content-lenght’. Dentro de uno de esos datos el servidor puede enviar el md5. Que ninguna pagina lo haga es otra cosa. Tampoco sé si los navegadores lo comprueban.

    Pero en fin… La idea esta muy buena. Es por eso que a veces prefiero gestores de descarga como orbit downloader.

    http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

  2. Pasa que la descarga por HTTP es una poronga.

    Nació casi como un remiendo, pero ahora es demasiado utilizado como para reemplazarlo.

    Y además los navegadores por default no traen nada que mejore la descarga, recién hace poco permiten por ej pausar la descarga, aunque en la práctica la mayoría de las veces q lo hago, termino teniendo q descargar todo de nuevo.

    En mi casa, con la pésima estabilidad del servicio de internet, no bajo ni en pedo imágenes ISO por http, siempre TORRENT, papá, TORRENT. El torrent tiene un sistema de checkeo de partes corruptas tan hermoso que aunque desconectes el cable de internet mil veces en una misma descarga, siempre detecta los chunks jodidos y los repara. Además permite parar, pausar y reanudar cuantas veces quieras, sin que el server del otro lado se harte y te corte todo, o que la descarga no pueda reanudarse y morfarte de nuevo el tiempo q ya te comiste antes, etc.
    Lo que vos pedís es muy lindo.

    Lo que yo pido es que todas las descargas sean por torrent, además, tiene la ventaja de que cuanta más gente lo esté bajando, no afecta negativamente en tu velocidad de bajada, sino que al contrario es mejor.

    Yo soy el hombre saab, donde el saab es un hermoso protocolo p2p.

    • 100% de acuerdo, en especial la primeras 2 frases.

      sigo sin entender por qué el torrent u otro P2P no está más difundido para ser usado en estos casos.

      • Yo no recuerdo que distros hoy en dia, no tienen torrents entre sus opciones de descarga. De hecho, he visto mirrors que solo tienen torrents y los archivitos adicionales de verif., cero isos.

        Endian tambien es una distro que puedas probar, en una de esas, te sirve.

      • Es tal cual, HTTP es un protocolo para transferencia de texto, imágenes, cosas chicas. Nunca estuvo pensado para transferir archivos grandes. De hecho, a principios de los ’90 cuando Tim Berners-Lee creó el protocolo HTTP ya existía el FTP como protocolo para transferir archivos más grandes, con capacidad nativa para resumir descargas rotas. Pero sí, el bittorrent es muchísmo mejor para transferir cosas tan grandes como archivos ISO, especialmente en conexiones con intermitencias.

  3. Holas nada mejor que el complemento de Firefox DownThemAll! que tiene la opción de agregar el chequeo del archivo , pero para ser sincero hasta el momento de hoy no fajo un archivo con errores, con el agravante que donde vivo el servicio de Internet es muy malo hasta para escuchar una radio vía web, además es la primera vez que escribo al blog, que lo leo desde el articulo http://tecnovortex.com/cuando-el-disco-rigido-falla/ , ya que me parece muy interesante el proyecto que hizo desencadenar este articulo, ya que trabajo en un Hospital y como ya dije la velocidad de internet es mala, después de tanto probar me quedo con Ubuntu-Server+Squid+Dnsmasq, para hacer un simple y pequeño Proxy pero que únicamente lo manejo yo que ayuda en algo, así que si no es mucho pedir solicito tengas a bien hacer un articulo de tú experiencia en este tipo de implementaciones para la optimización del uso del Ancho de Banda y para que como vos dijiste sea simple para el Administrar por terceros.

    Desde San Roque-Ctes, Muchas Gracias.

  4. No probaste la distribucion linux brazilw que tiene esas opciones de bloqueo y sirve para todo lo que vos queres se puede cargar desde un diskette o algun disco con poca capacidad dependiendo lo que quieras hacer. hay un foro en español sobre ese sistema.

  5. Pues Downthemall (un gestor de descargas GPL, como extensión para Firefox) incluye validación MD5, SHA, etc. Yo lo uso para descargar por HTTP; además pausa y resume descargas, cuando el servidor lo permite. Claro está que si quieres descargar de servidores pago (llámense Rapidshare, Mediafire. etc.) mejor usen JDownoader; que por cierto también descarga ficheros HTTP o FTP, si copias la ruta del archivo.

  6. Soy raro? Casi no recuerdo archivos que el navegador me diga que está bien y esté mal.

    Siempre se me cae la descarga cuando algo falla.

    Reemplazar magnet links por las descargas comunes sería genial, pero las empresas matarían a quien lo propusiese!

  7. Yo uso siempre el wget en línea de comando, que reintenta muchas veces (es configurable) y que además ejecuto dentro de una sesión de *screen* en un servidor con mucha capacidad para no quedarme corto. Hasta puedo apagar mi computadora que el archivo seguirá bajando. El *screen* te provee de una terminal que podés desconectar y conectar luego desde otro lugar.

    La solución del torrent es bastante buena y la uso bastante, aunque en algunos archivos poco compartidos puede tardar demasiado y eso no es tan piola cuando uno está ansioso.

Deja un respuesta