SecureFetch.psd1
|
@{ RootModule = 'SecureFetch.psm1' ModuleVersion = '0.1.0' CompatiblePSEditions = @('Desktop', 'Core') GUID = '583cf9c8-f389-4a00-8058-e6846f18c13a' Author = 'Mark Newton' CompanyName = 'Variably Constant' Copyright = '(c) 2026 Mark Newton' Description = 'HTTPS requests from PowerShell over TLS 1.3 with the X25519MLKEM768 post-quantum hybrid key exchange, from rustls inside the module. Invoke-SecureFetch writes a SecureFetch.Response for each https:// address, with the protocol version, key exchange and cipher suite its handshake agreed; -RequirePostQuantum refuses a server that cannot agree X25519MLKEM768 before the request is sent. Certificates are verified against the bundled Mozilla roots and, on Windows, the Windows store, or a choice of roots. It sends GET, HEAD, POST, PUT, PATCH, DELETE and OPTIONS with headers and bodies, follows redirects to https:// addresses only, downloads to a file, goes through HTTP proxies by CONNECT, decodes gzip, deflate, br and zstd bodies, and keeps connections for the next request to the same host. Invoke-WebRequest and every other module keep the host''s own TLS stack. 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 and newer), macOS arm64 and FreeBSD x64 in one module, on PowerShell 7.4 or later 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 = 'The first release: Invoke-SecureFetch. What is in it: https://github.com/Variably-Constant/SecureFetch/blob/main/CHANGELOG.md' } } } |