{"id":7103,"date":"2026-10-26T01:44:57","date_gmt":"2026-10-26T01:44:57","guid":{"rendered":"https:\/\/www.canaldelasrecetas.com\/cms\/?p=7103"},"modified":"2026-10-26T01:44:57","modified_gmt":"2026-10-26T01:44:57","slug":"artcraft-apps-libres-es","status":"publish","type":"post","link":"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-es\/","title":{"rendered":"ArtCraft: 14 programas libres para crear, como Photoshop, Premiere, Word o AutoCAD"},"content":{"rendered":"\n<style>\n.ac-langbar{font-size:.9em;line-height:1.9}\n.ac-anuncio{border:2px solid #cc1500;border-radius:10px;padding:1em 1.2em;margin:1.8em 0;background:#fffaf2}\n.ac-anuncio .ac-et{font-size:.75em;letter-spacing:.08em;text-transform:uppercase;color:#8a6a4a}\n.ac-anuncio img{vertical-align:middle}\n.ac-app h3{margin-bottom:.2em}\n.ac-app .ac-ver{font-size:.8em;font-weight:400;color:#7a6a5a}\n.ac-aviso{border-inline-start:4px solid #dd5500;background:#fff6ec;padding:.8em 1em;margin:1.2em 0;font-size:.95em}\n.ac-bajar{display:inline-block;background:#1f6feb;color:#fff!important;padding:.6em 1.1em;border-radius:8px;font-weight:700;text-decoration:none}\n.ac-code{direction:ltr;text-align:left;background:#1e1e1e;color:#e8e8e8;padding:1em;border-radius:8px;overflow:auto;max-height:28em;font-size:.82em;line-height:1.45;white-space:pre}\n.ac-code-corto{max-height:none}\n<\/style>\n<p class=\"ac-langbar\">\ud83c\udf10 <strong>Espa\u00f1ol<\/strong> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-en\/\" hreflang=\"en\">English<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-pt\/\" hreflang=\"pt\">Portugu\u00eas<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-fr\/\" hreflang=\"fr\">Fran\u00e7ais<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-it\/\" hreflang=\"it\">Italiano<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-de\/\" hreflang=\"de\">Deutsch<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-nl\/\" hreflang=\"nl\">Nederlands<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-pl\/\" hreflang=\"pl\">Polski<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-ru\/\" hreflang=\"ru\">\u0420\u0443\u0441\u0441\u043a\u0438\u0439<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-uk\/\" hreflang=\"uk\">\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-tr\/\" hreflang=\"tr\">T\u00fcrk\u00e7e<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-el\/\" hreflang=\"el\">\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-ar\/\" hreflang=\"ar\">\u0627\u0644\u0639\u0631\u0628\u064a\u0629<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-fa\/\" hreflang=\"fa\">\u0641\u0627\u0631\u0633\u06cc<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-he\/\" hreflang=\"he\">\u05e2\u05d1\u05e8\u05d9\u05ea<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-hi\/\" hreflang=\"hi\">\u0939\u093f\u0928\u094d\u0926\u0940<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-bn\/\" hreflang=\"bn\">\u09ac\u09be\u0982\u09b2\u09be<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-ta\/\" hreflang=\"ta\">\u0ba4\u0bae\u0bbf\u0bb4\u0bcd<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-id\/\" hreflang=\"id\">Bahasa Indonesia<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-vi\/\" hreflang=\"vi\">Ti\u1ebfng Vi\u1ec7t<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-th\/\" hreflang=\"th\">\u0e44\u0e17\u0e22<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-zh\/\" hreflang=\"zh\">\u4e2d\u6587<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-ja\/\" hreflang=\"ja\">\u65e5\u672c\u8a9e<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-ko\/\" hreflang=\"ko\">\ud55c\uad6d\uc5b4<\/a> &middot; <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-sw\/\" hreflang=\"sw\">Kiswahili<\/a><\/p>\n<h2>La historia: una cuota de cancelaci\u00f3n de m\u00e1s<\/h2>\n<p>La historia que m\u00e1s circula estas semanas en foros y redes es que ArtCraft naci\u00f3 de un enfado: a su autor \u00ablo estafaron\u00bb. Detr\u00e1s del proyecto est\u00e1 <strong>Brandon Thomas<\/strong>, un ingeniero de software de Atlanta (Estados Unidos) con quince a\u00f1os de oficio, que en Reddit firmaba como <em>u\/ai_art_is_art<\/em>. La palabra \u00abestafa\u00bb la pone la gente; lo que \u00e9l cuenta es que Adobe le cobr\u00f3 la <strong>cuota de cancelaci\u00f3n<\/strong> de su suscripci\u00f3n.<\/p>\n<p>\u00abMe cobraron la \u201ccuota de cancelaci\u00f3n\u201d en varias ocasiones y los odio desde entonces\u00bb, escribi\u00f3 en Reddit. En Hacker News dijo que hab\u00eda ca\u00eddo demasiadas veces en ese \u00abpatr\u00f3n oscuro\u00bb: la penalizaci\u00f3n que se cobra al darse de baja antes de tiempo de un plan anual que se paga mes a mes. No es una queja aislada: en junio de 2024 el Departamento de Justicia de EE. UU. demand\u00f3 a Adobe por ocultar esas cuotas y poner trabas a la baja. Adobe sostiene que sus condiciones son transparentes.<\/p>\n<p>Su respuesta fue rehacer los programas y regalarlos. Con ayuda de Claude, la inteligencia artificial de Anthropic, y el lenguaje Rust, entre finales de septiembre y principios de octubre de 2026 public\u00f3 en GitHub las siete primeras aplicaciones \u2014el equivalente a Photoshop, Illustrator, Premiere, Lightroom, After Effects, InDesign y Acrobat\u2014 y en pocas semanas sum\u00f3 Word, PowerPoint, Excel, AutoCAD, Pro Tools y Figma. Asegura que son reimplementaciones \u00aben sala limpia\u00bb, hechas a partir de las especificaciones p\u00fablicas de los formatos, sin el c\u00f3digo de nadie.<\/p>\n<p>La frase con la que lo resumi\u00f3, \u00abel software se acab\u00f3\u00bb, dio la vuelta al mundo: si una persona con IA puede rehacer en semanas lo que cost\u00f3 d\u00e9cadas, el software de pago lo tendr\u00e1 dif\u00edcil. Hay quien duda: el profesor Andr\u00e9s Guadamuz, de la Universidad de Sussex, recuerda que todav\u00eda no se sabe si ese proceso \u00aben sala limpia\u00bb resiste un examen, ni cu\u00e1nto c\u00f3digo escribi\u00f3 \u00e9l y cu\u00e1nto la IA. Thomas insiste en que no es \u00abuna moda pasajera que morir\u00e1\u00bb, y por ahora el ritmo de versiones, casi diario, le da la raz\u00f3n.<\/p>\n<aside class=\"ac-anuncio\"><div class=\"ac-et\">Anuncio<\/div><p><strong>Programas libres para crear; JamboQR para compartir ofertas.<\/strong> Con <strong>JamboQR<\/strong> armas un club de ofertas con tus vecinos y amigos: cada quien publica lo que encuentra, con foto, precio y lugar. Gratis.<\/p><p><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.jamboqr.app&amp;hl=es&amp;referrer=utm_source%3Dcanaldelasrecetas%26utm_medium%3Dartcraft-inicio%26utm_campaign%3Dartcraft-es\" rel=\"noopener sponsored\"><img decoding=\"async\" src=\"https:\/\/www.canaldelasrecetas.com\/cms\/wp-content\/uploads\/2026\/10\/google-play-es.png\" alt=\"Google Play\" width=\"180\" loading=\"lazy\" title=\"ArtCraft: 14 programas libres para crear, como Photoshop, Premiere, Word o AutoCAD\"><\/a> &nbsp;o en <a href=\"https:\/\/jamboqr.net\/?utm_source=canaldelasrecetas&amp;utm_medium=artcraft-inicio&amp;utm_campaign=artcraft-es\" rel=\"noopener sponsored\"><strong>jamboqr.net<\/strong><\/a><\/p><\/aside>\n<p><strong>ArtCraft<\/strong> es un proyecto de c\u00f3digo abierto (licencia MIT o Apache-2.0) del equipo <em>storytold<\/em> que est\u00e1 reescribiendo desde cero, en Rust, las herramientas que usamos a diario para crear. Son programas nativos y ligeros, sin suscripciones, que imitan c\u00f3mo trabajan los programas comerciales m\u00e1s conocidos sin copiar su c\u00f3digo. Funcionan en <strong>Windows, macOS, Linux y FreeBSD<\/strong>, muchos tambi\u00e9n en el navegador, y salen versiones nuevas casi cada semana. Los nombres comerciales que mencionamos son solo una referencia: no tienen relaci\u00f3n con esas marcas.<\/p>\n<h2>Las herramientas, una por una<\/h2>\n<div class=\"ac-app\"><h3><a href=\"https:\/\/github.com\/storytold\/craft-launcher\" rel=\"noopener\">ArtCraft Launcher<\/a> <span class=\"ac-ver\" dir=\"ltr\">v0.8.1<\/span><\/h3><p>Empieza por aqu\u00ed. Es el instalador de todas las dem\u00e1s: muestra el cat\u00e1logo completo, instala cada aplicaci\u00f3n con un clic eligiendo la versi\u00f3n correcta para tu equipo, comprueba que el archivo no est\u00e9 da\u00f1ado y avisa cuando hay actualizaciones. No hay un paquete \u00fanico con todo, pero este lanzador es lo m\u00e1s parecido.<\/p><\/div>\n<div class=\"ac-app\"><h3><a href=\"https:\/\/github.com\/storytold\/photocraft\" rel=\"noopener\">PhotoCraft<\/a> <span class=\"ac-ver\" dir=\"ltr\">v0.16.0<\/span><\/h3><p>El editor de im\u00e1genes, en la l\u00ednea de Photoshop: capas, selecciones, pinceles, ajustes y retoque. Es la herramienta m\u00e1s popular del proyecto en GitHub.<\/p><\/div>\n<div class=\"ac-app\"><h3><a href=\"https:\/\/github.com\/storytold\/lightcraft\" rel=\"noopener\">LightCraft<\/a> <span class=\"ac-ver\" dir=\"ltr\">v0.14.0<\/span><\/h3><p>Biblioteca de fotos y revelado RAW no destructivo, al estilo de Lightroom: organizas tus fotos y ajustas exposici\u00f3n, color y recorte sin tocar nunca el archivo original.<\/p><\/div>\n<div class=\"ac-app\"><h3><a href=\"https:\/\/github.com\/storytold\/vectorcraft\" rel=\"noopener\">VectorCraft<\/a> <span class=\"ac-ver\" dir=\"ltr\">v0.17.0<\/span><\/h3><p>Ilustraci\u00f3n vectorial como en Illustrator: curvas, formas, trazos y texto que se pueden ampliar sin perder calidad. Sirve para logotipos, iconos y carteles.<\/p><\/div>\n<div class=\"ac-app\"><h3><a href=\"https:\/\/github.com\/storytold\/filmcraft\" rel=\"noopener\">FilmCraft<\/a> <span class=\"ac-ver\" dir=\"ltr\">v0.13.0<\/span><\/h3><p>Editor de v\u00eddeo no lineal, parecido a Premiere Pro: l\u00ednea de tiempo con varias pistas, cortes, correcci\u00f3n de color y sonido.<\/p><\/div>\n<aside class=\"ac-anuncio\"><div class=\"ac-et\">Anuncio<\/div><p><strong>Programas libres para crear; JamboQR para compartir ofertas.<\/strong> Con <strong>JamboQR<\/strong> armas un club de ofertas con tus vecinos y amigos: cada quien publica lo que encuentra, con foto, precio y lugar. Gratis.<\/p><p><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.jamboqr.app&amp;hl=es&amp;referrer=utm_source%3Dcanaldelasrecetas%26utm_medium%3Dartcraft-5%26utm_campaign%3Dartcraft-es\" rel=\"noopener sponsored\"><img decoding=\"async\" src=\"https:\/\/www.canaldelasrecetas.com\/cms\/wp-content\/uploads\/2026\/10\/google-play-es.png\" alt=\"Google Play\" width=\"180\" loading=\"lazy\" title=\"ArtCraft: 14 programas libres para crear, como Photoshop, Premiere, Word o AutoCAD\"><\/a> &nbsp;o en <a href=\"https:\/\/jamboqr.net\/?utm_source=canaldelasrecetas&amp;utm_medium=artcraft-5&amp;utm_campaign=artcraft-es\" rel=\"noopener sponsored\"><strong>jamboqr.net<\/strong><\/a><\/p><\/aside>\n<div class=\"ac-app\"><h3><a href=\"https:\/\/github.com\/storytold\/effectcraft\" rel=\"noopener\">EffectCraft<\/a> <span class=\"ac-ver\" dir=\"ltr\">v0.17.0<\/span><\/h3><p>Gr\u00e1ficos animados, composici\u00f3n y efectos visuales en la l\u00ednea de After Effects: t\u00edtulos, animaciones por fotogramas clave y capas que se combinan.<\/p><\/div>\n<div class=\"ac-app\"><h3><a href=\"https:\/\/github.com\/storytold\/soundcraft\" rel=\"noopener\">SoundCraft<\/a> <span class=\"ac-ver\" dir=\"ltr\">v0.13.1<\/span><\/h3><p>Estaci\u00f3n de audio para grabar, editar y mezclar, inspirada en Pro Tools: varias pistas, cortes, efectos y mezcla final.<\/p><\/div>\n<div class=\"ac-app\"><h3><a href=\"https:\/\/github.com\/storytold\/designcraft\" rel=\"noopener\">DesignCraft<\/a> <span class=\"ac-ver\" dir=\"ltr\">v0.13.0<\/span><\/h3><p>Maquetaci\u00f3n y publicaci\u00f3n al estilo de InDesign: revistas, folletos y libros con p\u00e1ginas, columnas, estilos de texto e im\u00e1genes.<\/p><\/div>\n<div class=\"ac-app\"><h3><a href=\"https:\/\/github.com\/storytold\/figcraft\" rel=\"noopener\">FigCraft<\/a> <span class=\"ac-ver\" dir=\"ltr\">v0.11.2<\/span><\/h3><p>Dise\u00f1o de interfaces y prototipos, como Figma: pantallas de aplicaciones y webs, componentes reutilizables y maquetas para ense\u00f1ar c\u00f3mo funcionar\u00e1 algo antes de programarlo.<\/p><\/div>\n<div class=\"ac-app\"><h3><a href=\"https:\/\/github.com\/storytold\/pdfcraft\" rel=\"noopener\">PdfCraft<\/a> <span class=\"ac-ver\" dir=\"ltr\">v0.14.0<\/span><\/h3><p>Para leer, organizar y proteger PDF, en la l\u00ednea de Acrobat: abrir, anotar, reordenar p\u00e1ginas y guardar documentos protegidos.<\/p><\/div>\n<aside class=\"ac-anuncio\"><div class=\"ac-et\">Anuncio<\/div><p><strong>Programas libres para crear; JamboQR para compartir ofertas.<\/strong> Con <strong>JamboQR<\/strong> armas un club de ofertas con tus vecinos y amigos: cada quien publica lo que encuentra, con foto, precio y lugar. Gratis.<\/p><p><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.jamboqr.app&amp;hl=es&amp;referrer=utm_source%3Dcanaldelasrecetas%26utm_medium%3Dartcraft-10%26utm_campaign%3Dartcraft-es\" rel=\"noopener sponsored\"><img decoding=\"async\" src=\"https:\/\/www.canaldelasrecetas.com\/cms\/wp-content\/uploads\/2026\/10\/google-play-es.png\" alt=\"Google Play\" width=\"180\" loading=\"lazy\" title=\"ArtCraft: 14 programas libres para crear, como Photoshop, Premiere, Word o AutoCAD\"><\/a> &nbsp;o en <a href=\"https:\/\/jamboqr.net\/?utm_source=canaldelasrecetas&amp;utm_medium=artcraft-10&amp;utm_campaign=artcraft-es\" rel=\"noopener sponsored\"><strong>jamboqr.net<\/strong><\/a><\/p><\/aside>\n<div class=\"ac-app\"><h3><a href=\"https:\/\/github.com\/storytold\/wordcraft\" rel=\"noopener\">WordCraft<\/a> <span class=\"ac-ver\" dir=\"ltr\">v0.11.0<\/span><\/h3><p>Procesador de textos parecido a Word, para cartas, informes y documentos con estilos, tablas e im\u00e1genes.<\/p><\/div>\n<div class=\"ac-app\"><h3><a href=\"https:\/\/github.com\/storytold\/deckcraft\" rel=\"noopener\">DeckCraft<\/a> <span class=\"ac-ver\" dir=\"ltr\">v0.11.1<\/span><\/h3><p>Presentaciones y diapositivas, al estilo de PowerPoint: diapositivas con texto, im\u00e1genes y formas para exponer en pantalla completa.<\/p><\/div>\n<div class=\"ac-app\"><h3><a href=\"https:\/\/github.com\/storytold\/gridcraft\" rel=\"noopener\">GridCraft<\/a> <span class=\"ac-ver\" dir=\"ltr\">v0.12.1<\/span><\/h3><p>Hoja de c\u00e1lculo como Excel: f\u00f3rmulas, tablas de datos, gr\u00e1ficos y ordenar o filtrar informaci\u00f3n.<\/p><\/div>\n<div class=\"ac-app\"><h3><a href=\"https:\/\/github.com\/storytold\/cadcraft\" rel=\"noopener\">CADCraft<\/a> <span class=\"ac-ver\" dir=\"ltr\">v0.13.0<\/span><\/h3><p>Dise\u00f1o asistido por computadora y dibujo t\u00e9cnico, en la l\u00ednea de AutoCAD: planos con medidas exactas, capas y cotas.<\/p><\/div>\n<div class=\"ac-app\"><h3><a href=\"https:\/\/github.com\/storytold\/artcraft\" rel=\"noopener\">ArtCraft<\/a> <span class=\"ac-ver\" dir=\"ltr\">v0.41.0<\/span><\/h3><p>La aplicaci\u00f3n que da nombre al proyecto, y la \u00fanica que va aparte del resto: un estudio para crear im\u00e1genes y v\u00eddeo con inteligencia artificial, pensado para artistas, dise\u00f1adores y cineastas. Por ahora solo para Windows y Mac.<\/p><\/div>\n<h2 id=\"script\">Gu\u00e1rdalas todas: c\u00f3digo fuente y ejecutables<\/h2>\n<p>Si te gusta tener copia de todo (por si un d\u00eda desaparece un proyecto, o para instalar sin Internet), este script para Linux descarga el <strong>c\u00f3digo fuente<\/strong> de cada herramienta y <strong>todos los ejecutables de su \u00faltima versi\u00f3n<\/strong>, ordenados en carpetas por herramienta y por sistema (Windows, macOS, Linux, FreeBSD y web). Descompr\u00edmelo y ejec\u00fatalo; el argumento es la carpeta de destino, y con <code>PLATFORMS<\/code> y <code>EXCLUDE<\/code> eliges qu\u00e9 bajar:<\/p>\n<p><a class=\"ac-bajar\" href=\"https:\/\/www.canaldelasrecetas.com\/cms\/wp-content\/uploads\/2026\/10\/artcraft-mirror.zip\" download>\u2b07 Descargar el script (artcraft-mirror.zip)<\/a><\/p>\n<pre class=\"ac-code ac-code-corto\" dir=\"ltr\"><code>chmod +x artcraft-mirror.sh\n.\/artcraft-mirror.sh ~\/artcraft\n\nPLATFORMS=&quot;windows linux&quot; EXCLUDE=&#x27;riscv64|aarch64&#x27; .\/artcraft-mirror.sh ~\/artcraft<\/code><\/pre>\n<ul><li><strong>Se puede interrumpir:<\/strong> si se corta, vuelve a ejecutarlo y sigue donde se qued\u00f3.<\/li><li><strong>Solo baja lo nuevo:<\/strong> cuando sale una versi\u00f3n, crea su carpeta y no toca las anteriores.<\/li><li><strong>Lo verifica todo<\/strong> con las sumas SHA-256 que publica cada versi\u00f3n.<\/li><li><strong>Ocupa mucho:<\/strong> todas las plataformas suman unos 24 GB por versi\u00f3n; si solo te interesan algunas, filtra.<\/li><\/ul>\n<details><summary>Ver el script completo<\/summary><pre class=\"ac-code\" dir=\"ltr\"><code>#!\/usr\/bin\/env bash\n# artcraft-mirror.sh \u2014 espejo local de las Craft Apps de ArtCraft (github.com\/storytold)\n#\n# Estructura que genera:\n#   &lt;DEST&gt;\/&lt;herramienta&gt;\/code\/&lt;rama&gt;-&lt;herramienta&gt;-AAAAMMDD.zip   (+ .sha con el commit)\n#   &lt;DEST&gt;\/&lt;herramienta&gt;\/release-&lt;versi\u00f3n&gt;\/{windows,macos,linux,freebsd,web,otros}\/...\n#   &lt;DEST&gt;\/&lt;herramienta&gt;\/release-&lt;versi\u00f3n&gt;\/SHA256SUMS.txt\n#\n# - Reanudable: las descargas van a *.part y contin\u00faan con Range (curl -C -).\n#   Una release se da por terminada s\u00f3lo cuando todo se verific\u00f3 contra SHA256SUMS\n#   (queda el marcador .complete). Si se corta, se vuelve a ejecutar y sigue.\n# - Incremental: s\u00f3lo mira la \u00faltima release de cada herramienta; las carpetas\n#   release-* anteriores y los zip de c\u00f3digo de d\u00edas anteriores no se tocan.\n# - El c\u00f3digo fuente se baja s\u00f3lo si el commit de la rama principal cambi\u00f3.\n#\n# Uso:\n#   .\/artcraft-mirror.sh [DEST]           (DEST por defecto: carpeta del script)\n# Variables opcionales:\n#   GITHUB_TOKEN=ghp_...                  sube el l\u00edmite de la API de 60 a 5000 llamadas\/h\n#   PLATFORMS=&quot;windows linux macos&quot;       s\u00f3lo estas plataformas (por defecto todas)\n#   EXCLUDE=&#x27;riscv64|aarch64|flatpak&#x27;     regex de nombres de archivo a omitir\n#   TOOLS=&quot;photocraft cadcraft&quot;           s\u00f3lo estas herramientas\n#   EXTRA_TOOLS=&quot;anicraft&quot;                a\u00f1adir repos de storytold no incluidos en el cat\u00e1logo\n#   SKIP_CODE=1 \/ SKIP_RELEASES=1\n\nset -uo pipefail\n\nOWNER=storytold\nSCRIPT_DIR=$(cd &quot;$(dirname &quot;${BASH_SOURCE[0]}&quot;)&quot; &amp;&amp; pwd)\nDEST=${1:-$SCRIPT_DIR}\nPLATFORMS=${PLATFORMS:-&quot;windows macos linux freebsd web otros&quot;}\nEXCLUDE=${EXCLUDE:-}\nTODAY=$(date +%Y%m%d)\n\n# Cat\u00e1logo de respaldo por si no se puede leer el del launcher\nFALLBACK_TOOLS=&quot;photocraft vectorcraft filmcraft lightcraft pdfcraft effectcraft designcraft\nfigcraft wordcraft soundcraft deckcraft cadcraft gridcraft&quot;\n# Fuera del cat\u00e1logo del launcher pero con releases propias\nALWAYS_TOOLS=&quot;craft-launcher artcraft&quot;\n\nfor bin in curl jq git sha256sum flock; do\n    command -v &quot;$bin&quot; &gt;\/dev\/null || { echo &quot;Falta &#x27;$bin&#x27;&quot; &gt;&amp;2; exit 1; }\ndone\n\nmkdir -p &quot;$DEST&quot;\nexec 9&gt;&quot;$DEST\/.artcraft-mirror.lock&quot;\nflock -n 9 || { echo &quot;Ya hay otra ejecuci\u00f3n en curso en $DEST&quot; &gt;&amp;2; exit 1; }\n\nlog()  { printf &#x27;[%s] %s\\n&#x27; &quot;$(date +%H:%M:%S)&quot; &quot;$*&quot;; }\nwarn() { printf &#x27;[%s] AVISO: %s\\n&#x27; &quot;$(date +%H:%M:%S)&quot; &quot;$*&quot; &gt;&amp;2; }\n\napi() {\n    local auth=()\n    [[ -n ${GITHUB_TOKEN:-} ]] &amp;&amp; auth=(-H &quot;Authorization: Bearer $GITHUB_TOKEN&quot;)\n    curl -fsSL --retry 3 -H &quot;Accept: application\/vnd.github+json&quot; &quot;${auth[@]}&quot; \\\n        &quot;https:\/\/api.github.com\/$1&quot;\n}\n\n# Descarga: $1 url, $2 destino final, $3 tama\u00f1o esperado.\n# Con tama\u00f1o conocido contin\u00faa el .part (Range); sin \u00e9l (zip de c\u00f3digo, generado\n# al vuelo y sin Range) empieza de cero.\nfetch() {\n    local url=$1 out=$2 size=${3:-} part=&quot;$2.part&quot; have resume=()\n    mkdir -p &quot;$(dirname &quot;$out&quot;)&quot;\n    if [[ -n $size &amp;&amp; -f $part ]]; then\n        have=$(stat -c %s &quot;$part&quot;)\n        if (( have == size )); then mv -f &quot;$part&quot; &quot;$out&quot;; return 0; fi\n        if (( have &gt; size )); then rm -f &quot;$part&quot;; fi\n        resume=(-C -)\n    else\n        rm -f &quot;$part&quot;\n    fi\n    curl -fL --retry 5 --retry-delay 5 --retry-all-errors &quot;${resume[@]}&quot; \\\n        --progress-bar -o &quot;$part&quot; &quot;$url&quot; || return 1\n    mv -f &quot;$part&quot; &quot;$out&quot;\n}\n\nplatform_of() {\n    case $1 in\n        SHA256SUMS*)                              echo . ;;\n        *windows*|*.msi|*.exe)                    echo windows ;;\n        *macos*|*.dmg|*.app.tar.gz|*universal*)   echo macos ;;\n        *freebsd*)                                echo freebsd ;;\n        *linux*|*.AppImage*|*.deb|*.rpm|*.flatpak) echo linux ;;\n        *-web-*)                                  echo web ;;\n        *)                                        echo otros ;;\n    esac\n}\n\nwanted() {\n    local name=$1 plat=$2\n    [[ $plat == . ]] &amp;&amp; return 0\n    [[ &quot; $PLATFORMS &quot; == *&quot; $plat &quot;* ]] || return 1\n    [[ -n $EXCLUDE &amp;&amp; $name =~ $EXCLUDE ]] &amp;&amp; return 1\n    return 0\n}\n\ntool_list() {\n    if [[ -n ${TOOLS:-} ]]; then echo $TOOLS; return; fi\n    local cat\n    cat=$(curl -fsSL &quot;https:\/\/raw.githubusercontent.com\/$OWNER\/craft-launcher\/main\/crates\/core\/src\/catalog.rs&quot; 2&gt;\/dev\/null \\\n          | grep -oE &quot;\\&quot;$OWNER\/[a-z0-9-]+\\&quot;&quot; | tr -d &#x27;&quot;&#x27; | cut -d\/ -f2 | grep -v &#x27;^craft-launcher$&#x27; | sort -u)\n    [[ -z $cat ]] &amp;&amp; { warn &quot;no pude leer el cat\u00e1logo del launcher; uso la lista interna&quot;; cat=$FALLBACK_TOOLS; }\n    echo $cat $ALWAYS_TOOLS ${EXTRA_TOOLS:-} | tr &#x27; &#x27; &#x27;\\n&#x27; | awk &#x27;NF &amp;&amp; !seen[$0]++&#x27;\n}\n\nmirror_code() {\n    local tool=$1 dir=&quot;$DEST\/$1\/code&quot; head branch sha last\n    head=$(git ls-remote --symref &quot;https:\/\/github.com\/$OWNER\/$tool&quot; HEAD 2&gt;\/dev\/null) \\\n        || { warn &quot;$tool: no pude consultar el repositorio&quot;; return 1; }\n    branch=$(awk &#x27;\/^ref:\/ {sub(&quot;refs\/heads\/&quot;,&quot;&quot;,$2); print $2}&#x27; &lt;&lt;&lt;&quot;$head&quot;)\n    sha=$(awk &#x27;$2==&quot;HEAD&quot; &amp;&amp; $1!=&quot;ref:&quot; {print $1}&#x27; &lt;&lt;&lt;&quot;$head&quot;)\n    mkdir -p &quot;$dir&quot;\n\n    last=$(ls -1 &quot;$dir&quot;\/*.zip.sha 2&gt;\/dev\/null | sort | tail -1)\n    if [[ -n $last &amp;&amp; $(&lt;&quot;$last&quot;) == &quot;$sha&quot; ]]; then\n        log &quot;$tool: c\u00f3digo al d\u00eda ($branch@${sha:0:8})&quot;\n        return 0\n    fi\n    local zip=&quot;$dir\/$branch-$tool-$TODAY.zip&quot;\n    log &quot;$tool: bajando c\u00f3digo $branch@${sha:0:8} \u2192 $(basename &quot;$zip&quot;)&quot;\n    # El zip por commit garantiza que el archivo corresponde al sha anotado\n    fetch &quot;https:\/\/github.com\/$OWNER\/$tool\/archive\/$sha.zip&quot; &quot;$zip&quot; || { warn &quot;$tool: fall\u00f3 el zip&quot;; return 1; }\n    echo &quot;$sha&quot; &gt; &quot;$zip.sha&quot;\n}\n\nverify() { # $1 archivo, $2 SHA256SUMS \u2192 0 ok \/ 1 mal \/ 2 sin suma publicada\n    local file=$1 sums=$2 expected\n    [[ -f $sums ]] || return 2\n    expected=$(awk -v n=&quot;$(basename &quot;$file&quot;)&quot; &#x27;{f=$2; sub(\/^\\*\/,&quot;&quot;,f)} f==n {print $1}&#x27; &quot;$sums&quot;)\n    [[ -z $expected ]] &amp;&amp; return 2\n    [[ $(sha256sum &quot;$file&quot; | cut -d&#x27; &#x27; -f1) == &quot;$expected&quot; ]]\n}\n\nmirror_release() {\n    local tool=$1 json tag ver rdir\n    json=$(api &quot;repos\/$OWNER\/$tool\/releases\/latest&quot;) || { warn &quot;$tool: sin releases o l\u00edmite de API alcanzado&quot;; return 1; }\n    tag=$(jq -r .tag_name &lt;&lt;&lt;&quot;$json&quot;)\n    ver=${tag#&quot;$tool&quot;-}; ver=${ver#v}\n    rdir=&quot;$DEST\/$tool\/release-$ver&quot;\n\n    if [[ -f $rdir\/.complete &amp;&amp; $(&lt;&quot;$rdir\/.complete&quot;) == &quot;$PLATFORMS|$EXCLUDE&quot; ]]; then\n        log &quot;$tool: release $ver ya completa&quot;\n        return 0\n    fi\n    log &quot;$tool: release $ver&quot;\n    mkdir -p &quot;$rdir&quot;\n    jq -c &#x27;{tag_name, name, published_at, html_url, body}&#x27; &lt;&lt;&lt;&quot;$json&quot; &gt; &quot;$rdir\/release.json&quot;\n\n    local ok=1 name url size plat out sums=&quot;$rdir\/SHA256SUMS.txt&quot;\n    # SHA256SUMS primero para poder verificar el resto\n    while IFS=$&#x27;\\t&#x27; read -r name url size; do\n        plat=$(platform_of &quot;$name&quot;)\n        wanted &quot;$name&quot; &quot;$plat&quot; || continue\n        if [[ $plat == . ]]; then out=&quot;$rdir\/$name&quot;; else out=&quot;$rdir\/$plat\/$name&quot;; fi\n\n        if [[ -f $out ]]; then\n            verify &quot;$out&quot; &quot;$sums&quot;; case $? in\n                0) continue ;;\n                2) [[ $(stat -c %s &quot;$out&quot;) == &quot;$size&quot; ]] &amp;&amp; continue ;;\n            esac\n            warn &quot;$tool: $name no coincide, se vuelve a bajar&quot;; rm -f &quot;$out&quot;\n        fi\n        log &quot;  \u2193 ${out#&quot;$rdir&quot;\/} ($((size \/ 1048576)) MiB)&quot;\n        if ! fetch &quot;$url&quot; &quot;$out&quot; &quot;$size&quot;; then warn &quot;  fall\u00f3 $name&quot;; ok=0; continue; fi\n        verify &quot;$out&quot; &quot;$sums&quot;; case $? in\n            1) warn &quot;  checksum INCORRECTO: $name (se borra)&quot;; rm -f &quot;$out&quot;; ok=0 ;;\n            2) [[ $name != SHA256SUMS* ]] &amp;&amp; [[ $(stat -c %s &quot;$out&quot;) != &quot;$size&quot; ]] &amp;&amp; { warn &quot;  tama\u00f1o incorrecto: $name&quot;; rm -f &quot;$out&quot;; ok=0; } ;;\n        esac\n    done &lt; &lt;(jq -r &#x27;.assets | sort_by(.name | startswith(&quot;SHA256SUMS&quot;) | not)[]\n                    | [.name, .browser_download_url, .size] | @tsv&#x27; &lt;&lt;&lt;&quot;$json&quot;)\n\n    if (( ok )); then echo &quot;$PLATFORMS|$EXCLUDE&quot; &gt; &quot;$rdir\/.complete&quot;; log &quot;$tool: release $ver completa \u2714&quot;\n    else warn &quot;$tool: release $ver incompleta; vuelve a ejecutar el script para continuar&quot;; return 1; fi\n}\n\nfail=0\nfor tool in $(tool_list); do\n    echo &quot;\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 $tool&quot;\n    [[ -z ${SKIP_CODE:-} ]]     &amp;&amp; { mirror_code &quot;$tool&quot;    || fail=1; }\n    [[ -z ${SKIP_RELEASES:-} ]] &amp;&amp; { mirror_release &quot;$tool&quot; || fail=1; }\ndone\n\n(( fail )) &amp;&amp; { warn &quot;Hubo errores; ejecuta de nuevo para reintentar lo pendiente.&quot;; exit 1; }\nlog &quot;Todo al d\u00eda en $DEST&quot;\n<\/code><\/pre><\/details>\n<p class=\"ac-aviso\">Son programas muy j\u00f3venes, casi todos marcados como <em>alfa temprana<\/em>: prometen mucho, pero todav\u00eda no sustituyen a las herramientas profesionales para un trabajo serio. Pru\u00e9balos, guarda copia de tus archivos y, si encuentras un fallo, rep\u00f3rtalo en su GitHub.<\/p>\n<h2>Referencias<\/h2>\n<ul class=\"ac-refs\"><li><a href=\"https:\/\/github.com\/storytold\" rel=\"noopener\">GitHub \u00b7 storytold (todas las Crafting Apps)<\/a><\/li><li><a href=\"https:\/\/github.com\/storytold\/craft-launcher\" rel=\"noopener\">GitHub \u00b7 ArtCraft Launcher<\/a><\/li><li><a href=\"https:\/\/github.com\/storytold\/artcraft\" rel=\"noopener\">GitHub \u00b7 ArtCraft<\/a><\/li><li><a href=\"https:\/\/getartcraft.com\/\" rel=\"noopener\">getartcraft.com<\/a><\/li><li><a href=\"https:\/\/www.aljazeera.com\/news\/2026\/10\/14\/how-ai-apps-are-offering-free-substitutes-for-big-tech-software\" rel=\"noopener\">Al Jazeera (14-10-2026) \u00b7 How AI apps are offering free substitutes for Big Tech software<\/a><\/li><li><a href=\"https:\/\/amateurphotographer.com\/latest\/photo-news\/this-home-coder-got-so-sick-of-adobe-he-built-free-open-source-versions-of-photoshop-lightroom-and-premiere\/\" rel=\"noopener\">Amateur Photographer (08-10-2026) \u00b7 This home coder got so sick of Adobe he built free, open-source versions of Photoshop, Lightroom and Premiere<\/a><\/li><li><a href=\"https:\/\/petapixel.com\/2026\/10\/07\/someone-rebuilt-free-open-source-versions-of-photoshop-premiere-and-lightroom-using-ai\/\" rel=\"noopener\">PetaPixel (07-10-2026) \u00b7 Someone Rebuilt Free, Open-Source Versions of Photoshop, Premiere, and Lightroom Using AI<\/a><\/li><li><a href=\"https:\/\/www.creativebloq.com\/design\/design-software\/someone-just-rebuilt-adobe-creative-cloud-with-ai-then-gave-it-away-for-free\" rel=\"noopener\">Creative Bloq \u00b7 Someone just rebuilt Adobe Creative Cloud with AI \u2013 then gave it away for free<\/a><\/li><li><a href=\"https:\/\/www.cined.com\/artcraft-releases-free-open-source-adobe-alternatives-filmcraft-for-premiere-pro-effectcraft-for-after-effects-written-in-rust-with-ai\/\" rel=\"noopener\">CineD \u00b7 ArtCraft Releases Free Open-Source Adobe Alternatives<\/a><\/li><li><a href=\"https:\/\/korben.info\/en\/i-tested-the-12-free-clones-of-adobe-and-microsoft.html\" rel=\"noopener\">Korben \u00b7 I tested the 12 free clones of Adobe and Microsoft<\/a><\/li><\/ul>\n<aside class=\"ac-anuncio\"><div class=\"ac-et\">Anuncio<\/div><p><strong>Programas libres para crear; JamboQR para compartir ofertas.<\/strong> Con <strong>JamboQR<\/strong> armas un club de ofertas con tus vecinos y amigos: cada quien publica lo que encuentra, con foto, precio y lugar. Gratis.<\/p><p><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.jamboqr.app&amp;hl=es&amp;referrer=utm_source%3Dcanaldelasrecetas%26utm_medium%3Dartcraft-final%26utm_campaign%3Dartcraft-es\" rel=\"noopener sponsored\"><img decoding=\"async\" src=\"https:\/\/www.canaldelasrecetas.com\/cms\/wp-content\/uploads\/2026\/10\/google-play-es.png\" alt=\"Google Play\" width=\"180\" loading=\"lazy\" title=\"ArtCraft: 14 programas libres para crear, como Photoshop, Premiere, Word o AutoCAD\"><\/a> &nbsp;o en <a href=\"https:\/\/jamboqr.net\/?utm_source=canaldelasrecetas&amp;utm_medium=artcraft-final&amp;utm_campaign=artcraft-es\" rel=\"noopener sponsored\"><strong>jamboqr.net<\/strong><\/a><\/p><\/aside>\n","protected":false},"excerpt":{"rendered":"<p>Un equipo est\u00e1 reescribiendo desde cero, en Rust, programas como Photoshop, Lightroom, Premiere, Word, Excel o AutoCAD. Son gratuitos y de c\u00f3digo abierto. Aqu\u00ed est\u00e1 cada uno en un p\u00e1rrafo, m\u00e1s un script para guardarlos todos.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[12],"tags":[],"class_list":["post-7103","post","type-post","status-publish","format-standard","hentry","category-software-libre"],"spectra_blocks_featured_image_url":null,"spectra_blocks_author_info":{"display_name":"EucL1d35","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/cecf603aee34f11aa921ff30ea69d89a4e51b3cd8d5143029343fa76b0682442?s=96&d=mm&r=g","author_link":"https:\/\/www.canaldelasrecetas.com\/cms\/author\/eucl1d35\/","description":""},"_links":{"self":[{"href":"https:\/\/www.canaldelasrecetas.com\/cms\/wp-json\/wp\/v2\/posts\/7103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.canaldelasrecetas.com\/cms\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.canaldelasrecetas.com\/cms\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.canaldelasrecetas.com\/cms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.canaldelasrecetas.com\/cms\/wp-json\/wp\/v2\/comments?post=7103"}],"version-history":[{"count":1,"href":"https:\/\/www.canaldelasrecetas.com\/cms\/wp-json\/wp\/v2\/posts\/7103\/revisions"}],"predecessor-version":[{"id":7128,"href":"https:\/\/www.canaldelasrecetas.com\/cms\/wp-json\/wp\/v2\/posts\/7103\/revisions\/7128"}],"wp:attachment":[{"href":"https:\/\/www.canaldelasrecetas.com\/cms\/wp-json\/wp\/v2\/media?parent=7103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.canaldelasrecetas.com\/cms\/wp-json\/wp\/v2\/categories?post=7103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.canaldelasrecetas.com\/cms\/wp-json\/wp\/v2\/tags?post=7103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}