rido 0.5.0

Fetch valid URLs and checksums of Microsoft Operating Systems.
Documentation

Rido

Rido is a library crate which allows applications access to valid URLs and Checksums for various releases of Microsoft Windows. It is inspired by the Mido bash script and Fido PowerShell script.

License

Rido is licensed under the GNU General Public License Version 3. This license prohibits the use of this crate as a library within nonfree software or any software licensed under incompatible licenses which enable the production of nonfree software, such as the MIT license.

Usage

Rido can be added to your project using cargo add rido

Optionally, you can enable enterprise windows releases with the enterprise feature.

A release can be fetched using the new method, which may return an error that must be handled. For example:

use rido::WindowsEntry;
let release = WindowsEntry::new("10", "English (United States)", "x86_64")?;

The WindowsEntry struct contains URL (String) and Hash (Option<String>) instance fields, which are populated by the new method.

Rido also supports downloading both 32-bit and 64-bit images for operating systems that support them. Windows 10 (including enterprise) releases offer 32-bit images. Use the i686 architecture to specify a 32-bit image, and x86_64 for a 64-bit image.

Rido includes an Architecture enum and release/language enums for each of consumer & enterprise. Alternatively, as in the example above, you may use &strs, since TryInto<&str> is implemented for each and the new function will take in any type implementing TryInto;

Available Releases and Languages

10/11: Arabic, Brazilian Portuguese, Bulgarian, Chinese (Simplified), Chinese (Traditional), Croatian, Czech, Danish, Dutch, English (United States), English International, Estonian, Finnish, French, French Canadian, German, Greek, Hebrew, Hungarian, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian Latin, Slovak, Slovenian, Spanish, Spanish (Mexico), Swedish, Thai, Turkish, Ukrainian

Enterprise:

10-ltsc/10-enterprise/11-enterprise: English (United States), English (Great Britain), Chinese (Simplified), Chinese (Traditional), French, German, Italian, Japanese, Korean, Portuguese (Brazil), Spanish

server-2012-r2/server-2016/server-2019/server-2022: English (United States), Chinese (Simplified), French, German, Italian, Japanese, Russian, Spanish