local-tls-proxy: transformar todas as portas em https
(github.com/jc-lab)Eu precisava testar Secure Context no navegador, e embora existam programas parecidos, achei a configuração meio trabalhosa..
Então criei o local-tls-proxy, feito para conseguir fazer proxy de qualquer porta.
Ele gera automaticamente um certificado de CA e pode instalá-lo com o argumento -install, além de oferecer suporte tanto a Linux quanto a Windows.
Ele faz proxy de todas as requisições para https://{porta}.{IP}.sslip.io para http://{IP}:{porta}.
Como usar:
- Instalar o certificado da CA
- No Linux:
$ sudo ./local-tls-proxy -install - No Windows (modo administrador):
> local-tls-proxy.exe -install
-
Executar o proxy
$ ./local-tls-proxy -port 5443 -
Agora, se você acessar
https://{porta}.{IP}.sslip.io:5443/, será feito proxy parahttp://{IP}:{porta}/.
Por exemplo,https://5173.127-0-0-1.sslip.io:5443/será conectado ahttp://127.0.0.1:5173/.
5 comentários
Para usar o proxy corretamente com
{porta}.{ip}, a resposta DNS teria que apontar para o localhost independentemente do IP informado, mas não é isso que está acontecendo: ele está retornando como resposta o IP digitado. (Nesse caso, naturalmente, nem o processamento de HTTPS nem o encaminhamento para essa porta podem funcionar.)Pelo código, a emissão do certificado também está sendo feita como
*.127-0-0-1.sslip.io, então talvez fizesse sentido simplesmente remover o IP da regra de endereçamento.Excelente
Existem coisas como o ngrok ou o cloudflared, mas para testar de forma simples e sem configurar nada, isso parece bem legal!
Há alguma forma prevista de remover o certificado da CA?
Ah, eu fiz isso de forma simples, então ainda não há nada para remover.
No caso do Windows, é possível excluir entrando em
mmc-> Certificados.