Ironfoil Switch: Difference between revisions
More actions
0.4.5 |
|||
| (One intermediate revision by the same user not shown) | |||
| Line 4: | Line 4: | ||
|description=A tiny command-line tool to transfer to Awoo installer | |description=A tiny command-line tool to transfer to Awoo installer | ||
|author=sermuns | |author=sermuns | ||
|lastupdated=2026/ | |lastupdated=2026/05/24 | ||
|type=Game Installer Companion | |type=Game Installer Companion | ||
|version=0.4. | |version=0.4.5 | ||
|license=Mixed | |license=Mixed | ||
|download=https://github.com/sermuns/ironfoil/releases | |download=https://github.com/sermuns/ironfoil/releases | ||
| Line 19: | Line 19: | ||
|image_alt=ironfoil | |image_alt=ironfoil | ||
}} | }} | ||
<!-- | <!--ironfoilSwitch.7z--> | ||
ironfoil is a tool to transfer to many title installers. It exists as both a graphical application, <code>ironfoil-gui</code>, and a core command-line application, <code>ironfoil</code>. | ironfoil is a tool to transfer to many title installers. It exists as both a graphical application, <code>ironfoil-gui</code>, and a core command-line application, <code>ironfoil</code>. | ||
| Line 42: | Line 42: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | == User guide == | ||
=== | === ironfoil --help === | ||
<pre>Transfer to NS title installers from the command-line | <pre>Transfer to NS title installers from the command-line | ||
| Line 58: | Line 58: | ||
-V, --version Print version</pre> | -V, --version Print version</pre> | ||
=== | === ironfoil usb --help === | ||
<pre>Transfer over USB | <pre>Transfer over USB | ||
| Line 71: | Line 71: | ||
-h, --help Print help</pre> | -h, --help Print help</pre> | ||
=== | === ironfoil network --help === | ||
<pre>Transfer over network | <pre>Transfer over network | ||
| Line 84: | Line 84: | ||
-h, --help Print help</pre> | -h, --help Print help</pre> | ||
=== | === ironfoil rcm --help === | ||
<pre>Inject RCM payload | <pre>Inject RCM payload | ||
| Line 104: | Line 104: | ||
== Changelog == | == Changelog == | ||
'''v0.4. | '''v0.4.5 2026/05/24''' | ||
* Features | |||
** '''(core)''' allow .xcz files by @sermuns in [https://github.com/sermuns/ironfoil/commit/142dace5772ef269f3e99a8669fc906847a08077 142dace] | |||
* Miscellaneous Tasks | |||
** release v0.4.5 by Samuel Åkesson in [https://github.com/sermuns/ironfoil/commit/924ebab3af79640b2dd104ad9d4130be2333f5f3 924ebab] | |||
'''v0.4.4 2026/04/24''' | |||
* Bug Fixes | |||
** '''(ci)''' fix typo by @sermuns in [https://github.com/sermuns/ironfoil/commit/1fefaa167860468f8d09fe5149860cb6de7245f9 1fefaa1] | |||
** '''(ci)''' actually build ironfoil-gui by @sermuns in [https://github.com/sermuns/ironfoil/commit/e2559f221bec57041e201eb158a4b7ac17549121 e2559f2] | |||
** '''(ci)''' glob release correctly by @sermuns in [https://github.com/sermuns/ironfoil/commit/b857be4c2daf3d7f18323aac64d4e4a342c0f5ea b857be4] | |||
** '''(cli)''' show correct amount of games installed by @sermuns in [https://github.com/sermuns/ironfoil/commit/770d22adc5a1aefef45ea1c4a9cd05670db8daa3 770d22a] | |||
** '''(gui)''' add symlink to media, hopefully fixed packaging by @sermuns in [https://github.com/sermuns/ironfoil/commit/c42dcbf293ffe7369df86a9f54f7705e13c7fd50 c42dcbf] | |||
* Performance | |||
** '''(ci)''' broader cache in release by @sermuns in [https://github.com/sermuns/ironfoil/commit/6c95938d2a3f86e5280bc04563fd5921171426e7 6c95938] | |||
* Miscellaneous Tasks | |||
** '''(gui)''' add "of which" by @sermuns in [https://github.com/sermuns/ironfoil/commit/b83e48dae252533bf3bd2a40b3e8b7485670d6be b83e48d] | |||
** '''breaking''' consolidate gui and cli releasing. remove Windows installer by @sermuns in [https://github.com/sermuns/ironfoil/commit/7ea8e35ba46c571a5c776527fd7feb4c7c15af06 7ea8e35] | |||
** publish GUI too by @sermuns in [https://github.com/sermuns/ironfoil/commit/d69ff3805ee4969f8fcbbc1417b66440f3a5b7df d69ff38] | |||
** rename release CI by @sermuns in [https://github.com/sermuns/ironfoil/commit/f2dd07f5a54beba503f468918ba3443e197ae1d2 f2dd07f] | |||
** add dependabot by @sermuns in [https://github.com/sermuns/ironfoil/commit/7910f718d6aa20dd9a7ce69668e11755579d7a51 7910f71] | |||
** update deps by @sermuns in [https://github.com/sermuns/ironfoil/commit/5030c21601c41ebe3a861c2b98a0e3889c857fa4 5030c21] | |||
** add github-actions to dependabot alerts by @sermuns in [https://github.com/sermuns/ironfoil/commit/db36b0015483c5b1c4c4faca074676c980fa0a77 db36b00] | |||
** release v0.4.4 by @sermuns in [https://github.com/sermuns/ironfoil/commit/5a1d6014c3586be1b10b66748f86465f9e0a6092 5a1d601] | |||
'''v0.4.3''' | '''v0.4.3 2026/04/23''' | ||
* Documentation | |||
** add download buttons for ironfoil-gui by @sermuns in [https://github.com/sermuns/ironfoil/commit/dd15da826e1691bef3efbc5b1e85c6e4f9fcaa0c dd15da8] | |||
** make download buttons prettier by @sermuns in [https://github.com/sermuns/ironfoil/commit/9e101456b24df9ca76995b4ceea2744270aecab6 9e10145] | |||
* Miscellaneous Tasks | |||
** don't strip release build by @sermuns in [https://github.com/sermuns/ironfoil/commit/4c0cfc02dfe880c8632e00889326fc8484fbb918 4c0cfc0] | |||
** release v0.4.3 by @sermuns in [https://github.com/sermuns/ironfoil/commit/8d126926995243b31011627050c6f15a39979832 8d12692] | |||
'''v0.4.2 2026/04/19''' | |||
* Bug Fixes | |||
** '''(core)''' i was an idiot yet again, using XOR instead of pow by @sermuns in [https://github.com/sermuns/ironfoil/commit/47977791c09107a482ca6005d38c0816e212158d 4797779] | |||
** '''(core)''' longer USB read timeout by @sermuns in [https://github.com/sermuns/ironfoil/commit/363d92ecbc55fc642310b9f7d177cdbaf47ad14b 363d92e] | |||
* Refactor | |||
** '''(core)''' reuse command header buf for tinfoil usb install by @sermuns in [https://github.com/sermuns/ironfoil/commit/d1048b53c3f60256a91a00628e532a587ef24feb d1048b5] | |||
** '''(core)''' inline usb constants by @sermuns in [https://github.com/sermuns/ironfoil/commit/c78a4629f6e7896fac9e6f2fd6cd8246800ef998 c78a462] | |||
* Testing | |||
** '''(core)''' start adding tests by @sermuns in [https://github.com/sermuns/ironfoil/commit/8cabd18ec329fdda7bb9c8bc3efb56d8cf62f032 8cabd18] | |||
** '''(core)''' more tinfoil tests by @sermuns in [https://github.com/sermuns/ironfoil/commit/0826793920060f3aa0e1c43608336225975bac29 0826793] | |||
** '''(core)''' use usize::MAX by @sermuns in [https://github.com/sermuns/ironfoil/commit/e2f64146575346b01c05d918daba258d5702dbdb e2f6414] | |||
** '''(core)''' start adding sphaira tests by @sermuns in [https://github.com/sermuns/ironfoil/commit/25dec25764c174f26266678277ba0488d8c54022 25dec25] | |||
** '''(core)''' add more sphaira test for bad cases by @sermuns in [https://github.com/sermuns/ironfoil/commit/f78482d8ce91740c004894ff673e3c3f3f84612b f78482d] | |||
* Miscellaneous Tasks | |||
** '''(core)''' allow too many arguments... by @sermuns in [https://github.com/sermuns/ironfoil/commit/ea17c12de51f94c61f652f1768d1888d6c9e76f0 ea17c12] | |||
** release v0.4.2 by @sermuns in [https://github.com/sermuns/ironfoil/commit/d53ed3db4766711324507de92d4a12e6146979d4 d53ed3d] | |||
'''v0.4.2''' | '''v0.4.1 2026/03/29''' | ||
* Bug Fixes | |||
** '''(core)''' actually perform 2 to the power of.. ^ means xor... by @sermuns in [https://github.com/sermuns/ironfoil/commit/13461c4abca38e82e4f5aa0791a4e23a53b28687 13461c4] | |||
** '''(core)''' correct progress report for network install by @sermuns in [https://github.com/sermuns/ironfoil/commit/3019235d99756896180f6f1185ab43e2ade3fb02 3019235] | |||
* Refactor | |||
** '''(core)''' create crate features by @sermuns in [https://github.com/sermuns/ironfoil/commit/0868f25a53b0fc6fb7f60068cf3cbbeb2c1ddf75 0868f25] | |||
* Documentation | |||
** '''(cli)''' show more of help output by @sermuns in [https://github.com/sermuns/ironfoil/commit/b51322461fd7e50819ae2a87f3c14bbfff8cf008 b513224] | |||
* Miscellaneous Tasks | |||
** '''(core)''' remove unused crc32fast by @sermuns in [https://github.com/sermuns/ironfoil/commit/78d9512cac0fa590b9b281eb6113e161867283b8 78d9512] | |||
** '''(core)''' allow too many lines in <code>serve_http</code>... by @sermuns in [https://github.com/sermuns/ironfoil/commit/c5e517d4f798f80fe5a88d50b3eac0ba4da8f216 c5e517d] | |||
** release v0.4.1 by @sermuns in [https://github.com/sermuns/ironfoil/commit/d02227eb686c1f2f9c0cae596f72a59d1d5243f7 d02227e] | |||
'''v0.4.0 2026/03/29''' | |||
* Features | |||
** '''(gui)''' progress bars for total and per-file by @sermuns in [https://github.com/sermuns/ironfoil/commit/9b7ded7b4cf1178f1ec5282728c7781242448a84 9b7ded7] | |||
** '''(gui)''' less repaint churning by only repaininting every 100 ms by @sermuns in [https://github.com/sermuns/ironfoil/commit/991140819db06bfb2d773afbef7e28a1f2719db0 9911408] | |||
* Bug Fixes | |||
** '''(core)''' send Ended event everytime installation ends, even in failure by @sermuns in [https://github.com/sermuns/ironfoil/commit/118db9ccbd67d833cbb501b3a769a743193c9f23 118db9c] | |||
** '''(core)''' better error message for timeout by @sermuns in [https://github.com/sermuns/ironfoil/commit/e8c8204ffa26ca81396bf791693a0279fe1bd175 e8c8204] | |||
** '''(core)''' more accurate errors by @sermuns in [https://github.com/sermuns/ironfoil/commit/da024b2071fb34ca0b2f75aff39ca714774837ab da024b2] | |||
* Refactor | |||
** '''(core)''' combine error handling in http server by @sermuns in [https://github.com/sermuns/ironfoil/commit/c1ae25c169e559c3e918a458fa93255adfea4489 c1ae25c] | |||
** remove Arc nonsense where it's not needed by @sermuns in [https://github.com/sermuns/ironfoil/commit/a83e99d9a1ac12ee69b3f51a8dcc650974a63917 a83e99d] | |||
** move UsbProtocol into core, use it instead of for_sphaira bool by @sermuns in [https://github.com/sermuns/ironfoil/commit/efec4e67da3183b1e0c93b75ef30781a2cff35db efec4e6] | |||
** create a dedicated InstallProgress enum. less CPU churning on CLI, still need to fix GUI.. by @sermuns in [https://github.com/sermuns/ironfoil/commit/3a5930d9d40e4a1eae30ad50321da747ca296909 3a5930d] | |||
** use high-level Read/Write syntax for USB transfers. fix progress reporting. by @sermuns in [https://github.com/sermuns/ironfoil/commit/f928f09a27f2de2949e0b3c109a56d8dcd66e0cf f928f09] | |||
** make tinfoil install default by @sermuns in [https://github.com/sermuns/ironfoil/commit/7d02080ad1fd6a9b78124dff35f45037abbfb53a 7d02080] | |||
* Documentation | |||
** '''(cli)''' update demo gif by @sermuns in [https://github.com/sermuns/ironfoil/commit/552a0c1824958e8a3fa25521676e90da096b977f 552a0c1] | |||
** '''(gui)''' update screenshots by @sermuns in [https://github.com/sermuns/ironfoil/commit/1ecf844e88ee44a70b66eaf0e1b097b368a14ce7 1ecf844] | |||
** '''(gui)''' add thin variant of screenshot1 by @sermuns in [https://github.com/sermuns/ironfoil/commit/38f6bf260d4746ef1c86bd398262ad686a677fa9 38f6bf2] | |||
* Miscellaneous Tasks | |||
** '''(gui)''' minor error reword by @sermuns in [https://github.com/sermuns/ironfoil/commit/b4452e8cf8bad06097f5689870d1286084ab4b76 b4452e8] | |||
** satisfy/configure clippy by @sermuns in [https://github.com/sermuns/ironfoil/commit/0fd126f5a7a4d567f15441649bd56974c130304a 0fd126f] | |||
** release v0.4.0 by @sermuns in [https://github.com/sermuns/ironfoil/commit/9e15353fe11cc1c508e7035969c16da07dab5359 9e15353] | |||
'''v0. | '''v0.3.1 2026/03/27''' | ||
* Features | |||
** '''(gui)''' add linux desktop entry by @sermuns in [https://github.com/sermuns/ironfoil/commit/b99bafc4ec25e75bc565160b99eecdaf3bc7f55f b99bafc] | |||
* Bug Fixes | |||
** '''(ci)''' fix caching by @sermuns in [https://github.com/sermuns/ironfoil/commit/90549790783754341ff42b7dec911c25e0e6f429 9054979] | |||
* Refactor | |||
** '''(cli)''' rename TransferType->InstallType by @sermuns in [https://github.com/sermuns/ironfoil/commit/a4d3c9e97ab48f8fce86d36a4d0eadb8ff3ce95e a4d3c9e] | |||
** '''(cli)''' deduplicate usb/network install code by @sermuns in [https://github.com/sermuns/ironfoil/commit/742c0902a49663704eb779e57a946952b730bd98 742c090] | |||
** '''(core)''' break usb modules out into files by @sermuns in [https://github.com/sermuns/ironfoil/commit/ce5f5ecaebc9530f441144cdf267930a382fb5a1 ce5f5ec] | |||
** '''(core)''' use shared ref instead of owned Arc by @sermuns in [https://github.com/sermuns/ironfoil/commit/87b70c8eb12fa9736fba8da37d78d9c061821a09 87b70c8] | |||
** '''(core)''' satisfy some clippy lints by @sermuns in [https://github.com/sermuns/ironfoil/commit/9ae9b60156b7a0ff60a804d4c9158be69ea7ac0a 9ae9b60] | |||
** '''(gui)''' move ugly code into impl StagedFiles by @sermuns in [https://github.com/sermuns/ironfoil/commit/fbf5c9ddf7c2a681c7f8444be351d8d0dc1dfb9c fbf5c9d] | |||
** '''(gui)''' satisfy lints by @sermuns in [https://github.com/sermuns/ironfoil/commit/e4989a86af10bf6257ffeed9705ea2c78f3ed3fc e4989a8] | |||
** consolidate progress events as an enum. fix bug where checking target ip during usb install.. by @sermuns in [https://github.com/sermuns/ironfoil/commit/6f078e548f9fec3ce6239455eac80498eb04a9ad 6f078e5] | |||
* Miscellaneous Tasks | |||
** '''(cli)''' color-eyre, only show source on debug by @sermuns in [https://github.com/sermuns/ironfoil/commit/e3ac7f35cea7b88b01927596a4cfe0e570106007 e3ac7f3] | |||
** '''(core)''' fix needless_borrow by @sermuns in [https://github.com/sermuns/ironfoil/commit/9c7334e7373587f738cc743dfb4f23e822866c2d 9c7334e] | |||
** '''(gui)''' remove unused imports by @sermuns in [https://github.com/sermuns/ironfoil/commit/f4fece04776dd9a889910f882df54c6a93057b8e f4fece0] | |||
** '''(gui)''' only enable eframe wayland,x11 on linux by @sermuns in [https://github.com/sermuns/ironfoil/commit/9cc4f4780a653240f81907ef751b2d16f5e7acb1 9cc4f47] | |||
** remove incorrect comment by @sermuns in [https://github.com/sermuns/ironfoil/commit/605d5104b5c48f59df3aa376b331be0524b99322 605d510] | |||
** add cargo fmt precommit by @sermuns in [https://github.com/sermuns/ironfoil/commit/360e2df4222d2f017c9cec87f2790e2502da4e9e 360e2df] | |||
** add pedantic clippy linting by @sermuns in [https://github.com/sermuns/ironfoil/commit/4aa637f676478e396f247abf7648f691395ee6b6 4aa637f] | |||
** allow override version in release just recipe by @sermuns in [https://github.com/sermuns/ironfoil/commit/885e160cc20becdf33895a5bcc84a0fdecee9ec1 885e160] | |||
** release v0.3.1 by @sermuns in [https://github.com/sermuns/ironfoil/commit/252d5992ebdf38ed5c9c08259c69a97c9499e69e 252d599] | |||
'''v0.3.0 2026/03/26''' | |||
* Features | |||
** '''(gui)''' add network install by @sermuns in [https://github.com/sermuns/ironfoil/commit/2d91ac52fdd3ef98df03da1bcae5cd99052ff14c 2d91ac5] | |||
** '''(gui)''' add rcm payload injection by @sermuns in [https://github.com/sermuns/ironfoil/commit/79079313c78440f2b3294845bb576655dce15ab3 7907931] | |||
* Refactor | |||
** '''(gui)''' create tabs module by @sermuns in [https://github.com/sermuns/ironfoil/commit/a161eb0c34bd0c1024b1699c0f96424663e29d47 a161eb0] | |||
** '''(gui)''' create module per tab by @sermuns in [https://github.com/sermuns/ironfoil/commit/ca025d0149b28853ce7ef12bee65e80629744646 ca025d0] | |||
* Styling | |||
** '''(gui)''' remove top heading and restyle home tab by @sermuns in [https://github.com/sermuns/ironfoil/commit/e9ea4ccb9505ab8eb81c3b9ba830357b578d059a e9ea4cc] | |||
** '''(gui)''' rcm tab ricing by @sermuns in [https://github.com/sermuns/ironfoil/commit/62483afec78f2dd681e82acb27baf31f737b9605 62483af] | |||
* Miscellaneous Tasks | |||
** release v0.3.0 by @sermuns in [https://github.com/sermuns/ironfoil/commit/49c31adb80d373b857b541d18785ec7516e15770 49c31ad] | |||
'''v0. | '''v0.2.1 2026/03/26''' | ||
* Features | |||
** add program icon and stop console on Windows by @sermuns in [https://github.com/sermuns/ironfoil/commit/eccd7b564d18f15c5e0558c2e3d91a59aba9b598 eccd7b5] | |||
* Miscellaneous Tasks | |||
** release v0.2.1 by @sermuns in [https://github.com/sermuns/ironfoil/commit/1550fcb90509ff3382215b95d9837d281b42ee87 1550fcb] | |||
'''v0.2.0 2026/03/26''' | |||
* Features | |||
** '''(core)''' add sphaira usb install support by @sermuns in [https://github.com/sermuns/ironfoil/commit/54c3a49611b84f27feaa4a7550a462d3b9e3f88b 54c3a49] | |||
** '''(gui)''' begin creating GUI by @sermuns in [https://github.com/sermuns/ironfoil/commit/4e7fe5c7db6c3debb265ef3da1a7d83a4df46d80 4e7fe5c] | |||
** '''(gui)''' style add icons, semi working transfer by @sermuns in [https://github.com/sermuns/ironfoil/commit/0d0822c2c9e2fb5f9f8938044a081ef99952ec87 0d0822c] | |||
** '''(gui)''' add sphaira support by @sermuns in [https://github.com/sermuns/ironfoil/commit/9de9061cf5715087a56084db1ea9dfc3bb303c37 9de9061] | |||
** better Dockerfile, using cargo-chef by @sermuns in [https://github.com/sermuns/ironfoil/commit/9fa1c38892cfd19b397e3181c5614cea5352c942 9fa1c38] | |||
** better error on permission denied by @sermuns in [https://github.com/sermuns/ironfoil/commit/6a34b904c113823c29ebf3ddd474587bb555d69d 6a34b90] | |||
** remove indicatif from core, use mpsc::Channel to synchronize progress by @sermuns in [https://github.com/sermuns/ironfoil/commit/7e61d74f935c88b310bf1aaba73976033eef3669 7e61d74] | |||
** add cancelling and stop using suggestion() by @sermuns in [https://github.com/sermuns/ironfoil/commit/a44854b9fdc59a987a7a81b8554a9e5234ae8f57 a44854b] | |||
** fully working GUI, refactor a lot of code by @sermuns in [https://github.com/sermuns/ironfoil/commit/8bad5c7eaf541f416a7aa67ae4aa290ea71ff956 8bad5c7] | |||
** simplify, reword GUI and error by @sermuns in [https://github.com/sermuns/ironfoil/commit/d474ab39ef4fed08ab1caf9778e3db02b21e70e3 d474ab3] | |||
** add distributioning with <code>cargo-dist</code> by @sermuns in [https://github.com/sermuns/ironfoil/commit/e365d564a4e3244e51eb15dac243e71a01df3b39 e365d56] | |||
* Bug Fixes | |||
** use installer-generic language in error by @sermuns in [https://github.com/sermuns/ironfoil/commit/ef1eb8fbe9b84f24bce273f69acff617456064c6 ef1eb8f] | |||
** align center by @sermuns in [https://github.com/sermuns/ironfoil/commit/c986fc8ff9d0e609f4092ac5949147de543875a3 c986fc8] | |||
** hopefully make windows correctly parse release version? by @sermuns in [https://github.com/sermuns/ironfoil/commit/f93bdc0708377321c032dd8531c197a644439ad9 f93bdc0] | |||
** symlink media for crates.io.. by @sermuns in [https://github.com/sermuns/ironfoil/commit/0c69754e48acf21ac1cf21f3f9f4e5b7d12adcd2 0c69754] | |||
** enable file_glob by @sermuns in [https://github.com/sermuns/ironfoil/commit/462958d2d1b01fc1445bdd3b3b866debd3d08496 462958d] | |||
** only build & publish CLI by @sermuns in [https://github.com/sermuns/ironfoil/commit/460f80e2c7abae9b82faf459b81963e6ce7c3bc8 460f80e] | |||
** force bash in release notes by @sermuns in [https://github.com/sermuns/ironfoil/commit/0a39755829e05b63c4063ef20d04b94bf3c0b55e 0a39755] | |||
** publish ironfoil-core before cli by @sermuns in [https://github.com/sermuns/ironfoil/commit/3ee98d8a3cddea41e91c17b8a0b3a87e31804238 3ee98d8] | |||
* Refactor | |||
** export <code>GAME_BACKUP_EXTENSIONS</code> by @sermuns in [https://github.com/sermuns/ironfoil/commit/782caa1d20c16032959352b20c05ce8336e87c5b 782caa1] | |||
* Documentation | |||
** update README by @sermuns in [https://github.com/sermuns/ironfoil/commit/d3a4d07ac9099791de81b72f56bf19dc93074da8 d3a4d07] | |||
** update demos and begin explaining GUI installation by @sermuns in [https://github.com/sermuns/ironfoil/commit/c5374ba09dbfeefa5d2e927c94eaa4ee696e8c3e c5374ba] | |||
* Miscellaneous Tasks | |||
** add push recipe by @sermuns in [https://github.com/sermuns/ironfoil/commit/e647d6cd97bda01507e258cdab079768310dbba9 e647d6c] | |||
** add TODO to network by @sermuns in [https://github.com/sermuns/ironfoil/commit/b66bd087e80349c011af17df229f20cbde64b6b9 b66bd08] | |||
** don't optimize debug build by @sermuns in [https://github.com/sermuns/ironfoil/commit/e53b8d27202ceaba27316810bcf4dc9f7d955636 e53b8d2] | |||
** Update README.md (#18) by @binarymelon in [https://github.com/sermuns/ironfoil/commit/b18fac5b8fa37a1b84f95758b26811f6607582f1 b18fac5] | |||
** update README and description for more general title installers by @sermuns in [https://github.com/sermuns/ironfoil/commit/bf8d5304e0de7f7fc4e9347c24d1223843f148c8 bf8d530] | |||
** make features bump minor by @sermuns in [https://github.com/sermuns/ironfoil/commit/b45f10ef0417ae78acf64137182466cb6423d272 b45f10e] | |||
** allow dirty ci by @sermuns in [https://github.com/sermuns/ironfoil/commit/309bf8b7c1b4bf69b6c0714097e9319eeb386951 309bf8b] | |||
** don't use cargo-dist for CLI by @sermuns in [https://github.com/sermuns/ironfoil/commit/1ec963bb91f7dcd731e602ca67a67d1ee1d2081f 1ec963b] | |||
** skip pre-building.. by @sermuns in [https://github.com/sermuns/ironfoil/commit/bd923e835d242dcff4b4008ec684adae05c6f5a8 bd923e8] | |||
** simplify dist by @sermuns in [https://github.com/sermuns/ironfoil/commit/8507648c49d71f4ed1b52ae13d15b0225b53f86e 8507648] | |||
** name cli artifacts without version, as gui does by @sermuns in [https://github.com/sermuns/ironfoil/commit/f96f199ae0f4f8e43316f3d4c1ec0ed1c2a8a32f f96f199] | |||
** add release notes to gui release too, cleanup.. by @sermuns in [https://github.com/sermuns/ironfoil/commit/a7c0aeeeba257164a12dbdba531443cfee0bc275 a7c0aee] | |||
** stop releasing for i686 linux by @sermuns in [https://github.com/sermuns/ironfoil/commit/abc0cb2713e78637116f1083a838d0a6b66ad6ea abc0cb2] | |||
** add rust-cache by @sermuns in [https://github.com/sermuns/ironfoil/commit/0945ba879977c17a9920cdf4e445ee10225de186 0945ba8] | |||
** release v0.2.0 by @sermuns in [https://github.com/sermuns/ironfoil/commit/8a3db31b0f67a3149249a05e66c5b8b36abecb82 8a3db31] | |||
'''v0. | '''v0.1.6 2026/03/05''' | ||
* Features | |||
** add RCM payload injection by @sermuns in [https://github.com/sermuns/ironfoil/commit/b5f0ef1cce28c5ecac7aac47cd6097dbc8d3db8a b5f0ef1] | |||
* Bug Fixes | |||
** '''(ci)''' more robust RELEASE_VERSION parsing and release notes handling by @sermuns in [https://github.com/sermuns/ironfoil/commit/a33f2dfb0e3e1e3988e5761a3305d38209edf1ee a33f2df] | |||
* Miscellaneous Tasks | |||
** release v0.1.6 by @sermuns in [https://github.com/sermuns/ironfoil/commit/58454118fa967d80f2ee27039a6fa3308d5871dd 5845411] | |||
'''v0.1.5 2026/03/05''' | |||
* Features | |||
** smaller binaries by @sermuns in [https://github.com/sermuns/ironfoil/commit/d2f1756091415f131e09c23e64fffb0b0b054153 d2f1756] | |||
* Refactor | |||
** split lib into multiple modules by @sermuns in [https://github.com/sermuns/ironfoil/commit/e9e5ec4636426b7501b038c5b5386f4f14f23789 e9e5ec4] | |||
* Miscellaneous Tasks | |||
** release v0.1.5 by @sermuns in [https://github.com/sermuns/ironfoil/commit/5d8ecbf20aed04e7943cd36aca6b12a09d2c47e6 5d8ecbf] | |||
'''v0. | '''v0.1.4 2026/03/04''' | ||
* Features | |||
** add recurse flag by @sermuns in [https://github.com/sermuns/ironfoil/commit/d649cb5fe8049ac04e51dffbe97ad8d60a3b6b1b d649cb5] | |||
* Documentation | |||
** update install instructions by @sermuns in [https://github.com/sermuns/ironfoil/commit/2b65ec266f53817e25e7be387914d499db0b8fc0 2b65ec2] | |||
* Miscellaneous Tasks | |||
** simplify release naming by @sermuns in [https://github.com/sermuns/ironfoil/commit/9b12e018c535243f333d937b14e060826df1f9e8 9b12e01] | |||
** add logo, media by @sermuns in [https://github.com/sermuns/ironfoil/commit/dbf269394245242a3f1357034b953bd01a00567c dbf2693] | |||
** add logo to README by @sermuns in [https://github.com/sermuns/ironfoil/commit/bdf2305a24c515578233dc7ef739f67846e75ff8 bdf2305] | |||
** update logo, hardcode text paths by @sermuns in [https://github.com/sermuns/ironfoil/commit/d96dcd0c7a2dc5741d0f09eb72f9818004b075bc d96dcd0] | |||
** make banner transparent by @sermuns in [https://github.com/sermuns/ironfoil/commit/d8884621eec61227fa1aabc2c4b87ce286548365 d888462] | |||
** release v0.1.4 by @sermuns in [https://github.com/sermuns/ironfoil/commit/41692f1d6fb5c52b67e300891b827e2adf558eb1 41692f1] | |||
'''v0.1.3 2026/03/04''' | |||
* Miscellaneous Tasks | |||
** revamp how releasing is done by @sermuns in [https://github.com/sermuns/ironfoil/commit/b56dae8102496dad6068069c732f72e1bf00ae93 b56dae8] | |||
** add Dockerfile, but remove workflow for now by @sermuns in [https://github.com/sermuns/ironfoil/commit/87da659dee16a30b0be211a6b44b96dde620cc1e 87da659] | |||
** use correct token by @sermuns in [https://github.com/sermuns/ironfoil/commit/4887c2b34b29280531544351b2f823f438d77b54 4887c2b] | |||
** add write permission to workflow by @sermuns in [https://github.com/sermuns/ironfoil/commit/2047fa8d4def2f570d7166e1f558aa5961f9e41a 2047fa8] | |||
** release v0.1.3 by @sermuns in [https://github.com/sermuns/ironfoil/commit/3765e2a01566b1ca35e95145fff66664e22ac141 3765e2a] | |||
'''v0.2 | '''v0.1.2 2026/03/04''' | ||
* Miscellaneous Tasks | |||
** oops by @sermuns in [https://github.com/sermuns/ironfoil/commit/445f29ccddd86ab4b2bfb833440e6a1670131c34 445f29c] | |||
** adjust tag naming by @sermuns in [https://github.com/sermuns/ironfoil/commit/bd0555dac0ebf218e03015ff1888519ae0231b0d bd0555d] | |||
** Release by @sermuns in [https://github.com/sermuns/ironfoil/commit/7291bea8f3bdfb73356b819ba0905c25de6c0b52 7291bea] | |||
'''v0.1.1 2026/03/04''' | |||
* Miscellaneous Tasks | |||
** use correct syntax for selecting target.. by @sermuns in [https://github.com/sermuns/ironfoil/commit/564827116d342f326e5efd709b201824ec98ca8e 5648271] | |||
** do not publish by @sermuns in [https://github.com/sermuns/ironfoil/commit/2be90ab71d963e46ee23cfb45c7db630a02f8495 2be90ab] | |||
** Release by @sermuns in [https://github.com/sermuns/ironfoil/commit/f68bb00308636f51db27abbe8b765ba926af28dd f68bb00] | |||
'''v0. | '''v0.1.0 2026/03/04''' | ||
* Features | |||
Features | ** first working implementation! by @sermuns in [https://github.com/sermuns/ironfoil/commit/eeef3bda6922c1600f4e995d957d5dc606983ed6 eeef3bd] | ||
** | ** add progress indicator by @sermuns in [https://github.com/sermuns/ironfoil/commit/ff53d4410754250b1397419b76924a73c7f3f142 ff53d44] | ||
** | ** style the progress indicator by @sermuns in [https://github.com/sermuns/ironfoil/commit/ef6355c12d1f027df83d6ea6956b24467e4a66b6 ef6355c] | ||
** | ** better user-facing error reporting by @sermuns in [https://github.com/sermuns/ironfoil/commit/8e2f90ea63aa72dd754e9c2a51a5a2848ba19e59 8e2f90e] | ||
** allow single NSP transfers by @sermuns in [https://github.com/sermuns/ironfoil/commit/22bf173b87931b99cf414f01754318ad52bf495d 22bf173] | |||
** | ** support XCI format by @sermuns in [https://github.com/sermuns/ironfoil/commit/b02da39cfec757916f8166fb7bbbe478fe10b5e0 b02da39] | ||
** | ** support NSZ format by @sermuns in [https://github.com/sermuns/ironfoil/commit/65744f7a9aff62ed38aad75b46d90f5383406f7c 65744f7] | ||
** | ** '''breaking''' create subcommands <code>usb</code> and <code>network</code> and add network transfer by @sermuns in [https://github.com/sermuns/ironfoil/commit/8303b526a993007041addc76565e4521168bcc44 8303b52] | ||
** | * Bug Fixes | ||
** | ** use generic game backup name by @sermuns in [https://github.com/sermuns/ironfoil/commit/0f7882b737dff6913484fa02277e2f9c3a686161 0f7882b] | ||
** spawn thread for HTTP server by @sermuns in [https://github.com/sermuns/ironfoil/commit/70edf29fbdfb7be982d48515704bf36d5c4aaa83 70edf29] | |||
** use cross-platform <code>.len()</code> instead of <code>.size()</code> by @sermuns in [https://github.com/sermuns/ironfoil/commit/0f1ac604e6cd066c6da45b9432579a2373285319 0f1ac60] | |||
Bug | * Other | ||
** | ** use less features of color-eyre by @sermuns in [https://github.com/sermuns/ironfoil/commit/3e617dd906452ea71a796e32eeb3de6aa81c3235 3e617dd] | ||
** | * Refactor | ||
** | ** minor changes and code comments by @sermuns in [https://github.com/sermuns/ironfoil/commit/167d3bb749e409e99769cee0aed4468be0d6e0d7 167d3bb] | ||
** | ** remove unused import by @sermuns in [https://github.com/sermuns/ironfoil/commit/84f0d67024babfeba8dea6f9354d65a7dac2e098 84f0d67] | ||
* | ** move some code, remove old comments by @sermuns in [https://github.com/sermuns/ironfoil/commit/b073ad85c6512e6785286835340b52292abe8e2a b073ad8] | ||
** | ** split code into crates <code>core</code> and <code>cli</code> #5 by @sermuns in [https://github.com/sermuns/ironfoil/commit/28d99a5a1883fb4ae2cd4c841b86f2a84b544681 28d99a5] | ||
** | ** move crates from crates/ into root dir by @sermuns in [https://github.com/sermuns/ironfoil/commit/be957ddf2ecb5d07377be362a30c8652995bb4c0 be957dd] | ||
** | * Documentation | ||
** create README by @sermuns in [https://github.com/sermuns/ironfoil/commit/ae556cd6d25be87960a9e4e6cfa5bdb313445306 ae556cd] | |||
** | ** NSP, XCI and NSZ are supported by @sermuns in [https://github.com/sermuns/ironfoil/commit/564152d8ddb4ccb6c4a524958b3ffcb9601092ca 564152d] | ||
Documentation | ** add demo gif, rephrase README by @sermuns in [https://github.com/sermuns/ironfoil/commit/4259e16e4cd8539e6cf50eb2dc989116cf9451a8 4259e16] | ||
** | ** update README by @sermuns in [https://github.com/sermuns/ironfoil/commit/4bea053f67106ef029c47e2fa6551372b56b079e 4bea053] | ||
** | ** update install instruction by @sermuns in [https://github.com/sermuns/ironfoil/commit/9a35be114afc4bef759e8dea4af6fad1f30da124 9a35be1] | ||
** update README by @sermuns in [https://github.com/sermuns/ironfoil/commit/309e9d5d56ba4d84071b6198cb7f283ab6b9fe9b 309e9d5] | |||
** | * Miscellaneous Tasks | ||
** | ** initial commit by @sermuns in [https://github.com/sermuns/ironfoil/commit/91b36dc1438bd118042f5c10f8085cc55ea66b39 91b36dc] | ||
** | ** add precommits by @sermuns in [https://github.com/sermuns/ironfoil/commit/561f852a53aed2aeb2b0979ae61c0d9470e8dfae 561f852] | ||
** | ** update description and cli meta by @sermuns in [https://github.com/sermuns/ironfoil/commit/604a60a225c58f3da831d6869c9109e92d3818de 604a60a] | ||
** | ** update description by @sermuns in [https://github.com/sermuns/ironfoil/commit/3601d843c2aabd03e600f38a08d0bc066ec99f74 3601d84] | ||
** | ** update README by @sermuns in [https://github.com/sermuns/ironfoil/commit/6a8c11afe01bfa370c73daebfd008d249533eb80 6a8c11a] | ||
** | ** update description in README by @sermuns in [https://github.com/sermuns/ironfoil/commit/f5ae646ba919b40cddb4b3746e78d0e22d18b5b2 f5ae646] | ||
** | ** rephrase error by @sermuns in [https://github.com/sermuns/ironfoil/commit/17af04a90e19a0bca23bdd939a1e3e9c4181791d 17af04a] | ||
** | ** add license by @sermuns in [https://github.com/sermuns/ironfoil/commit/43ca476a53b742a271710a8a408b9a920a9a54de 43ca476] | ||
** | ** remove unused imports by @sermuns in [https://github.com/sermuns/ironfoil/commit/7de47bb1a45bfc6bf29005b4225f8137996a9962 7de47bb] | ||
** | ** rename project from ns-usbloader-rs to ironfoil by @sermuns in [https://github.com/sermuns/ironfoil/commit/52b5bccfdc22c8ee67c245d481c2d5082bfea28f 52b5bcc] | ||
** | ** update GIF by @sermuns in [https://github.com/sermuns/ironfoil/commit/12c93cc1129a02681eaa5c4dd41609a3dffada05 12c93cc] | ||
** | ** add CD and docker workflows by @sermuns in [https://github.com/sermuns/ironfoil/commit/772c72543eeec05efe29cd7d15759740f7ef06fd 772c725] | ||
** | ** fixes to crate metadata for publishing by @sermuns in [https://github.com/sermuns/ironfoil/commit/7cc31df5eaddc204e5b43e5e956da5ae6fc4b49d 7cc31df] | ||
** | ** add release config by @sermuns in [https://github.com/sermuns/ironfoil/commit/19d6f9c7039dbc1c7aacc93fc818aa18c0ac28d9 19d6f9c] | ||
** Release by @sermuns in [https://github.com/sermuns/ironfoil/commit/05985c5a2d80d62bce11a9cf10355019354662d3 05985c5] | |||
** | |||
** | |||
** Release | |||
== External links == | == External links == | ||
* | * GitHub - https://github.com/sermuns/ironfoil | ||
* GBAtemp - https://gbatemp.net/threads/ironfoil-cli-tool-to-transfer-to-awoo-installer.680103/ | |||
Latest revision as of 04:14, 29 May 2026
| ironfoil | |
|---|---|
| General | |
| Author | sermuns |
| Type | Game Installer Companion |
| Version | 0.4.5 |
| License | Mixed |
| Last Updated | 2026/05/24 |
| Links | |
| Download | |
| Website | |
| Source | |
ironfoil is a tool to transfer to many title installers. It exists as both a graphical application, ironfoil-gui, and a core command-line application, ironfoil.
Using the TinFoil USB protocol, it has been tested with Awoo Installer Switch and CyberFoil. It also supports Sphaira Switch with its own protocol, with Sphaira support enabled when transferring.
Installation
GUI
Download the latest archive for your OS and extract it to any location of your choice.
CLI
Install the CLI using one of the following methods:
Manually download the latest release and extract the tool to a location that is in your $PATH.
Use cargo-binstall:
cargo binstall ironfoil
Install the latest release using cargo:
cargo install ironfoil
User guide
ironfoil --help
Transfer to NS title installers from the command-line Usage: ironfoil <COMMAND> Commands: usb Transfer over USB network Transfer over network rcm Inject RCM payload help Print this message or the help of the given subcommand(s) Options: -h, --help Print help -V, --version Print version
ironfoil usb --help
Transfer over USB
Usage: ironfoil usb [OPTIONS] <GAME_BACKUP_PATH>
Arguments:
<GAME_BACKUP_PATH> Path to a game backup file or directory containing game backup files
Options:
-r, --recurse Whether to recursively look for files (only for directories)
--sphaira If transferring to Sphaira homebrew menu
-h, --help Print help
ironfoil network --help
Transfer over network Usage: ironfoil network [OPTIONS] <GAME_BACKUP_PATH> <TARGET_IP> Arguments: <GAME_BACKUP_PATH> Path to a game backup file or directory containing game backup files <TARGET_IP> The IP address of the Nintendo Switch Options: -r, --recurse Whether to recursively look for files (only for directories) -h, --help Print help
ironfoil rcm --help
Inject RCM payload Usage: ironfoil rcm <PAYLOAD_PATH> Arguments: <PAYLOAD_PATH> Path to the RCM payload file Options: -h, --help Print help
Screenshots
|
|
Changelog
v0.4.5 2026/05/24
- Features
- (core) allow .xcz files by @sermuns in 142dace
- Miscellaneous Tasks
- release v0.4.5 by Samuel Åkesson in 924ebab
v0.4.4 2026/04/24
- Bug Fixes
- Performance
- (ci) broader cache in release by @sermuns in 6c95938
- Miscellaneous Tasks
- (gui) add "of which" by @sermuns in b83e48d
- breaking consolidate gui and cli releasing. remove Windows installer by @sermuns in 7ea8e35
- publish GUI too by @sermuns in d69ff38
- rename release CI by @sermuns in f2dd07f
- add dependabot by @sermuns in 7910f71
- update deps by @sermuns in 5030c21
- add github-actions to dependabot alerts by @sermuns in db36b00
- release v0.4.4 by @sermuns in 5a1d601
v0.4.3 2026/04/23
- Documentation
- Miscellaneous Tasks
v0.4.2 2026/04/19
- Bug Fixes
- Refactor
- Testing
- Miscellaneous Tasks
v0.4.1 2026/03/29
- Bug Fixes
- Refactor
- (core) create crate features by @sermuns in 0868f25
- Documentation
- (cli) show more of help output by @sermuns in b513224
- Miscellaneous Tasks
v0.4.0 2026/03/29
- Features
- Bug Fixes
- Refactor
- (core) combine error handling in http server by @sermuns in c1ae25c
- remove Arc nonsense where it's not needed by @sermuns in a83e99d
- move UsbProtocol into core, use it instead of for_sphaira bool by @sermuns in efec4e6
- create a dedicated InstallProgress enum. less CPU churning on CLI, still need to fix GUI.. by @sermuns in 3a5930d
- use high-level Read/Write syntax for USB transfers. fix progress reporting. by @sermuns in f928f09
- make tinfoil install default by @sermuns in 7d02080
- Documentation
- Miscellaneous Tasks
v0.3.1 2026/03/27
- Features
- (gui) add linux desktop entry by @sermuns in b99bafc
- Bug Fixes
- (ci) fix caching by @sermuns in 9054979
- Refactor
- (cli) rename TransferType->InstallType by @sermuns in a4d3c9e
- (cli) deduplicate usb/network install code by @sermuns in 742c090
- (core) break usb modules out into files by @sermuns in ce5f5ec
- (core) use shared ref instead of owned Arc by @sermuns in 87b70c8
- (core) satisfy some clippy lints by @sermuns in 9ae9b60
- (gui) move ugly code into impl StagedFiles by @sermuns in fbf5c9d
- (gui) satisfy lints by @sermuns in e4989a8
- consolidate progress events as an enum. fix bug where checking target ip during usb install.. by @sermuns in 6f078e5
- Miscellaneous Tasks
- (cli) color-eyre, only show source on debug by @sermuns in e3ac7f3
- (core) fix needless_borrow by @sermuns in 9c7334e
- (gui) remove unused imports by @sermuns in f4fece0
- (gui) only enable eframe wayland,x11 on linux by @sermuns in 9cc4f47
- remove incorrect comment by @sermuns in 605d510
- add cargo fmt precommit by @sermuns in 360e2df
- add pedantic clippy linting by @sermuns in 4aa637f
- allow override version in release just recipe by @sermuns in 885e160
- release v0.3.1 by @sermuns in 252d599
v0.3.0 2026/03/26
- Features
- Refactor
- Styling
- Miscellaneous Tasks
- release v0.3.0 by @sermuns in 49c31ad
v0.2.1 2026/03/26
- Features
- add program icon and stop console on Windows by @sermuns in eccd7b5
- Miscellaneous Tasks
- release v0.2.1 by @sermuns in 1550fcb
v0.2.0 2026/03/26
- Features
- (core) add sphaira usb install support by @sermuns in 54c3a49
- (gui) begin creating GUI by @sermuns in 4e7fe5c
- (gui) style add icons, semi working transfer by @sermuns in 0d0822c
- (gui) add sphaira support by @sermuns in 9de9061
- better Dockerfile, using cargo-chef by @sermuns in 9fa1c38
- better error on permission denied by @sermuns in 6a34b90
- remove indicatif from core, use mpsc::Channel to synchronize progress by @sermuns in 7e61d74
- add cancelling and stop using suggestion() by @sermuns in a44854b
- fully working GUI, refactor a lot of code by @sermuns in 8bad5c7
- simplify, reword GUI and error by @sermuns in d474ab3
- add distributioning with
cargo-distby @sermuns in e365d56
- Bug Fixes
- use installer-generic language in error by @sermuns in ef1eb8f
- align center by @sermuns in c986fc8
- hopefully make windows correctly parse release version? by @sermuns in f93bdc0
- symlink media for crates.io.. by @sermuns in 0c69754
- enable file_glob by @sermuns in 462958d
- only build & publish CLI by @sermuns in 460f80e
- force bash in release notes by @sermuns in 0a39755
- publish ironfoil-core before cli by @sermuns in 3ee98d8
- Refactor
- export
GAME_BACKUP_EXTENSIONSby @sermuns in 782caa1
- export
- Documentation
- Miscellaneous Tasks
- add push recipe by @sermuns in e647d6c
- add TODO to network by @sermuns in b66bd08
- don't optimize debug build by @sermuns in e53b8d2
- Update README.md (#18) by @binarymelon in b18fac5
- update README and description for more general title installers by @sermuns in bf8d530
- make features bump minor by @sermuns in b45f10e
- allow dirty ci by @sermuns in 309bf8b
- don't use cargo-dist for CLI by @sermuns in 1ec963b
- skip pre-building.. by @sermuns in bd923e8
- simplify dist by @sermuns in 8507648
- name cli artifacts without version, as gui does by @sermuns in f96f199
- add release notes to gui release too, cleanup.. by @sermuns in a7c0aee
- stop releasing for i686 linux by @sermuns in abc0cb2
- add rust-cache by @sermuns in 0945ba8
- release v0.2.0 by @sermuns in 8a3db31
v0.1.6 2026/03/05
- Features
- add RCM payload injection by @sermuns in b5f0ef1
- Bug Fixes
- (ci) more robust RELEASE_VERSION parsing and release notes handling by @sermuns in a33f2df
- Miscellaneous Tasks
- release v0.1.6 by @sermuns in 5845411
v0.1.5 2026/03/05
- Features
- smaller binaries by @sermuns in d2f1756
- Refactor
- split lib into multiple modules by @sermuns in e9e5ec4
- Miscellaneous Tasks
- release v0.1.5 by @sermuns in 5d8ecbf
v0.1.4 2026/03/04
- Features
- add recurse flag by @sermuns in d649cb5
- Documentation
- update install instructions by @sermuns in 2b65ec2
- Miscellaneous Tasks
v0.1.3 2026/03/04
- Miscellaneous Tasks
v0.1.2 2026/03/04
- Miscellaneous Tasks
v0.1.1 2026/03/04
- Miscellaneous Tasks
v0.1.0 2026/03/04
- Features
- first working implementation! by @sermuns in eeef3bd
- add progress indicator by @sermuns in ff53d44
- style the progress indicator by @sermuns in ef6355c
- better user-facing error reporting by @sermuns in 8e2f90e
- allow single NSP transfers by @sermuns in 22bf173
- support XCI format by @sermuns in b02da39
- support NSZ format by @sermuns in 65744f7
- breaking create subcommands
usbandnetworkand add network transfer by @sermuns in 8303b52
- Bug Fixes
- Other
- use less features of color-eyre by @sermuns in 3e617dd
- Refactor
- Documentation
- Miscellaneous Tasks
- initial commit by @sermuns in 91b36dc
- add precommits by @sermuns in 561f852
- update description and cli meta by @sermuns in 604a60a
- update description by @sermuns in 3601d84
- update README by @sermuns in 6a8c11a
- update description in README by @sermuns in f5ae646
- rephrase error by @sermuns in 17af04a
- add license by @sermuns in 43ca476
- remove unused imports by @sermuns in 7de47bb
- rename project from ns-usbloader-rs to ironfoil by @sermuns in 52b5bcc
- update GIF by @sermuns in 12c93cc
- add CD and docker workflows by @sermuns in 772c725
- fixes to crate metadata for publishing by @sermuns in 7cc31df
- add release config by @sermuns in 19d6f9c
- Release by @sermuns in 05985c5