
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.
Aviso: esta é uma versão inicial, por favor leia as notas de versão de TODAS as versões até agora
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.
É 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
Configurar o OpenSOHO requer alguns passos simples, cada um detalhado nas seções abaixo:
Baixe a versão mais recente do OpenSOHO (ou use um contêiner docker)
Inicie 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
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)
Server URL e o Shared secret.
Server URL. Exemplo de URL: http://192.168.1.1:8090OPENSOHO_SHARED_SECRET).Update Interval para 30 segundos para atualizações mais rápidas. (O OpenSOHO faz isso por você se não alterar)É 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.
Enabled do dispositivo como verdadeiro.numradios para o valor correto. Por exemplo, para um dispositivo 2.4 + 5GHz, esse valor seria 2.numradios).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.
O OpenSoho agora pode ser acessado via http://ipaddress:8090/_/
Existem várias coleções de configuração:
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.
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.
Estes são os dispositivos conectados.
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.Verifique se a saúde do dispositivo está healthy.
Esta visualização mostra todos os clientes Wi-Fi que ainda estão conectados nos últimos 30 segundos.
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.
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
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.
go mod tidy
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
Algumas funcionalidades do OpenWISP são (atualmente) consideradas fora do escopo do OpenSOHO
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.
GITHUB_TOKEN=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa goreleaser release