{
    "version": "1.96.3",
    "description": "Tailscale a WireGuard based mesh VPN, used to connect your computers and other devices together securely without proxies.",
    "homepage": "https://tailscale.com",
    "license": "BSD-3-Clause",
    "notes": [
        "Start Tailscale with Windows by running:",
        "reg import \"$dir\\add-startup.reg\""
    ],
    "architecture": {
        "64bit": {
            "url": "https://pkgs.tailscale.com/stable/tailscale-setup-1.96.3-amd64.msi",
            "hash": "b501e3eef74dab81ab1731e759f82c600e77ba227750f9cf26357e0a59e26ed5",
            "extract_dir": "PFiles64\\Tailscale"
        },
        "32bit": {
            "url": "https://pkgs.tailscale.com/stable/tailscale-setup-1.96.3-x86.msi",
            "hash": "53a5d27da631829eac86195ae61da539d6b5f9c260420ac9b6b1349467063b46",
            "extract_dir": "PFiles\\Tailscale"
        },
        "arm64": {
            "url": "https://pkgs.tailscale.com/stable/tailscale-setup-1.96.3-arm64.msi",
            "hash": "f9103f09d52ea009ec2cd325cc992c9afe9ade60aa3eefadf2df7869e385882a",
            "extract_dir": "PFiles64\\Tailscale"
        }
    },
    "pre_install": "if (!(is_admin)) {error 'This package requires admin rights to install'; break}",
    "post_install": [
        "tailscaled.exe install-system-daemon",
        "$dirpath = $dir.Replace('\\', '\\\\')",
        "'add-startup.reg', 'remove-startup.reg' | ForEach-Object {",
        "    if (Test-Path \"$bucketsdir\\extras\\scripts\\$app\\$_\") {",
        "        $content = Get-Content \"$bucketsdir\\extras\\scripts\\$app\\$_\"",
        "        $content = $content.Replace('$dir', $dirpath)",
        "        if ($global) { $content = $content.Replace('HKEY_CURRENT_USER', 'HKEY_LOCAL_MACHINE') }",
        "        $content | Set-Content -Path \"$dir\\$_\"",
        "    }",
        "}"
    ],
    "pre_uninstall": [
        "if (!(is_admin)) { error 'Admin rights are required to uninstall'; break }",
        "Stop-Process -Name 'tailscale-ipn' -Force -ErrorAction SilentlyContinue | Out-Null",
        "Stop-Service -Name 'Tailscale' -Force -ErrorAction SilentlyContinue | Out-Null"
    ],
    "uninstaller": {
        "script": [
            "tailscaled.exe uninstall-system-daemon",
            "if ($cmd -eq 'uninstall') { reg import \"$dir\\remove-startup.reg\" }"
        ]
    },
    "bin": [
        "tailscale.exe",
        "tailscale-ipn.exe",
        "tailscaled.exe"
    ],
    "shortcuts": [
        [
            "tailscale-ipn.exe",
            "Tailscale"
        ]
    ],
    "checkver": {
        "url": "https://pkgs.tailscale.com/stable/",
        "regex": "tailscale-setup-([\\d.]+)-amd64\\.msi"
    },
    "autoupdate": {
        "architecture": {
            "64bit": {
                "url": "https://pkgs.tailscale.com/stable/tailscale-setup-$version-amd64.msi"
            },
            "32bit": {
                "url": "https://pkgs.tailscale.com/stable/tailscale-setup-$version-x86.msi"
            },
            "arm64": {
                "url": "https://pkgs.tailscale.com/stable/tailscale-setup-$version-arm64.msi"
            }
        },
        "hash": {
            "url": "$url.sha256"
        }
    }
}
