
小規模ネットワーク向けの軽量OpenWRTデバイス管理プラットフォーム。2〜20台のデバイスに対して集中設定・監視・WiFi管理を提供し、簡単な導入とOpenWISP互換性を備えています。
警告: これは早期リリースです。これまでのすべてのリリースノートをお読みください
プロジェクトのサポートをご検討いただきありがとうございます!
OpenSOHOは、少数のOpenWRTベースのネットワークデバイスを管理するために作られています。そのため、Small Office Home Office(SOHO)ネットワークに由来するSOHOという名前が付けられています。
OpenWISPにインスパイアされていますが、OpenWISPで維持するには小さすぎるネットワークを対象としています。 OpenWispが述べているように:
しかし、OpenWISPは非常に小規模なネットワーク(デバイスが20台未満)、IT専門知識を欠く組織、またはコスト削減のみを目的としてオープンソースの代替を求める企業には最適ではないかもしれません。
以下のバージョンがテストされています
OpenSOHOのセットアップにはいくつかの簡単な手順が必要で、それぞれ以下で詳しく説明します:
最新のOpenSOHOリリースをダウンロードします(またはdockerコンテナを使用します)
OpenSOHOを起動します
まず、OpenWRTデバイス(openwisp-configを使用)がOpenSOHOに登録できるようにする共有シークレットを選択します。
最適なセキュリティのために、長いランダムな文字列を選択してください。
これは、次の手順でLuCIで設定する内容と一致している必要があります。
OPENSOHO_SHARED_SECRET=randompassphrase ./opensoho serve --http 0.0.0.0:8090
次に、OpenSOHO はコマンドライン上に管理者アカウントを作成するための URL を出力します。 その URL をブラウザで開くだけです。
または、コマンドラインから管理者アカウントを作成することもできます:
./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+
802.11v クライアントステアリングを使用する場合、完全な wpad-mbedtls が必要です。
OpenWRT 24.10 の場合
opkg remove wpad-basic-mbedtls && \
opkg install wpad-mbedtls && \
service wpad restart
OpenWRT 25.12+ の場合
apk del wpad-basic-mbedtls && \
apk add wpad-mbedtls && \
service wpad restart
wpad-mbedtls をインストールした後、まず service restart wpad を試してください。そうでない場合、新しい wpad バイナリに切り替えるために再起動が必要になることがあります。そうしないと、daemon.notice netifd: radio1 (28210): WARNING (wireless_add_process): executable path /usr/sbin/wpad does not match process 1842 path (/usr/sbin/wpad (deleted)) のようなエラーが発生する可能性があります。
(802.11v クライアントステアリングはまだ開発中であることにご注意ください)
Server URL と Shared secret のみを設定します。
Server URL の末尾にスラッシュを 追加しないで ください。URL の例: http://192.168.1.1:8090OPENSOHO_SHARED_SECRET) です。Update Interval を 30 秒に短縮します。(設定しない場合、OpenSOHO が代わりに行います)OpenSOHO は現在の OpenWRT 設定の多くを推測し、簡単に設定できるようにそれらを入力するため、モニタリングを有効化することを強く推奨します。
Enabled フラグを true に設定します。numradios を正しい値に設定します。たとえば、2.4 + 5GHz デバイスの場合、この値は 2 になります。numradios を使用して設定)。OpenSOHO には基本的なダッシュボードが付属しています。左端のサイドバーにある OpenSOHO ロゴのすぐ下のボタンからアクセスできます。
これはより高度なグラフ作成ツールの代替を意図したものではなく、意図的に基本的なものに保たれている (そして今後も保たれる) ことにご注意ください。
OpenSoho には http://ipaddress:8090/_/ からアクセスできるようになりました。
いくつかの設定コレクションがあります:
これらは Wifi に接続されているクライアントです。このテーブルはエイリアスを除いて読み取り専用です。 デバイスに人間が読める名前を付けるために使用できます。これはクライアントが MAC アドレスをランダム化しない場合にのみ正しく機能します。
現在 Wifi に接続されているクライアントのリストが含まれます。デバイスの IP アドレスを表示するには、OpenSOHO が DHCP リースにアクセスする必要があります。そのためには、DHCP サーバーを備えたデバイス上で openwisp モニタリングデーモンが実行されている必要があります。静的 IP を持つデバイスには IP が割り当てられません。これは 0.12.0 時点での既知の制限です。
これらは接続されているデバイスです。
healthy はデバイスが過去 1 分以内に通信したことを意味します。通信していない場合、ヘルスステータスは unhealthy になり、デバイスまたはその接続に問題がある可能性があります。ホスト名、MACアドレス、IPv4アドレス、および1つ以上のDHCPサーバーを指定して予約を作成します。OpenSOHOは、選択された各サーバーの/etc/config/dhcpに同じ名前のconfig hostセクションを追加します。DHCPサーバーの選択を解除すると、予約を削除せずに無効化できます。名前、MACアドレス、IPアドレスは予約リスト全体で一意です。
デバイスのヘルスがhealthyかどうかを確認します。
このビューには、過去30秒以内に接続が維持されているすべてのwifiクライアントが表示されます。
OpenSOHOの監視はHome Assistantと統合できます。(詳細情報) このREST APIはHome Assistantでの使用向けに設計されていますが、他のツールとも統合できます。
LuCIでOpenWISPのServer URLを変更しても、新しいコントローラーに正しく登録されないようです。
これを修正するには:
uci delete openwisp.http.uuid
uci delete openwisp.http.key
/etc/init.d/openwisp-config restart
OpenWRT には、WiFi デバイスで最初に設定された SSID が自動的に有効にならないという問題があるようです。 回避策: LuCI の有効化ボタンをクリックしてください。
go mod tidy
共有シークレットは openwisp-config が登録するために使用されます。最適なセキュリティを確保するには、長いランダムな文字列を選択してください。
ユニットテストの実行:
go test -cover -v -coverprofile=coverage.out
go tool cover -html=coverage.out
OpenWISPの一部の機能は(現時点では)OpenSOHOのスコープ外と見なされています
目標はpocketbaseを最大限に活用することです。pocketbaseのバックエンドには現在プラグインシステムが欠けているため、小さな修正を行うことができます。しかし、pocketbaseのフォークを作成することは目標ではないため、上流の変更をマージすることが引き続き容易です。
GITHUB_TOKEN=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa goreleaser release