Files
adbAutomation/enterPairingCode.ps1
2025-12-02 18:18:14 +00:00

161 lines
5.7 KiB
PowerShell

param (
[Parameter(Mandatory=$false)]
[string]$phNumber,
[Parameter(Mandatory=$false)]
[string]$instanceApiKey,
[Parameter(Mandatory=$false)]
[string]$instanceID,
[Parameter(Mandatory=$false)]
[switch]$debugtrue,
[Parameter(Mandatory=$false)]
[string]$instanceName
)
$phNumber = Read-Host ""
Read-Host
$global:LDPlayerPath ="C:\Ldplayer\LDplayer9"
$global:instanceNameglobal=$instanceName
function logger($logMessage) {
[int]$number = (get-content -path "$global:LDPlayerPath\index_count.txt")
if($number -gt 21){ $number=0}
$instanceList = Get-Content -Path "$global:LDPlayerPath\instanceList.txt"
#$instanceNumber = $instanceList[$number]
#$instanceData = (cat C:\Ldplayer\LDplayer9\vms\config\leidian${instanceNumber}.config)
#$convertedData = $instanceData | ConvertFrom-Json
foreach ( $inst in $instanceList) {
$instanceData = (cat C:\Ldplayer\LDplayer9\vms\config\leidian${inst}.config)
$convertedData = $instanceData | ConvertFrom-Json
$name = $convertedData."statusSettings.playerName"
if ($global:instanceNameglobal -eq $name){
$count = $inst
break
}
}
#if(-not $instanceName){$name = $convertedData."statusSettings.playerName"}
#$count = $number+1
$scriptName = Split-Path -Leaf $PSCommandPath
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss.fff"
$timestampedLogMessage = $timestamp + " ${global:instanceNameglobal} -instanceID: ${count} -${scriptName} -PID: ${PID}-:" + $logMessage
#$timestampedLogMessage
$logFilePath = "$global:LDPlayerPath\LDAutoLog.txt"
$fs = New-Object System.IO.FileStream($logFilePath, [System.IO.FileMode]::Append, [System.IO.FileAccess]::Write, [System.IO.FileShare]::Read)
$sw = New-Object System.IO.StreamWriter($fs)
try {
$sw.WriteLine($timestampedLogMessage)
} finally {
$sw.Close()
$fs.Close()
}
}
if (-not $instanceApiKey) {
$instanceApiKey = "4BC247F718F3-459C-9AFF-5D0A47306736"
logger "this is the apikey $instanceApiKey"
}
if ($instanceName -eq "") {
logger "here"
$instanceName = "PY-Expediente"
logger "this is the instance Name: $instanceName"
} else {logger "instance Name was provided: $instanceName"}
$pairingCode = $null
$cnt = 0
while ($true) {
if ($cnt -gt 3) {
logger "Breaking loop due to too many retries: $cnt"
break
}
$invokeParamsCheck = @{
Uri = "https://evo2.congregatio.info/instance/connectionState/${instanceName}"
Method = 'Get'
Headers = @{
'apikey' = $instanceApiKey
}
}
<# $referer = "https://evo2.congregatio.info/manager/instance/${instanceID}/dashboard"
if($phNumber){
$invokeParams = @{
Uri = "https://evo2.congregatio.info/instance/connect/${instanceName}?number=$phNumber"
Method = 'Get'
Headers = @{
'Accept' = 'application/json, text/plain, */*'
'Accept-Encoding' = 'gzip, deflate, br, zstd'
'Accept-Language' = 'en-US,en;q=0.9,pt;q=0.8'
'Connection' = 'keep-alive'
'Host' = 'evo2.congregatio.info'
'If-None-Match' = 'W/"3566-dv/lW7LOD1QXVfUqIZqJkpLUNqg"'
'Referer' = 'https://evo2.congregatio.info/manager/instance/be287e5d-66c6-4240-966a-94c1e7c9ed9a/dashboard'
'User-Agent' = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36'
'apikey' = $instanceApiKey
}
}
} else { #>
$invokeParams = @{
Uri = "https://evo2.congregatio.info/instance/connect/${instanceName}?number=$phNumber"
Method = 'Get'
Headers = @{
'Accept' = 'application/json, text/plain, */*'
'Accept-Encoding' = 'gzip, deflate, br, zstd'
'Accept-Language' = 'en-US,en;q=0.9,pt;q=0.8'
'Connection' = 'keep-alive'
'Host' = 'evo2.congregatio.info'
'If-None-Match' = 'W/"3566-dv/lW7LOD1QXVfUqIZqJkpLUNqg"'
'Referer' = 'https://evo2.congregatio.info/manager/instance/be287e5d-66c6-4240-966a-94c1e7c9ed9a/dashboard'
'User-Agent' = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36'
'apikey' = $instanceApiKey
}
}
#}
$invokeParamsRestart = @{
Uri = "https://evo2.congregatio.info/instance/logout/${instanceName}"
Method = 'DELETE'
Headers = @{
'apikey' = $instanceApiKey
}
}
$answerCheck = Invoke-RestMethod @invokeParamsCheck
if ($answerCheck.instance.state -eq "open"){
logger("instance is open, so not disconnecting")
return
}
#Invoke-RestMethod @invokeParamsRestart
logger($invokeParams.Uri)
logger($invokeParams.Headers.apikey)
$answer = Invoke-RestMethod @invokeParams 2>&1
logger($answer)
$pairingCode = $answer.pairingCode
logger($pairingCode)
logger "Received pairing code: $pairingCode"
if($pairingCode){break}
else
{
logger "API request failed so restarting instance: $_"
$answerRestart = Invoke-RestMethod @invokeParamsRestart
logger($answerRestart)
Start-Sleep -Seconds 3
}
$cnt += 1
if($pairingCode){break}
Write-Host "$cnt"
}
logger "Final pairing code: $pairingCode"
if($pairingCode) {& $global:LDPlayerPath\actions.ps1 -instanceIP "10.0.211.125" -action type, "$pairingCode"; Start-Sleep -Seconds 60}
else {
return $false
}