MappingEncrypt.psd1

@{
    RootModule        = 'MappingEncrypt.psm1'
    ModuleVersion     = '1.0.0'
    GUID              = 'da609008-476d-46bb-af17-4a440499061d'
    Author            = 'MD Faisal Qureshi'
    CompanyName       = 'MD Faisal Qureshi'
    Copyright         = '(c) 2024 MD Faisal Qureshi. All rights reserved.'
    Description       = 'A custom character encoding module for encrypting PowerShell scripts. PowerShell port of the mapping-encrypt package; uses the same private Cloudflare mapping worker.'
    PowerShellVersion = '5.1'

    FunctionsToExport = @(
        'ConvertTo-MappingEncoded',
        'ConvertFrom-MappingEncoded',
        'Protect-MappingScript',
        'Unprotect-MappingScript',
        'Invoke-MappingPackage'
    )
    CmdletsToExport   = @()
    VariablesToExport = @()
    AliasesToExport   = @('mapping-encode', 'mapping-decode')

    PrivateData = @{
        PSData = @{
            Tags         = @('encoding', 'encryption', 'obfuscation', 'mapping', 'cloudflare', 'protect')
            LicenseUri   = 'https://github.com/mfq2412/Mapping/blob/main/LICENSE'
            ProjectUri   = 'https://github.com/mfq2412/Mapping'
            ReleaseNotes = @'
Encode/decode PowerShell scripts via the shared private Cloudflare mapping worker.
1.0.0 - BREAKING: new API key rotation; scripts encoded with older versions will no longer work. Re-encode your scripts with this version.

USAGE

  # Install / Upgrade / Uninstall / Reinstall
  Install-Module MappingEncrypt
  Update-Module MappingEncrypt
  Uninstall-Module MappingEncrypt
  Invoke-MappingPackage -Action reinstall

  # Encode a script file into a self-decoding stub:
  mapping-encode .\my_script.ps1 -o .\encrypted.ps1

  # Run the encoded script (it decodes itself at runtime):
  pwsh .\encrypted.ps1

  # Decode an encrypted script back to source:
  mapping-decode .\encrypted.ps1

  # String-level helpers:
  $enc = ConvertTo-MappingEncoded -Text 'Write-Host "hi"'
  $dec = ConvertFrom-MappingEncoded -EncodedString $enc
'@

        }
    }
}