Spaces:
Sleeping
Sleeping
File size: 5,197 Bytes
494c89b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
# Kiro Traffic Logger - DEV TOOL для анализа трафика
#
# Это инструмент для РАЗРАБОТЧИКОВ для анализа трафика Kiro.
# Для обычного использования применяйте патч через расширение!
#
# Использование:
# .\run_kiro_with_proxy.ps1
#
# Требования:
# - mitmproxy установлен (pip install mitmproxy)
# - Сертификат mitmproxy установлен (.\install_mitmproxy_cert.ps1)
#
# Логи сохраняются в: ~/.kiro-manager-wb/proxy_logs/
$ErrorActionPreference = "Stop"
$PROXY_PORT = 8080
$PROXY_SCRIPT = "$PSScriptRoot\..\services\kiro_proxy.py"
$KIRO_PATH = "$env:LOCALAPPDATA\Programs\Kiro\Kiro.exe"
# Проверяем что Kiro существует
if (-not (Test-Path $KIRO_PATH)) {
Write-Host "[!] Kiro not found at: $KIRO_PATH" -ForegroundColor Red
Write-Host " Trying alternative paths..."
$alternatives = @(
"$env:LOCALAPPDATA\Programs\kiro\Kiro.exe",
"$env:PROGRAMFILES\Kiro\Kiro.exe",
"C:\Users\$env:USERNAME\AppData\Local\Programs\Kiro\Kiro.exe"
)
foreach ($alt in $alternatives) {
if (Test-Path $alt) {
$KIRO_PATH = $alt
Write-Host "[OK] Found Kiro at: $KIRO_PATH" -ForegroundColor Green
break
}
}
if (-not (Test-Path $KIRO_PATH)) {
Write-Host "[!] Kiro not found! Please install Kiro or update path." -ForegroundColor Red
exit 1
}
}
Write-Host "=== Kiro Proxy Launcher ===" -ForegroundColor Cyan
Write-Host ""
Write-Host ""
Write-Host "========================================" -ForegroundColor Yellow
Write-Host " KIRO TRAFFIC LOGGER (DEV TOOL)" -ForegroundColor Yellow
Write-Host "========================================" -ForegroundColor Yellow
Write-Host ""
Write-Host "This is a DEVELOPMENT tool for analyzing Kiro traffic." -ForegroundColor Cyan
Write-Host "For normal use, apply the patch via the extension!" -ForegroundColor Cyan
Write-Host ""
# Проверяем что mitmproxy установлен
try {
$null = Get-Command mitmdump -ErrorAction Stop
Write-Host "[OK] mitmproxy found" -ForegroundColor Green
} catch {
Write-Host "[!] mitmproxy not found. Install with: pip install mitmproxy" -ForegroundColor Red
exit 1
}
# Проверяем сертификат mitmproxy
$certPath = "$env:USERPROFILE\.mitmproxy\mitmproxy-ca-cert.cer"
if (-not (Test-Path $certPath)) {
Write-Host "[!] mitmproxy certificate not found." -ForegroundColor Yellow
Write-Host " Run 'mitmdump' once to generate certificates, then install:" -ForegroundColor Yellow
Write-Host " certutil -addstore -user Root $certPath" -ForegroundColor Yellow
Write-Host ""
Write-Host " Or run mitmproxy and visit http://mitm.it to download cert" -ForegroundColor Yellow
Write-Host ""
}
Write-Host ""
Write-Host "[1] Starting mitmproxy on port $PROXY_PORT..." -ForegroundColor Cyan
# Запускаем mitmproxy в новом окне
$proxyProcess = Start-Process -FilePath "mitmdump" `
-ArgumentList "-s", $PROXY_SCRIPT, "-p", $PROXY_PORT, "--set", "ssl_insecure=true" `
-PassThru -WindowStyle Normal
Write-Host " PID: $($proxyProcess.Id)" -ForegroundColor Gray
Start-Sleep -Seconds 2
# Проверяем что прокси запустился
try {
$null = Test-NetConnection -ComputerName localhost -Port $PROXY_PORT -WarningAction SilentlyContinue
Write-Host "[OK] Proxy is running" -ForegroundColor Green
} catch {
Write-Host "[!] Proxy failed to start" -ForegroundColor Red
}
Write-Host ""
Write-Host "[2] Starting Kiro with proxy..." -ForegroundColor Cyan
# Устанавливаем переменные окружения для прокси
$env:HTTP_PROXY = "http://127.0.0.1:$PROXY_PORT"
$env:HTTPS_PROXY = "http://127.0.0.1:$PROXY_PORT"
$env:NODE_TLS_REJECT_UNAUTHORIZED = "0" # Отключаем проверку SSL для Node.js
Write-Host " HTTP_PROXY=$env:HTTP_PROXY" -ForegroundColor Gray
Write-Host " HTTPS_PROXY=$env:HTTPS_PROXY" -ForegroundColor Gray
# Запускаем Kiro с явным указанием прокси (Electron игнорирует env переменные!)
$kiroArgs = @(
"--proxy-server=http://127.0.0.1:$PROXY_PORT",
"--ignore-certificate-errors"
)
Write-Host " Kiro args: $($kiroArgs -join ' ')" -ForegroundColor Gray
$kiroProcess = Start-Process -FilePath $KIRO_PATH -ArgumentList $kiroArgs -PassThru
Write-Host " Kiro PID: $($kiroProcess.Id)" -ForegroundColor Gray
Write-Host ""
Write-Host "[OK] Kiro started with proxy!" -ForegroundColor Green
Write-Host ""
Write-Host "Traffic logs: ~/.kiro-manager-wb/proxy_logs/" -ForegroundColor Yellow
Write-Host ""
Write-Host "Press Ctrl+C to stop proxy when done..." -ForegroundColor Gray
# Ждём завершения Kiro
try {
$kiroProcess.WaitForExit()
} finally {
Write-Host ""
Write-Host "[*] Stopping proxy..." -ForegroundColor Cyan
Stop-Process -Id $proxyProcess.Id -Force -ErrorAction SilentlyContinue
Write-Host "[OK] Done" -ForegroundColor Green
}
|