SecureFetch.psd1
|
@{ RootModule = 'SecureFetch.psm1' ModuleVersion = '0.2.0' CompatiblePSEditions = @('Desktop', 'Core') GUID = '583cf9c8-f389-4a00-8058-e6846f18c13a' Author = 'Mark Newton' CompanyName = 'Variably Constant' Copyright = '(c) 2026 Mark Newton' Description = '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.' PowerShellVersion = '5.1' FormatsToProcess = @('SecureFetch.Format.ps1xml') FunctionsToExport = @() CmdletsToExport = @('Invoke-SecureFetch') VariablesToExport = @() AliasesToExport = @() PrivateData = @{ PSData = @{ Tags = @('pwrs', 'powershell', 'tls', 'tls13', 'post-quantum', 'mlkem', 'rustls', 'https', 'Windows', 'Linux', 'MacOS', 'FreeBSD'); LicenseUri = 'https://github.com/Variably-Constant/SecureFetch/blob/main/LICENSE'; ProjectUri = 'https://github.com/Variably-Constant/SecureFetch'; IconUri = 'https://raw.githubusercontent.com/Variably-Constant/PWRS/main/assets/PWRS.png'; ReleaseNotes = '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' } } } |