@echo off
setlocal
title Liberar o Chrome para falar com o Web Agent - Ellos Informatica

echo.
echo  ==========================================================
echo   Liberar o Chrome para acessar o TOTVS Web Agent
echo   Ellos Informatica - https://blog.ellosinformatica.com.br
echo  ==========================================================
echo.
echo  O QUE ESTE ARQUIVO FAZ
echo.
echo  Grava duas politicas do Chrome, VALIDAS APENAS para o
echo  endereco que voce informar:
echo.
echo    OverrideSecurityRestrictionsOnInsecureOrigin
echo    LocalNetworkAccessAllowedForUrls
echo.
echo  Elas sao necessarias porque, quando a pagina e servida em
echo  HTTP simples, o Chrome nega - sozinho, sem perguntar - que
echo  ela acesse programas locais como o Web Agent.
echo.
echo  ISSO REDUZ UMA PROTECAO DO NAVEGADOR, e por isso vale so
echo  para o endereco informado. Nenhum outro site e afetado.
echo  Remova estas chaves quando o ambiente passar a usar HTTPS.
echo.

net session >nul 2>&1
if errorlevel 1 (
  echo  [ERRO] Este arquivo precisa ser executado como
  echo         ADMINISTRADOR.
  echo.
  echo  Feche esta janela, clique com o botao DIREITO no arquivo
  echo  e escolha "Executar como administrador".
  echo.
  pause
  exit /b 1
)

echo  Executando como administrador. OK.
echo.
echo  Informe APENAS a origem do seu ambiente - protocolo, host e
echo  porta, SEM caminho no final. Exemplo:
echo    http://minhaempresa123456.taf.cloudtotvs.com.br:10604
echo.

set "ORIGEM="
set /p "ORIGEM=Origem: "

if not defined ORIGEM (
  echo.
  echo  [ERRO] Nenhuma origem informada.
  echo.
  pause
  exit /b 1
)

echo %ORIGEM% | findstr /i /r "^http[s]*://" >nul
if errorlevel 1 (
  echo.
  echo  [ERRO] A origem precisa comecar com http:// ou https://
  echo.
  pause
  exit /b 1
)

set "CHAVE=HKLM\SOFTWARE\Policies\Google\Chrome"

reg add "%CHAVE%\OverrideSecurityRestrictionsOnInsecureOrigin" /v 1 /t REG_SZ /d "%ORIGEM%" /f >nul
if errorlevel 1 goto :falha
reg add "%CHAVE%\LocalNetworkAccessAllowedForUrls" /v 1 /t REG_SZ /d "%ORIGEM%" /f >nul
if errorlevel 1 goto :falha

echo.
echo  Politicas gravadas para: %ORIGEM%
echo.
echo  ==========================================================
echo   FALTA UM PASSO, E ELE E OBRIGATORIO
echo.
echo   Feche TODAS as janelas do Chrome e abra de novo.
echo   Confira no Gerenciador de Tarefas (Ctrl+Shift+Esc, aba
echo   Detalhes) que nao sobrou nenhum chrome.exe.
echo.
echo   O botao "Atualizar politicas" do chrome://policy NAO
echo   resolve: logo apos gravar, a politica aparece com status
echo   "E necessario reiniciar o navegador". So depois de fechar
echo   o Chrome por completo ela passa a OK.
echo.
echo   Para conferir, abra:  chrome://policy
echo   As duas devem aparecer com Status OK.
echo  ==========================================================
echo.
pause
exit /b 0

:falha
echo.
echo  [ERRO] Nao foi possivel gravar as politicas no registro.
echo.
pause
exit /b 1
