{"id":7127,"date":"2026-10-26T01:45:53","date_gmt":"2026-10-26T01:45:53","guid":{"rendered":"https:\/\/www.canaldelasrecetas.com\/cms\/?p=7127"},"modified":"2026-10-26T01:45:53","modified_gmt":"2026-10-26T01:45:53","slug":"artcraft-apps-libres-sw","status":"publish","type":"post","link":"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-sw\/","title":{"rendered":"ArtCraft: programu 14 huru za ubunifu, kama Photoshop, Premiere, Word au 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 <a href=\"https:\/\/www.canaldelasrecetas.com\/cms\/artcraft-apps-libres-es\/\" hreflang=\"es\">Espa\u00f1ol<\/a> &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; <strong>Kiswahili<\/strong><\/p>\n<h2>Kisa: ada moja ya kusitisha iliyozidi<\/h2>\n<p>Kisa kinachozunguka wiki hizi kwenye majukwaa na mitandao ya kijamii ni kwamba ArtCraft ilizaliwa kutokana na hasira: mwandishi wake \u00abalitapeliwa\u00bb. Nyuma ya mradi yupo <strong>Brandon Thomas<\/strong>, mhandisi wa programu kutoka Atlanta (Marekani) mwenye uzoefu wa miaka kumi na tano, aliyekuwa akiandika Reddit kwa jina <em>u\/ai_art_is_art<\/em>. Neno \u00abutapeli\u00bb ni la watu; yeye mwenyewe anasema Adobe ilimtoza <strong>ada ya kusitisha<\/strong> usajili wake.<\/p>\n<p>Aliandika Reddit: \u00abWalinitoza \u2018ada ya kusitisha\u2019 mara kadhaa na tangu hapo nawachukia\u00bb. Kwenye Hacker News alisema alinaswa mara nyingi mno na \u00abmtindo huo wa giza\u00bb: faini inayotozwa unapoacha mapema mpango wa mwaka unaolipwa kila mwezi. Si lalamiko la mtu mmoja tu: mwezi Juni 2024 Wizara ya Sheria ya Marekani iliishtaki Adobe kwa kuficha ada hizo na kufanya kusitisha kuwe kugumu. Adobe inasisitiza kwamba masharti yake ni wazi.<\/p>\n<p>Jibu lake lilikuwa kuunda upya programu hizo na kuzitoa bure. Kwa msaada wa Claude, akili bandia ya Anthropic, na lugha ya Rust, kati ya mwishoni mwa Septemba na mwanzoni mwa Oktoba 2026 alichapisha GitHub programu saba za kwanza \u2014 sawa na Photoshop, Illustrator, Premiere, Lightroom, After Effects, InDesign na Acrobat \u2014 na ndani ya wiki chache akaongeza zinazolingana na Word, PowerPoint, Excel, AutoCAD, Pro Tools na Figma. Anasema ni utekelezaji upya wa \u00abchumba safi\u00bb, uliotengenezwa kutokana na maelezo ya wazi ya miundo ya faili, bila msimbo wa mtu yeyote.<\/p>\n<p>Kauli yake iliyojumlisha yote, \u00abzama za programu zimekwisha\u00bb, ilienea duniani kote: ikiwa mtu mmoja akiwa na AI anaweza kuunda upya kwa wiki chache kile kilichochukua miongo, programu za kulipia zitapata shida. Kuna wenye shaka: Profesa Andr\u00e9s Guadamuz wa Chuo Kikuu cha Sussex anakumbusha kwamba bado haijulikani kama mchakato huo wa \u00abchumba safi\u00bb utastahimili uchunguzi, wala ni kiasi gani cha msimbo aliandika yeye na kiasi gani AI. Thomas anasisitiza kuwa si \u00abmwako wa mara moja utakaozimika\u00bb, na kwa sasa kasi ya matoleo karibu kila siku inamthibitisha.<\/p>\n<aside class=\"ac-anuncio\"><div class=\"ac-et\">Tangazo<\/div><p><strong>Programu huru za kubuni; JamboQR ya kushiriki ofa.<\/strong> Kwa <strong>JamboQR<\/strong> unaanzisha klabu ya ofa pamoja na majirani na marafiki: kila mtu anachapisha alichokipata, pamoja na picha, bei na mahali. Bure.<\/p><p><a href=\"https:\/\/jamboqr.net\/?utm_source=canaldelasrecetas&amp;utm_medium=artcraft-inicio&amp;utm_campaign=artcraft-sw\" rel=\"noopener sponsored\"><strong>jamboqr.net<\/strong><\/a><\/p><\/aside>\n<p><strong>ArtCraft<\/strong> ni mradi wa chanzo huria (leseni MIT au Apache-2.0) wa timu ya <em>storytold<\/em> unaoandika upya kuanzia mwanzo, kwa Rust, zana tunazotumia kila siku kubuni. Ni programu asilia, nyepesi, bila usajili wa kulipia, zinazoiga jinsi programu za kibiashara maarufu zaidi zinavyofanya kazi bila kunakili msimbo wake. Zinafanya kazi kwenye <strong>Windows, macOS, Linux na FreeBSD<\/strong>, nyingi pia kwenye kivinjari, na matoleo mapya hutoka karibu kila wiki. Majina ya kibiashara yametajwa kama mwongozo tu: programu hizi hazihusiani na chapa hizo.<\/p>\n<h2>Zana, moja baada ya nyingine<\/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>Anza hapa. Ndicho kisakinishi cha nyingine zote: kinaonyesha orodha kamili, kinasakinisha kila programu kwa kubofya mara moja kikichagua toleo sahihi kwa kompyuta yako, kinakagua kwamba faili haijaharibika na kinakujulisha masasisho yanapotoka. Hakuna kifurushi kimoja chenye kila kitu, lakini kizindua hiki ndicho kilicho karibu zaidi.<\/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>Kihariri cha picha kwa mtindo wa Photoshop: tabaka, uteuzi, brashi, marekebisho na urekebishaji. Ndiyo zana maarufu zaidi ya mradi kwenye 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>Maktaba ya picha na uchakataji wa RAW usioharibu, kwa mtindo wa Lightroom: unapanga picha zako na kurekebisha mwanga, rangi na ukataji bila kugusa faili asili kamwe.<\/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>Michoro ya vekta kama katika Illustrator: mikunjo, maumbo, mistari na maandishi yanayokuzwa bila kupoteza ubora. Kwa nembo, aikoni na mabango.<\/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>Kihariri cha video kisicho cha mstari, kinachofanana na Premiere Pro: ratiba ya nyimbo nyingi, ukataji, urekebishaji wa rangi na sauti.<\/p><\/div>\n<aside class=\"ac-anuncio\"><div class=\"ac-et\">Tangazo<\/div><p><strong>Programu huru za kubuni; JamboQR ya kushiriki ofa.<\/strong> Kwa <strong>JamboQR<\/strong> unaanzisha klabu ya ofa pamoja na majirani na marafiki: kila mtu anachapisha alichokipata, pamoja na picha, bei na mahali. Bure.<\/p><p><a href=\"https:\/\/jamboqr.net\/?utm_source=canaldelasrecetas&amp;utm_medium=artcraft-5&amp;utm_campaign=artcraft-sw\" 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>Michoro inayosonga, uunganishaji na athari za kuona kwa mtindo wa After Effects: vichwa, uhuishaji kwa fremu muhimu na tabaka zinazochanganyika.<\/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>Kituo cha sauti cha kurekodi, kuhariri na kuchanganya, kilichochochewa na Pro Tools: nyimbo nyingi, ukataji, athari na mchanganyiko wa mwisho.<\/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>Upangaji wa kurasa na uchapishaji kwa mtindo wa InDesign: majarida, vipeperushi na vitabu vyenye kurasa, safu, mitindo ya maandishi na picha.<\/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>Usanifu wa violesura na mifano, kama Figma: skrini za programu na tovuti, vipengele vinavyotumika tena na michoro inayoonyesha jinsi kitu kitakavyofanya kazi kabla hakijajengwa.<\/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>Kwa kusoma, kupanga na kulinda PDF, kwa mtindo wa Acrobat: kufungua, kuweka maelezo, kupanga upya kurasa na kuhifadhi nyaraka zilizolindwa.<\/p><\/div>\n<aside class=\"ac-anuncio\"><div class=\"ac-et\">Tangazo<\/div><p><strong>Programu huru za kubuni; JamboQR ya kushiriki ofa.<\/strong> Kwa <strong>JamboQR<\/strong> unaanzisha klabu ya ofa pamoja na majirani na marafiki: kila mtu anachapisha alichokipata, pamoja na picha, bei na mahali. Bure.<\/p><p><a href=\"https:\/\/jamboqr.net\/?utm_source=canaldelasrecetas&amp;utm_medium=artcraft-10&amp;utm_campaign=artcraft-sw\" 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>Kichakataji maneno kinachofanana na Word, kwa barua, ripoti na nyaraka zenye mitindo, majedwali na picha.<\/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>Mawasilisho na slaidi kwa mtindo wa PowerPoint: slaidi zenye maandishi, picha na maumbo za kuonyesha kwa skrini nzima.<\/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>Lahajedwali kama Excel: fomula, majedwali ya data, chati, na kupanga au kuchuja taarifa.<\/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>Usanifu kwa msaada wa kompyuta na uchoraji wa kiufundi kwa mtindo wa AutoCAD: michoro yenye vipimo kamili, tabaka na vipimo.<\/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>Programu iliyoupa mradi jina lake, na ndiyo pekee iliyo tofauti na nyingine: studio ya kuunda picha na video kwa akili bandia, kwa wasanii, wabunifu na watengenezaji filamu. Kwa sasa ni kwa Windows na Mac tu.<\/p><\/div>\n<h2 id=\"script\">Zihifadhi zote: msimbo chanzo na faili za kuendesha<\/h2>\n<p>Ukipenda kuwa na nakala ya kila kitu (endapo mradi utatoweka siku moja, au kusakinisha bila intaneti), skripti hii ya Linux inapakua <strong>msimbo chanzo<\/strong> wa kila zana na <strong>faili zote za kuendesha za toleo la karibuni<\/strong>, zikiwa zimepangwa kwenye folda kwa zana na kwa mfumo (Windows, macOS, Linux, FreeBSD na wavuti). Ifungue na uiendeshe; hoja ni folda ya kuhifadhi, na kwa <code>PLATFORMS<\/code> na <code>EXCLUDE<\/code> unachagua cha kupakua. (Maoni yaliyomo ndani yake ni kwa Kihispania.)<\/p>\n<p><a class=\"ac-bajar\" href=\"https:\/\/www.canaldelasrecetas.com\/cms\/wp-content\/uploads\/2026\/10\/artcraft-mirror.zip\" download>\u2b07 Pakua skripti (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>Inaweza kukatizwa:<\/strong> ikisimama, iendeshe tena na itaendelea pale ilipoachia.<\/li><li><strong>Inapakua kipya tu:<\/strong> toleo jipya likitoka, inaunda folda yake bila kugusa za zamani.<\/li><li><strong>Inakagua kila kitu<\/strong> kwa jumla za SHA-256 ambazo kila toleo huchapisha.<\/li><li><strong>Inachukua nafasi kubwa:<\/strong> majukwaa yote kwa pamoja ni karibu GB 24 kwa kila toleo; ukihitaji baadhi tu, chuja.<\/li><\/ul>\n<details><summary>Onyesha skripti nzima<\/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\">Hizi ni programu changa sana, karibu zote zimewekwa alama ya <em>alfa ya mapema<\/em>: zinaahidi mengi, lakini bado haziwezi kuchukua nafasi ya zana za kitaalamu kwa kazi nzito. Zijaribu, weka nakala za faili zako na ukipata hitilafu iripoti kwenye GitHub yao.<\/p>\n<h2>Marejeo<\/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\">Tangazo<\/div><p><strong>Programu huru za kubuni; JamboQR ya kushiriki ofa.<\/strong> Kwa <strong>JamboQR<\/strong> unaanzisha klabu ya ofa pamoja na majirani na marafiki: kila mtu anachapisha alichokipata, pamoja na picha, bei na mahali. Bure.<\/p><p><a href=\"https:\/\/jamboqr.net\/?utm_source=canaldelasrecetas&amp;utm_medium=artcraft-final&amp;utm_campaign=artcraft-sw\" rel=\"noopener sponsored\"><strong>jamboqr.net<\/strong><\/a><\/p><\/aside>\n","protected":false},"excerpt":{"rendered":"<p>Timu moja inaandika upya kuanzia mwanzo, kwa Rust, programu kama Photoshop, Lightroom, Premiere, Word, Excel na AutoCAD. Ni za bure na chanzo huria. Hapa kila moja kwa aya moja, pamoja na skripti ya kuzihifadhi zote.<\/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-7127","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\/7127","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=7127"}],"version-history":[{"count":1,"href":"https:\/\/www.canaldelasrecetas.com\/cms\/wp-json\/wp\/v2\/posts\/7127\/revisions"}],"predecessor-version":[{"id":7152,"href":"https:\/\/www.canaldelasrecetas.com\/cms\/wp-json\/wp\/v2\/posts\/7127\/revisions\/7152"}],"wp:attachment":[{"href":"https:\/\/www.canaldelasrecetas.com\/cms\/wp-json\/wp\/v2\/media?parent=7127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.canaldelasrecetas.com\/cms\/wp-json\/wp\/v2\/categories?post=7127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.canaldelasrecetas.com\/cms\/wp-json\/wp\/v2\/tags?post=7127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}