Repository navigation
Releases: lucassm02/severino
Releases · lucassm02/severino
Release list
Severino 0.7.1
English
Fixed
- The service editor warned that a one-label name, like
pedidos, was outside the CA even when the CA covered it.
Português
Corrigido
- O editor de serviço avisava que um nome de uma parte só, como
pedidos, estava fora da CA mesmo quando a CA o cobria.
Severino 0.7.0
English
Added
- HTTP ports in services: a port marked HTTP goes through the proxy and gets HTTPS from the local CA (
https://nameanswers for the main HTTP port, and each HTTP port takes TLS on its own number), the route rules, and its requests with details in Requests. The app's Host still reaches the destination. Docker and Kubernetes refreshes keep the marks. In WSL the ports still go straight to the destination. - Clicking a service's name opens it in the browser, like a route; with several web ports, a menu lists them, and the card's ⋯ menu has Open in browser. Database and queue ports are left out.
- Security for routes, in the route editor: open, Severino's password page (a session cookie until the browser closes, 12 hours at most), Basic Auth, or a required header like
X-Api-Key. Only hashes of the password and of the key are kept. The route's card shows the mode, and folder routes are covered too.
Changed
- Address, host and port fields take out what comes with a copied address, when it is pasted or when the field is left:
http://in front, a path, a:left after an IP, a port with its colon. A port that came with the host goes to the port field, andhttps://picks HTTPS.
Português
Adicionado
- Portas HTTP nos serviços: uma porta marcada como HTTP passa pelo proxy e ganha HTTPS pela CA local (
https://nomeresponde pela porta HTTP principal, e cada porta HTTP aceita TLS no próprio número), as regras das rotas e as requisições com detalhes em Requisições. O Host do app continua chegando ao destino. Atualizar do Docker e do Kubernetes mantém as marcas. No WSL as portas continuam indo direto ao destino. - Clicar no nome de um serviço abre no navegador, como numa rota; com várias portas web, um menu lista os endereços, e o menu ⋯ do card ganha Abrir no navegador. Portas de banco e de fila ficam de fora.
- Segurança nas rotas, no editor da rota: aberta, tela de senha do Severino (cookie de sessão até o navegador fechar, no máximo 12 horas), Basic Auth ou cabeçalho obrigatório, como
X-Api-Key. Só ficam guardados hashes da senha e da chave. O card da rota mostra o modo, e rotas de pasta também ficam protegidas.
Alterado
- Os campos de endereço, destino e porta tiram o que vem junto ao copiar um endereço, ao colar ou ao sair do campo: o
http://do começo, o caminho, o:que sobra depois do IP, a porta com os dois-pontos. A porta que veio com o destino vai para o campo de porta, ehttps://escolhe HTTPS.
Severino 0.6.0
English
Added
- Request details: clicking a line in Requests opens its headers, sizes, where it went and, with Capture bodies on, the first 64 KB of each text body. Copy as curl (PowerShell or bash), Repeat and Export HAR.
- Health notices: routes and services with Tell me when it stops answering get a tray notice after 15 seconds without an answer, and another when they are back. Clicking it opens the tab. Settings › General turns them all off.
- Route rules, in the route editor's Rules: allow CORS (Severino answers the preflight), set or remove headers both ways, wait before forwarding, and fail on purpose with 429, 500, 502, 503 or 504 in part of the requests. Each rule on shows as a badge on the route's card.
- A folder as a route's target: Severino serves its files itself, with index.html, no cache and, for single-page apps, unknown pages sent to index.html. Path routes, HTTPS and the route rules work with folders too.
- Environments: routes, services and DNS entries can belong to one, like
producaoorstaging, and the same name can live in several. Only the active environment counts (with the items of none); the status bar and the tray switch it, and hosts, proxy, services and WSL follow at once.Get-SeverinoEnvironmentandSet-SeverinoEnvironmentin PowerShell. - Project files: a
severino.jsonin a repository declares a project's routes, services and DNS entries. Drop it on the window, open it in Settings › Projects or runImport-SeverinoProject; a preview shows what comes in, changes and leaves before anything is applied, and applying again touches only the project's items. Save as project… on a route group, orExport-SeverinoProject, writes one. - The local CA trusted in WSL: Settings › WSL installs it in the chosen distros (update-ca-certificates or update-ca-trust, and NODE_EXTRA_CA_CERTS for Node), follows reissues, and takes it out when turned off, when the CA goes, and with Clean up everything and the uninstaller.
Changed
- Clicking the new version notice in the tray opens the window.
- Backup files are now version 3; older versions of Severino do not read them.
Fixed
- The editors (route, service, DNS entry) and the first-run wizard sometimes opened blank, with only the frame and the text cursor.
Português
Adicionado
- Detalhes da requisição: clicar numa linha de Requisições abre os cabeçalhos, os tamanhos, para onde ela foi e, com Capturar conteúdo ligado, os primeiros 64 KB de cada corpo de texto. Copiar como curl (PowerShell ou bash), Repetir e Exportar HAR.
- Avisos de saúde: rotas e serviços com Avisar quando parar de responder ganham um aviso na bandeja depois de 15 segundos sem resposta, e outro quando voltam. Clicar abre a aba. Configurações › Geral desliga todos.
- Regras por rota, na seção Regras do editor da rota: liberar CORS (o Severino responde o preflight), pôr ou tirar cabeçalhos na ida e na volta, esperar antes de repassar e falhar de propósito com 429, 500, 502, 503 ou 504 em parte das requisições. Cada regra ligada aparece como selo no card da rota.
- Pasta como destino de uma rota: o Severino serve os arquivos dela, com index.html, sem cache e, para apps de página única, páginas desconhecidas indo para o index.html. Rotas por caminho, HTTPS e as regras por rota também valem para pasta.
- Ambientes: rotas, serviços e entradas DNS podem ser de um, como
producaooustaging, e o mesmo nome pode existir em vários. Só o ambiente ativo vale (com os itens sem ambiente); a barra de status e a bandeja trocam, e hosts, proxy, serviços e WSL acompanham na hora.Get-SeverinoEnvironmenteSet-SeverinoEnvironmentno PowerShell. - Arquivo do projeto: um
severino.jsonno repositório declara as rotas, serviços e entradas DNS do projeto. Solte o arquivo na janela, abra em Configurações › Projetos ou rodeImport-SeverinoProject; uma prévia mostra o que entra, muda e sai antes de aplicar, e aplicar de novo só mexe nos itens do projeto. Salvar como projeto… num grupo de rotas, ouExport-SeverinoProject, gera um. - CA local confiável no WSL: Configurações › WSL instala nas distros escolhidas (update-ca-certificates ou update-ca-trust, e NODE_EXTRA_CA_CERTS para o Node), acompanha a reemissão e tira ao desligar, quando a CA sai, e no Limpar tudo e no desinstalador.
Alterado
- Clicar no aviso de versão nova na bandeja abre a janela.
- Os arquivos de backup agora são da versão 3; versões anteriores do Severino não os leem.
Corrigido
- Os editores (rota, serviço, entrada DNS) e o assistente de primeiro uso às vezes abriam em branco, só com a moldura e o cursor de texto.
Severino 0.5.1
English
Fixed
- "Exit" in the tray left the menu frozen on screen and the process running.
- The DNS tab has less text: shorter section hints, a compact empty state, the reload by its section title and no repeated "outside Severino" badge on each line.
- The scroll bar of the lists no longer covers the cards' buttons.
Português
Corrigido
- "Sair" na bandeja deixava o menu congelado na tela e o processo aberto.
- A aba DNS tem menos texto: dicas de seção mais curtas, um estado vazio compacto, o "ler de novo" junto ao título da seção e sem o selo "fora do Severino" repetido em cada linha.
- A barra de rolagem das listas não cobre mais os botões dos cards.
Severino 0.5.0
English
First published version.
Added
- Routes: a domain, like
meuapp.sev, leads to a local app through a reverse proxy that only listens on127.0.0.1and::1, with the name written in a block of its own in the hosts file. - Path routes:
meuapp.sev/apigoes to a different target than the rest of the domain, optionally stripping the path before forwarding. - Wildcard routes:
*.meuapp.sevanswers any name below it, resolved by a DNS server of the helper service on127.53.0.1and Windows NRPT rules. - Route groups, with a switch that turns the whole group on or off and a menu to rename or ungroup it.
- HTTPS from a local ECDSA P-256 certificate authority, with Name Constraints limited to the routes' domains, its key protected by DPAPI and installed for the current user only.
- HTTP to HTTPS redirect with 307, never 301 nor HSTS.
- Services: names that lead straight to a port, over any protocol (Postgres, Redis, gRPC), each on a loopback address of its own.
- Service import from Kubernetes (NodePort, ClusterIP through a managed
kubectl port-forward, Ingress hosts as routes) and from Docker containers, on Windows or in a WSL distro. - Imported services are followed: Docker events and a Kubernetes check every 30 seconds fix ports on their own.
- Apps in WSL call the services by name, in the chosen distros.
- DNS tab: entries that lead a name straight to an IP and stay with the app closed. Private IPs go in right away; a public IP or a wildcard asks for a Windows administrator confirmation.
- Hosts lines that are not Severino's show up marked; editing or removing one asks for confirmation and leaves a comment in the hosts file.
- DNS names as targets of routes and services, with the IP in sight and links between the tabs.
- The route form suggests a service when the port belongs to a database or queue, and a DNS entry when the target is a network IP.
- Requests tab, with an in-memory log of what went through the proxy and the services.
- Tray icon with the route list and a pause that hands the domains back to the internet.
- PowerShell module that talks to the running app:
New-SeverinoRoute,Set-SeverinoDns,Disable-SeverinoRoute -Groupand more. - Backup of routes, services and DNS entries to a JSON file.
- First-run wizard that checks port 80, the helper service and the system proxy.
- New version notice: the app asks GitHub for the latest release at start and once a day, and tells you at the top of the window and in the tray. Update now downloads the installer, checks the SHA-256 GitHub published, installs silently and opens the app again, keeping routes, services and settings. The check can be turned off in Settings › About.
- English and Portuguese: the app, the installer and the proxy's error pages follow the Windows language, and Settings › General lets you pick.
- "Clean up everything" and the uninstaller remove what Severino put into Windows.
- Installer for Windows 10 and 11, 64-bit.
- Website at https://lucassm02.github.io/severino/, in English and Portuguese, with an intro video and social media images.
Português
Primeira versão publicada.
Adicionado
- Rotas: um domínio, como
meuapp.sev, leva a um app local por um proxy reverso que escuta só em127.0.0.1e::1, com o nome gravado num bloco próprio do arquivo hosts. - Rotas por caminho:
meuapp.sev/apivai para outro destino que o resto do domínio, com a opção de tirar o caminho antes de repassar. - Rotas curinga:
*.meuapp.sevatende qualquer nome abaixo, respondido por um DNS do serviço auxiliar em127.53.0.1e por regras NRPT do Windows. - Grupos de rotas, com uma chave que liga ou desliga o grupo inteiro e um menu para renomear ou desfazer o grupo.
- HTTPS por uma autoridade certificadora local ECDSA P-256, com Name Constraints restritos aos domínios das rotas, chave protegida por DPAPI e instalada só na conta do usuário.
- Redirecionamento de HTTP para HTTPS com 307, nunca 301 nem HSTS.
- Serviços: nomes que levam direto a uma porta, em qualquer protocolo (Postgres, Redis, gRPC), cada um num endereço de loopback próprio.
- Importação de serviços do Kubernetes (NodePort, ClusterIP por
kubectl port-forwardgerenciado, hosts de Ingress como rotas) e de containers do Docker, no Windows ou numa distro do WSL. - Acompanhamento dos serviços importados: eventos do Docker e consulta ao Kubernetes a cada 30 segundos corrigem portas sozinhos.
- Apps no WSL chamam os serviços pelo nome, nas distros escolhidas.
- Aba DNS: entradas que levam um nome direto a um IP e valem com o app fechado. IPs privados entram na hora; IP público e curinga pedem confirmação de administrador do Windows.
- As linhas do hosts que não são do Severino aparecem marcadas; editar ou remover uma delas pede confirmação e deixa um comentário no hosts.
- Nomes do DNS como destino de rotas e serviços, com o IP à vista e links entre as abas.
- O formulário de rota sugere criar um serviço quando a porta é de um banco ou fila, e uma entrada DNS quando o destino é um IP da rede.
- Aba Requisições, com o log em memória do que passou pelo proxy e pelos serviços.
- Ícone na bandeja com a lista de rotas e uma pausa que devolve os domínios à internet.
- Módulo PowerShell que fala com o app aberto:
New-SeverinoRoute,Set-SeverinoDns,Disable-SeverinoRoute -Groupe outros. - Backup de rotas, serviços e entradas DNS num arquivo JSON.
- Assistente de primeiro uso, que confere a porta 80, o serviço auxiliar e o proxy do sistema.
- Aviso de versão nova: o app consulta a última release no GitHub ao abrir e uma vez por dia, e avisa no topo da janela e na bandeja. Atualizar agora baixa o instalador, confere o SHA-256 publicado pelo GitHub, instala em silêncio e abre o app de novo, mantendo rotas, serviços e configurações. A consulta pode ser desligada em Configurações › Sobre.
- Inglês e português: o app, o instalador e as páginas de erro do proxy seguem o idioma do Windows, e Configurações › Geral deixa escolher.
- "Limpar tudo" e o desinstalador tiram o que o Severino colocou no Windows.
- Instalador para Windows 10 e 11, 64 bits.
- Site em https://lucassm02.github.io/severino/, em inglês e em português, com vídeo de apresentação e imagens para redes sociais.