rido

Crates.iorido
lib.rsrido
version0.5.4
sourcesrc
created_at2024-03-31 06:00:13.717679
updated_at2024-07-02 01:13:13.540778
descriptionFetch valid URLs and checksums of Microsoft Operating Systems.
homepage
repositoryhttps://github.com/lj3954/rido
max_upload_size
id1191470
size104,501
Liam (lj3954)

documentation

README

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::WindowsData;
let release = WindowsData::new("10", "English (United States)", "x86_64")?;

The WindowsData 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;

You can also build a WindowsEntry with release, language, and architecture fields, or gather a vector of all available entries with the "list_all" method. WindowsData implements TryFrom<WindowsEntry>

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

Commit count: 25

cargo fmt