{"id":2378,"date":"2021-02-28T18:50:44","date_gmt":"2021-03-01T00:50:44","guid":{"rendered":"https:\/\/www.lastdragon.net\/?p=2378"},"modified":"2021-03-22T10:45:28","modified_gmt":"2021-03-22T16:45:28","slug":"ipfs","status":"publish","type":"post","link":"https:\/\/www.lastdragon.net\/?p=2378","title":{"rendered":"IPFS El sistema de archivos interplanetario"},"content":{"rendered":"\n<p><strong>\u00bf Que es ?<\/strong><\/p>\n\n\n\n<p>Es un sistema de archivos distribuidos en red por todo el internet, su funcionamiento esta basado en la colaboraci\u00f3n de nodos que son puestos por los propios usuarios. Su formato interno de operaci\u00f3n es muy similar a bit torrent en cuanto a que es un P2P , sin embargo no es exactamente igual, los archivos son calculados con sumatorias el hash resultante sirve para identificar el archivo lo que le da aun mas ventaja, pues subir 2 veces el mismo archivo har\u00eda simplemente que este disponible en mas lugares pero seria el mismo archivo y eso ayuda a la parte de cacheo. Cada que alguien sube un archivo, este archivo se copia a varios nodos a modo de cache para la distribuci\u00f3n y evitar la censura<\/p>\n\n\n\n<p>Su funcionamiento en consola es de lo mas simple basta con instalar el comando ipfs en el PATH de ejecuci\u00f3n o la carpeta\/directorio home de un usuario, esta escrito en GO por lo que no tiene dependencias, se debe crear un espacio para que el programa pueda trabajar y a partir de ah\u00ed subir, bajar archivos o borrar archivos son simples comandos que recuerdan a la consola de cualquier GNU\/Linux y tambien tiene su administrador y cliente Windows de forma grafica para Windows y MacOS<\/p>\n\n\n\n<p><strong>Utilidades<\/strong>.<\/p>\n\n\n\n<p>Es muy \u00fatil evitando la censura, debido a que todo lo que se sube se copia a otros nodos, aunque el nodo original quede desconectado, los dem\u00e1s nodos que son \u201c an\u00f3nimos \u201c o al menos est\u00e1n muy ocultos ya que nunca se hace referencia a IP de host sino a puros hash de archivos quedan totalmente ocultos, mientras haya personas solicitando archivo , este se copiara a mas nodos y solo mediante el olvido, cuando nadie descarga el archivo que este ser\u00e1 borrado de los nodos. Tampoco requiere un cliente, los directorios y los archivos puede ser descargados desde un URL de cualquier navegador de internet, solo se debe conocer el hash del archivo o directorio a visualizar<\/p>\n\n\n\n<p><strong>Servicios que ya usan de base a ipfs<\/strong><\/p>\n\n\n\n<p>Algunos sitios como <a href=\"https:\/\/d.tube\">https:\/\/d.tube<\/a> que es un sitio que compite con <a href=\"https:\/\/www.youtube.com\">https:\/\/www.youtube.com<\/a> est\u00e1n usando ifps como almacenamiento para sus videos, con esto se est\u00e1n brincando las censuras y los strike de youtube, esto permite que se pueda hablar libremente de cualquier tema sin pensar que youtube te va a bloquear por decir alguna palabra o por un tema pol\u00e9mico<\/p>\n\n\n\n<p><strong>Uso b\u00e1sico de ipfs<\/strong><\/p>\n\n\n\n<p><em>Inicializar ipfs<br \/><\/em><\/p>\n\n\n\n<p>Ipfs init<\/p>\n\n\n\n<p>Prepara un directorio en el home del usuario llamado .ipfs , el nombre empieza con punto para ser un directorio oculto que solo debe ser manipulado por ipfs y no por el usuario.<\/p>\n\n\n\n<p>Ipfs daemon &amp;<\/p>\n\n\n\n<p>Mantiene corriendo ipfs, el &amp; permite m\u00e1ndalo a background para cerrar sesi\u00f3n y que estes siga operando como servicio en un Linux<\/p>\n\n\n\n<p><em>Listar directorio<\/em><\/p>\n\n\n\n<p>ipfs files ls -l<\/p>\n\n\n\n<p><br \/>files contiene sub par\u00e1metros como ls, cd , mkdir, rm, etc, en este caso el ls muestra los directorios que ipfs esta manejando en el host, con -l se muestra el hash que podr\u00eda ser usado para visualizarlo desde un navegador o para descargar usando el propio ipfs<br \/>Respuesta<\/p>\n\n\n\n<p>dtube\/ QmVxRu2iCmLW1Yt2kMkP7C3YPczNzP18XMx8DdqyUD1BBv 0<\/p>\n\n\n\n<p>ipfs files ls \/dtube -l<\/p>\n\n\n\n<p>En este ejemplo listo el contenido del directorio dtube ojo la \/ hace referencia al root de ipfs no al root del sistema operativo GNU\/Linux, los siguientes videos los tengo publicados en dtube pero conociendo el hash se pueden visualizar directamente en el navegador<\/p>\n\n\n\n<p>Respuesta:<\/p>\n\n\n\n<p><br \/>linuxescritorio.mp4 QmVhPJuVuP2p1rJuJCY3n8ZLUm8qcQuGK4BJQU7WyERYu7 991401888<br \/><\/p>\n\n\n\n<p>quagga.mp4 QmTyvKjCrs9yxKRrcvtf8euGVApWsngf5V2tmwpJFHYxFP 1753581930<\/p>\n\n\n\n<p><em>A partir de aqu\u00ed creo que es f\u00e1cil deducir que<\/em><\/p>\n\n\n\n<p>Ipfs files mkdir \/directorio , va a crear un directorio o que ipfs files rm \/directorio\/archivo va a borrar un archivo<\/p>\n\n\n\n<p><em>Como subo yo archivo al sistema ipfs<\/em><\/p>\n\n\n\n<p>Yo uso cat y pipes de la siguiente forma<\/p>\n\n\n\n<p>cat Fedora-Workstation-Live-x86_64-33-1.2.iso | ipfs files write &#8211;create \/dtube\/Fedora-Workstation-Live-x86_64-33-1.2.iso<\/p>\n\n\n\n<p>Esto pasaria el flujo de datos del archivo Fedora-Workstation-Live-x86_64-33-1.2.iso a ipfs que a su vez los escribir\u00eda creando el archivo en el directorio que previamente debe existir llamado dtube<\/p>\n\n\n\n<p>Como descargar por un navegador cualquier archivo conociendo el hash<\/p>\n\n\n\n<p>virtio-win.iso QmYmMXE81pMrSEEGECXbj7qLvCt8BTz8MisfbzhyxXC3YU 371732480<\/p>\n\n\n\n<p>Como URL: https:\/\/ipfs.io\/ipfs\/QmYmMXE81pMrSEEGECXbj7qLvCt8BTz8MisfbzhyxXC3YU<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.lastdragon.net\/misarchivos\/ipfsdownload.jpg\" alt=\"\"\/><\/figure>\n\n\n\n<p>Usando IPFS: ipfs get QmYmMXE81pMrSEEGECXbj7qLvCt8BTz8MisfbzhyxXC3YU<\/p>\n\n\n\n<p>El archivo que se descargara tendr\u00e1 por nombre el hash QmYmMXE81pMrSEEGECXbj7qLvCt8BTz8MisfbzhyxXC3YU , si no te gusta deber\u00edas renombrarlo a un nombre que te guste por ejemplo en GNU\/Linux<\/p>\n\n\n\n<p>mv QmYmMXE81pMrSEEGECXbj7qLvCt8BTz8MisfbzhyxXC3YU virtio-win.iso<\/p>\n\n\n\n<p><strong>Se adjunta video de forma pr\u00e1ctica sobre el tema<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"IPFS | Sistema de archivos interplanetario\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/Nv6EB0VbsPQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u00bf Que es ? Es un sistema de archivos distribuidos en red por todo el internet, su funcionamiento esta basado en la colaboraci\u00f3n de nodos que son puestos por los propios usuarios. Su formato interno de operaci\u00f3n es muy similar a bit torrent en cuanto a que es un P2P , sin embargo no es&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2383,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-2378","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-consultoria-y-manuales"],"_links":{"self":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2378","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2378"}],"version-history":[{"count":2,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2378\/revisions"}],"predecessor-version":[{"id":2384,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2378\/revisions\/2384"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/media\/2383"}],"wp:attachment":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2378"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2378"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}