Voltar às atualizações
New releaseAug 20, 2026

opensoho v0.15.0

Plataforma leve de gerenciamento de dispositivos OpenWRT para redes pequenas. Configuração centralizada, monitoramento e gerenciamento WiFi para 2 a 20 dispositivos com implantação simples e compatibilidade com OpenWISP.

Compartilhar

Aviso: esta é uma versão inicial, por favor leia as notas de versão de TODAS as versões até agora

Logotipo do OpenSOHO OpenSOHO

Compre-me um café

Documentação

O OpenSOHO foi criado para gerenciar um pequeno número de dispositivos de rede baseados em OpenWRT. Daí o nome SOHO, de Small Office Home Office (SOHO) Networks.

  • De 2 a 20 dispositivos (não há limite rígido)
  • Sem multi-inquilino (multi-tenancy)
  • Compatível com openwisp-config e openwisp-monitoring.
  • Simples de implantar

É inspirado no OpenWISP, mas tem como objetivo redes que são muito pequenas para serem mantidas com OpenWISP. Como mencionado pelo OpenWISP:

No entanto, o OpenWISP pode não ser a melhor opção para redes muito pequenas (menos de 20 dispositivos), organizações sem conhecimento técnico em TI ou empresas que buscam alternativas open-source apenas para redução de custos.

As seguintes versões são testadas

  • OpenWRT 24.10.x DSA
  • OpenWRT 25.12.x DSA (suporte beta)

Primeiros passos com OpenSOHO

Visão geral

Configurar o OpenSOHO requer alguns passos simples, cada um detalhado nas seções abaixo:

  • Instale o OpenSOHO no seu servidor.
  • Instale os pacotes OpenWisp nos seus dispositivos OpenWRT.
  • Configure o OpenWisp em cada um dos seus dispositivos OpenWRT para conectar ao OpenSOHO.
  • Comece a configurar no OpenSOHO!

Instalar o OpenSOHO

Primeiro, escolha um segredo compartilhado (shared secret) que permita que os dispositivos OpenWRT (usando openwisp-config) se registrem no OpenSOHO.

Escolha uma longa string aleatória para segurança ideal.

Ele deve corresponder ao que você configurar no LuCI nas próximas etapas.

OPENSOHO_SHARED_SECRET=randompassphrase ./opensoho serve --http 0.0.0.0:8090

Agora, o OpenSOHO exibe uma URL na linha de comando que permite criar a conta de administrador. Simplesmente abra a URL no seu navegador.

Alternativamente, crie a conta de administrador via linha de comando:

./opensoho superuser upsert EMAIL PASS

Configurando (adotando) os dispositivos OpenWRT

Instalar os pacotes OpenWISP

opkg install openwisp-config openwisp-monitoring luci-app-openwisp # OpenWRT 24.10
apk add openwisp-config openwisp-monitoring luci-app-openwisp # OpenWRT 25.12+

Se você quiser usar o client steering 802.11v, o wpad-mbedtls completo é necessário.

No OpenWRT 24.10

opkg remove wpad-basic-mbedtls && \
opkg install wpad-mbedtls && \
service wpad restart

No OpenWRT 25.12+

apk del wpad-basic-mbedtls && \
apk add wpad-mbedtls && \
service wpad restart

Após a instalação do wpad-mbedtls, tente service restart wpad primeiro, caso contrário, pode ser necessário reiniciar para alternar para o novo binário wpad. Caso contrário, você pode receber um erro como daemon.notice netifd: radio1 (28210): WARNING (wireless_add_process): executable path /usr/sbin/wpad does not match process 1842 path (/usr/sbin/wpad (deleted)). (Observe que o client steering 802.11v ainda está em desenvolvimento)

Configurar o OpenWISP no LuCI:

  • Defina apenas a Server URL e o Shared secret.
    • NÃO adicione uma barra no final da Server URL. Exemplo de URL: http://192.168.1.1:8090
    • O shared secret é o valor que você escolheu anteriormente (OPENSOHO_SHARED_SECRET).
  • Opcionalmente, reduza o Update Interval para 30 segundos para atualizações mais rápidas. (O OpenSOHO faz isso por você se não alterar)
  • O OpenSOHO também ativa o monitoramento e reduz o intervalo de monitoramento para 15 segundos para atualizações mais rápidas do estado da rede.

É altamente recomendável ativar o monitoramento, pois o OpenSOHO deduz muitas das configurações atuais do OpenWRT e as preenche para facilitar a configuração.

Configurar o OpenSOHO

  • Aguarde os dispositivos OpenWrt se auto-registrarem usando o shared secret.
  • Defina a flag Enabled do dispositivo como verdadeiro.
  • Defina o numradios para o valor correto. Por exemplo, para um dispositivo 2.4 + 5GHz, esse valor seria 2.
  • Configure um ponto de acesso Wi-Fi (SSID+KEY). Este procedimento permite que o OpenSOHO detecte a configuração de rádio corretamente no registro do dispositivo.
  • Anexe o ponto de acesso Wi-Fi configurado a um dispositivo para configurá-lo.
  • Atualmente, cada rede será configurada automaticamente em todos os rádios (configurados usando numradios).
  • Opcionalmente, os LEDs também podem ser ligados ou desligados (apenas configuração estática por enquanto).
  • Configurar frequências de rádio agora é suportado. O OpenSOHO lê a configuração de rádio atual uma vez e a disponibiliza na configuração de rádios. Pode levar um minuto ou dois para que a configuração de rádio apareça (as etapas de configuração e monitoramento precisam de algum tempo para serem concluídas).

Painel

O OpenSOHO vem com um painel básico. Ele é acessível através do botão na barra lateral esquerda, logo abaixo do logotipo do OpenSOHO.

Observe que isso não se destina a substituir ferramentas de gráficos mais avançadas, é e continuará sendo mantido básico propositalmente.

Configurar

O OpenSoho agora pode ser acessado via http://ipaddress:8090/_/

Existem várias coleções de configuração:

Clientes

Estes são os clientes conectados ao Wi-Fi. Esta tabela é somente leitura, exceto pelo alias. Pode ser usado para dar aos dispositivos um nome legível por humanos. Isso só funciona corretamente quando o cliente não randomiza seu endereço MAC.

Clientes conectados

Contém a lista de clientes atualmente conectados ao seu Wi-Fi. Para mostrar o endereço IP do dispositivo, o OpenSOHO precisa de acesso às suas concessões DHCP. Para isso, você precisa ter o daemon de monitoramento openwisp em execução no dispositivo que contém o servidor DHCP. Dispositivos com IP estático não receberão um IP. Esta é uma limitação conhecida a partir da versão 0.12.0.

Dispositivos

Estes são os dispositivos conectados.

  • Use ativar/desativar para desabilitar atualizações de configuração. Isso é útil para evitar atualizar todos os dispositivos de uma vez. O monitoramento permanece ativo.
  • O status de saúde é um campo somente leitura. healthy significa que o dispositivo se comunicou no último minuto. Se não o fez, o status de saúde se torna unhealthy e pode haver algo errado com o dispositivo ou sua conexão.
  • LEDs permite escolher configurações de LED
  • Numradios permite definir o número de rádios no dispositivo. Isso não é enviado inicialmente pelo OpenWisp, então precisa ser definido pelo usuário.
  • Wi-Fi permite selecionar SSIDs para aplicar neste dispositivo.

LEDs

  • Configuração básica de LED (mais uma prova de conceito no momento)

Rádios

  • Permite definir a frequência de cada rádio.
  • A banda não deve ser modificada, pois isso permite que o OpenSOHO verifique a configuração de frequência. Isso é necessário devido a limitações dentro do PocketBase.

Wi-Fi

  • Permite configurar vários SSIDs. A seleção de modos de criptografia é atualmente limitada. WEP ou Aberto não são suportados por design.

Monitoramento

Monitoramento de dispositivos

Verifique se a saúde do dispositivo está healthy.

Clientes conectados

Esta visualização mostra todos os clientes Wi-Fi que ainda estão conectados nos últimos 30 segundos.

Integração com Home Assistant

O monitoramento do OpenSOHO pode ser integrado com Home Assistant. (Mais informações) Esta API REST foi projetada para uso com Home Assistant, mas também pode ser integrada com outras ferramentas.

Solução de problemas

Re-registrar um dispositivo

Quando alterar a Server URL do OpenWISP no LuCI não parece registrar corretamente no novo controlador. Para corrigir isso:

uci delete openwisp.http.uuid
uci delete openwisp.http.key
/etc/init.d/openwisp-config restart

Primeiro SSID não é ativado

Parece haver um problema no OpenWRT onde o primeiro SSID configurado em um dispositivo Wi-Fi não é ativado automaticamente. Solução alternativa: clique no botão ativar no LuCI.

Desenvolvedores

  • Instale as dependências
go mod tidy
  • Inicie o OpenSOHO

O shared secret é usado pelo openwisp-config para registrar. Escolha uma longa string aleatória para segurança ideal.

Executando os testes unitários:

go test -cover -v -coverprofile=coverage.out
go tool cover -html=coverage.out

Escopo

Funcionalidades

Algumas funcionalidades do OpenWISP são (atualmente) consideradas fora do escopo do OpenSOHO

  • Atualizações de firmware: OpenWRT não precisa de atualizações frequentes; use o recurso Attended sysupgrade em cada dispositivo manualmente.
  • Multi-inquilino
  • Templates: OpenWISP possui um mecanismo de templates poderoso e versátil, isso é substituído por um subconjunto mais opinativo de funcionalidades para proporcionar uma experiência de configuração mais fácil.

Desenvolvimento

O objetivo é aproveitar ao máximo o PocketBase. Pequenas modificações podem ser feitas, já que o back-end do PocketBase atualmente carece de um sistema de plugins. Mas não é o objetivo criar um fork do PocketBase, para que a mesclagem de alterações upstream permaneça direta.

Lançamento

GITHUB_TOKEN=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa goreleaser release

Categorias