SecureFetch

0.2.0

Post-quantum HTTPS for PowerShell: TLS 1.3 with the X25519MLKEM768 hybrid key exchange, from rustls inside the module. On Windows, neither PowerShell nor .NET offers it by default: both get TLS from SChannel, whose ML-KEM support is Insider Preview only and off by default, so Invoke-WebRequest negotiates classical X25519. Invoke-SecureFetch reports each handshake's pr
Post-quantum HTTPS for PowerShell: TLS 1.3 with the X25519MLKEM768 hybrid key exchange, from rustls inside the module. On Windows, neither PowerShell nor .NET offers it by default: both get TLS from SChannel, whose ML-KEM support is Insider Preview only and off by default, so Invoke-WebRequest negotiates classical X25519. Invoke-SecureFetch reports each handshake's protocol, key exchange and cipher suite, refuses with -RequirePostQuantum any server that cannot agree X25519MLKEM768, and handles methods, headers and bodies, https-only redirects, downloads to a file, HTTP proxies, and gzip, deflate, br and zstd bodies. Bound directly to Rust with PoWerRuSt (pwrs), Rust bindings for writing PowerShell binary modules in the spirit of PyO3: the cmdlet is the library, not a wrapper over a command line. Windows x64, Linux x64 (glibc 2.28+), macOS arm64 and FreeBSD x64, PowerShell 7.4+ and, on Windows, Windows PowerShell 5.1. Source and issues at https://github.com/Variably-Constant/SecureFetch; the binding framework at https://github.com/Variably-Constant/PWRS and https://crates.io/crates/PoWerRuSt.
Show more

Minimum PowerShell version

5.1

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name SecureFetch

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name SecureFetch

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) 2026 Mark Newton

Package Details

Author(s)

  • Mark Newton

Tags

pwrs powershell tls tls13 post-quantum mlkem rustls https Windows Linux MacOS FreeBSD

Cmdlets

Invoke-SecureFetch

PSEditions

Desktop Core

Dependencies

This module has no dependencies.

Release Notes

Built on PoWerRuSt 1.0.0: Get-Help -Online opens the cmdlet's wiki page, -ProxyCredential takes a user name and prompts for the password, and a stop wakes a waiting request at once. In Windows PowerShell 5.1 it cannot share a session with a module built with PoWerRuSt 0.8.0 or earlier, in either order; PowerShell 7 is unaffected. What changed: https://github.com/Variably-Constant/SecureFetch/blob/main/CHANGELOG.md

FileList

Version History

Version Downloads Last updated
0.2.0 (current version) 14 11/4/2026
0.1.0 31 9/29/2026