44 lines
1.6 KiB
PowerShell
44 lines
1.6 KiB
PowerShell
$tokenPath = "$env:USERPROFILE\.ssh\cloudflare-token"
|
|
$CF_TOKEN = (Get-Content $tokenPath -Encoding UTF8 -Raw).Trim()
|
|
Write-Host "Token len: $($CF_TOKEN.Length) preview: $($CF_TOKEN.Substring(0,6))..."
|
|
|
|
$cfh = @{ Authorization = "Bearer $CF_TOKEN"; 'Content-Type' = 'application/json' }
|
|
|
|
# Zone ID
|
|
$zonesResp = Invoke-RestMethod "https://api.cloudflare.com/client/v4/zones?name=invista.com.br&per_page=1" -Headers $cfh
|
|
if (-not $zonesResp.success) {
|
|
Write-Host "ERRO ao buscar zone: $($zonesResp.errors | ConvertTo-Json)"
|
|
exit 1
|
|
}
|
|
$zoneId = $zonesResp.result[0].id
|
|
Write-Host "Zone ID: $zoneId"
|
|
Write-Host ""
|
|
|
|
# Records
|
|
foreach ($sub in @('crivo-dev', 'mfe-user-dev', 'mfe-shell-dev')) {
|
|
$name = "$sub.invista.com.br"
|
|
$resp = Invoke-RestMethod "https://api.cloudflare.com/client/v4/zones/$zoneId/dns_records?name=$name&per_page=10" -Headers $cfh
|
|
Write-Host "=== $name ==="
|
|
if ($resp.result.Count -eq 0) {
|
|
Write-Host " (sem record)"
|
|
} else {
|
|
$resp.result | ForEach-Object {
|
|
Write-Host " type=$($_.type) content=$($_.content) proxied=$($_.proxied)"
|
|
}
|
|
}
|
|
Write-Host ""
|
|
}
|
|
|
|
# Tunnels
|
|
Write-Host "=== Cloudflare Tunnels (via zone) ==="
|
|
$accResp = Invoke-RestMethod "https://api.cloudflare.com/client/v4/zones/$zoneId" -Headers $cfh
|
|
$accountId = $accResp.result.account.id
|
|
Write-Host "Account ID: $accountId"
|
|
if ($accountId) {
|
|
$tuns = Invoke-RestMethod "https://api.cloudflare.com/client/v4/accounts/$accountId/cfd_tunnel?status=active&per_page=10" -Headers $cfh
|
|
if ($tuns.result.Count -eq 0) {
|
|
Write-Host " (nenhum tunnel ativo)"
|
|
} else {
|
|
$tuns.result | ForEach-Object { Write-Host " tunnel: $($_.name) id=$($_.id)" }
|
|
}
|
|
}
|