Skip to content

Releases: twsnmp/twsnmpfc

v1.72.0 公開ダッシュボード対応

Choose a tag to compare

@twsnmp twsnmp released this 30 Sep 19:36

twsnmpfc v1.72.0 リリースノート

v1.72.0 では、認証不要でマップ状態を安全に共有できる「マップダッシュボード公開機能」やマップ画像のダウンロード機能の追加、macOS 15(Sequoia)環境でのローカルネットワーク制限対応およびPINGタイムアウト障害の解消、依存ライブラリのセキュリティ脆弱性対応を実施しました。


🚀 主な新機能・機能改善

  • マップダッシュボード公開機能 (/dashboard/:key):
    • ランダムな秘密URLキーを利用して、認証不要でアクセス可能な読み取り専用のマップダッシュボード機能を追加しました。
    • マップ設定画面から公開の有効/無効切り替え、公開キーの自動生成、URLコピーが可能です。
    • 公開API(/public/api/map/:key)経由で提供されるため、IPアドレス、MACアドレス、各種通信ログ等の機密情報はサニタイズ(除外)され、外部に安全にマップの稼働状態のみを共有できます。
    • ダッシュボード上には状態別ノード数のKPIチップ、ズームコントロール(拡大/縮小/リセット/画面フィット)、再読み込みボタンを配置しています。
  • マップ画像ダウンロード機能:
    • マップ(および公開ダッシュボード)の表示状態を PNG 画像としてダウンロード・保存できる機能を追加しました。
  • SPAフォールバック対応:
    • /dashboard/:key などの動的URLに直接アクセスしたりブラウザで再読み込みした際に 404 エラーとなる問題を解消するため、バックエンドで index.html にフォールバックして Vue Router 側で解決できるように対応しました。

🐛 バグ修正・安定性向上

  • macOS 15(Sequoia)のローカルネットワークアクセス制限対応:
    • macOS 15 以降で導入されたローカルネットワークアクセス制限に対応するため、macOS 向けバイナリビルド時に Info.plist(NSLocalNetworkUsageDescription)を埋め込むよう改善しました。
  • PINGタイムアウト障害の解消とネットワークトラフィック平滑化:
    • PING の送受信処理を goroutine 分離し、独立受信ループ・先行パケットドレイン・高精度タイマーを採用して、macOS 環境や高負荷環境で発生していた PING タイムアウト障害を解消しました。
    • ARP 解決用に応答待ちを行わない軽量送信 API(SendPing)を追加しました。
    • ARP Watch のバースト一括送信(5秒間隔)を廃止し、200ms 間隔の平滑送信に変更しました。
    • 自動発見(Discover)の並行度抑制(最大16並行)、80ms ペーサーによるレートリミット、ポートスキャン並行度制限(最大2並行)を導入しました。
    • 自動発見で新規登録されるポーリングの次回実行時刻を分散(ジッター付与)させ、初回負荷集中を防止しました。
    • TCP ポーリングの即時クローズとリトライ待機処理の改善、ポーリングログの並行マップ競合を防止しました。

🔒 セキュリティ修正・依存ライブラリ更新

  • github.com/labstack/echo/v4 を v4.15.3 に更新(CVE-2026-55677 対応)
  • google.golang.org/grpc を v1.83.2 に更新
  • go.opentelemetry.io/otel/sdk を v1.45.0 に更新
  • github.com/klauspost/compress を v1.18.7 に更新

v1.71.3 DNS検索のタイムアウト改善、メール通知の改善

Choose a tag to compare

@twsnmp twsnmp released this 20 Aug 07:54

[v1.71.3] - 2026-08-20

🚀 新機能・機能改善

  • メール通知: Microsoft OAuth2 メール通知において、送信先メールサーバー(SMTPサーバー/ポート番号)を指定できる「Microsoft (サーバー指定)」モードを追加
  • DNS解決: DNSタイムアウト値を引き上げ、ホスト名固定処理やレポート処理での不要なタイムアウトを防止

🐛 バグ修正

  • ログイン処理: フロントエンド(spa)における axios のバージョン調整を行い、ログインに失敗する不具合を解消

🔒 セキュリティ修正

  • golang.org/x/text を更新し DoS 脆弱性(GO-2026-5970)に対応
  • フロントエンド(spa / pwa)の nanoid を更新し DoS 脆弱性(GHSA-2v37-7h3g-55p8)に対応
  • フロントエンド(pwa)の serialize-javascript などの依存パッケージを更新

v1.71.2 バグ修正

Choose a tag to compare

@twsnmp twsnmp released this 06 Aug 19:55
  • メール通知設定でOAuth2のMSテナントが保存されない問題の修正
  • その他バグ修正

Full Changelog: v1.71.1...v1.71.2

v1.71.1 メール通知のバグ修正

Choose a tag to compare

@twsnmp twsnmp released this 12 Jul 20:59

v1.71.1 は、メール通知機能に関するバグ修正リリースです。

🐛 バグ修正

  • メール送信: SMTP認証が機能していなかった不具合を修正しました。
  • メール送信: 指定したポート番号が go-mail ライブラリのデフォルトポートに上書きされてしまう不具合を修正しました。

Full Changelog: v1.71.0...v1.71.1

v1.71.0 セキュリティー対策

Choose a tag to compare

@twsnmp twsnmp released this 30 Jun 21:06

v1.71.0 セキュリティ強化とコード品質改善

🔒 セキュリティ修正

  • CVE-2025-22869 : Fluent Bit プラグインの golang.org/x/crypto を v0.45.0 にアップグレード
  • CVE-2026-40611 : github.com/go-acme/lego/v4 を v4.34.0 にアップグレード
  • CVE-2026-29181 : go.opentelemetry.io/otel を v1.41.0 にアップグレード
  • DOMPurify のアップグレード(spa / pwa)
  • js-yaml、ws のアップグレード(Dependabot アラート対応)
  • Lego v2 / square/go-jose.v2 を削除し Lego v4 に統一
  • axios / tmp の依存関係を更新し、axios を 0.27.2 に固定
  • アイコンパスのサニタイズ、OAuth2 ステートの保護、ログへの機密フィールド出力抑制
  • twLancherのパッケージをSvelete 5など にアップデート

🛡️ コード品質・脆弱性対応

  • CodeQL SSRF 警告の修正(ポーリングパッケージ、ValidateURL エクスポート)
  • CodeQL ネットワークリクエスト非制御データ警告の修正(SSRF)
  • CodeQL メールコンテンツインジェクション警告の修正

🔧 内部改善

  • statik の利用を Go 標準の embed に変更(サードパーティ依存を削減)
  • Fluent Bit プラグイン(gopsutil 入力・twsnmp 入出力)を廃止・削除
  • マップオブジェクトのサイズをスケールダウンするマイグレーション機能(migrateMapSize)を実装

🐛 バグ修正

  • package-lock.json から不要な buffer モジュールを削除

Full Changelog: v1.70.0...v1.71.0

v1.70.0 MQTTレポート対応

Choose a tag to compare

@twsnmp twsnmp released this 08 Jun 20:03

TWSNMP FC v1.70.0 リリースノート

概要 (Overview)

TWSNMP FC v1.70.0 および関連コンポーネント(twLauncherなど)をリリースしました。
今回のアップデートでは、MQTTトピックおよびクライアントのレポート機能の強化、ノード・ネットワーク単位でのカスタムSNMPポート指定への対応、ライブラリの脆弱性対応、およびリリースビルド環境の改善を行っています。


主な変更点 (Major Changes)

1. MQTTトピックおよびクライアントレポート機能の実装・強化

TWSNMP FCが受信・処理するMQTTメッセージの可視化と管理性を向上させるため、新たなレポート画面と連携機能を実装しました。

  • MQTTクライアントレポートの追加
    • ブローカーに接続している各MQTTクライアントの統計情報を表示します。
    • クライアントID、接続状態、送信元IPアドレス(Remote)、送信メッセージ件数、累積送信バイト数、初回接続日時および最終アクティブ日時が確認可能です。
  • MQTTトピックレポートの追加とポーリング自動連携の改善
    • 送受信されているMQTTトピックの一覧を表示し、トピック名のコピーや、該当トピックのデータを用いたポーリング(監視設定)の追加が簡単に行えるようになりました。
    • 送信元からの自動ノード選択: 新規ポーリング追加時、トピックの送信元IPアドレス(Remote)と一致するノードがマップ上に存在する場合はそのノードを、存在しない場合はローカルホスト(127.0.0.1等)を自動的に対象ノードとして選択します。
    • デフォルトパラメータの設定: 新規MQTTポーリングのデフォルト接続パラメータとして、自動的に tcp://127.0.0.1:1883 がセットされるように改善しました。
    • 通知UIの統一: トピックコピーやポーリング追加時の完了通知を v-snackbar のUIに統一し、操作時の視覚的フィードバックを改善しました。
  • MQTT統計データの自動クリーンアップ
    • 蓄積されたMQTT統計情報(mqttStat)によってデータベース容量が圧迫されるのを防ぐため、ログ保存期間設定(LogDays)に基づき、古い統計データを自動的に削除・整理するクリーンアップ処理を追加しました。

2. ノード・ネットワーク単位でのカスタムSNMPポート設定に対応

従来はSNMPポーリングや各種SNMP操作において接続先ポート番号が標準の 161 に固定されていましたが、個別でのカスタマイズが可能になりました。

  • ノードおよびネットワークの設定画面において、それぞれ個別にカスタムSNMPポート番号(SnmpPort)を設定できるようになりました。
  • 設定されたカスタムポートは、以下のすべての処理で自動的に適用されます。
    • SNMPポーリングの実行
    • MIBブラウザーからの要求
    • 自動発見(ネットワーク設定)
    • MCPツール(AIアシスタント機能など)経由での SNMP Walk / SNMP Set 実行

その他の改善・修正 (Other Improvements & Fixes)

twLauncher (起動ツール)

  • フロントエンドにおける npm パッケージのセキュリティ脆弱性を解消するため、依存パッケージのアップデート(safe fixes)を行いました。

リリース・ビルド環境の修正 (release)

  • Makefile における twlogeye バイナリのダウンロード処理において、GitHub Releases の最新命名規則(例: twlogeye_darwin_amd64.tar.gz など小文字・アンダーバー区切りへの変更)に追従し、macOS/Linux/Windowsビルドのダウンロードエラーを解消しました。

v1.69.0 UI改善の要望対応

Choose a tag to compare

@twsnmp twsnmp released this 17 May 07:42

TWSNMP FC v1.69.0 リリースノート

概要
v1.69.0では、マップ操作の利便性を向上させる「ノードロック機能」の追加や、SNMPv3のより強固な暗号化アルゴリズムへの対応、環境モニターの強化、およびセキュリティ向上のための依存パ
ッケージの更新を行いました。

新機能

  • ノードロック機能: マップ上のノードを固定し、誤操作による移動を防止する機能を追加しました。
  • SNMPv3 セキュリティレベルの拡張: 認証アルゴリズムとして SHA256/SHA512、暗号化アルゴリズムとして AES128/AES256 をサポートしました。
  • 環境モニターの強化: 環境レポートに気圧(press)の項目を追加しました。

改善事項

  • アクセシビリティ向上: 各種アイコンに説明用のツールチップ(title属性)を追加しました。
  • UI/UXの最適化:
    • 削除アイコンの視覚的な強調と、自動発見完了アイコンの最適化を行いました。
    • ノードやネットワークに複数のURLが設定されている場合の選択ダイアログの挙動を改善しました。
  • 内部コードのリファクタリング: twBlueScan における数値処理の安定性向上(getFloat64 ヘルパー関数の導入)など、コードの品質向上を図りました。

セキュリティ・メンテナンス

  • 脆弱性対策: Goおよびnpmの依存パッケージを最新版に更新し、既知の脆弱性に対応しました。
  • CI/CDの最適化: CodeQLワークフローの修正およびビルド警告(jsconfig.json)の抑制を行いました。

v1.68.1 環境センサーレポートの改善

Choose a tag to compare

@twsnmp twsnmp released this 08 Apr 19:19

TWSNMP FC v1.68.1 リリースノート

TWSNMP FC v1.68.1 をリリースしました。
本バージョンでは、環境センサー(Omron環境センサー等)のレポート表示の改善と、数値以外の値が記録された際の表示の不具合修正を行いました。

改善・変更点

環境レポートの機能強化

  • 記録データ表示の追加: 環境レポートの詳細画面に、温度・湿度・照度・気圧・騒音・ETVOC・CO2・電池残量の履歴を一覧表示するテーブルを追加しました。
  • グラフ表示の改善:
    • 3D/2Dグラフの凡例およびデータ識別名に、ノード名(設定されている場合)を優先して表示するように改善しました。
    • 2Dグラフにおいて、特定の種別(温度・湿度・電池以外)や特定のデバイス名でのフィルタリング制限を解除し、より多くのデータを可視化できるようにしました。

不具合修正

ポーリングリストの表示不具合

  • NaN値への対応: ポーリング結果(setResult)に数値ではない値(NaN)が記録された場合に、ポーリングリスト全体が表示できなくなる不具合を修正しました。

Full Changelog: v1.68.0...v1.68.1

v1.68.0 INKBIRD環境センサー対応、レポートAPI対応

Choose a tag to compare

@twsnmp twsnmp released this 27 Mar 20:36

v1.68.0 リリースノート

🚀 新機能・機能改善

  • JavaScriptポーリングの強化:
    • スクリプト内からカスタムレポートを保存できる saveReport 関数を追加しました。これにより、JavaScriptポーリングを利用した柔軟なデータ収集と可視化が可能になります。
  • Bluetoothスキャン (twBlueScan) の改善:
    • Inkbird製環境センサー (InkbirdEnv) に対応しました。
    • BluetoothデバイスのUUID取得に対応しました。
    • スキャンデータの処理効率を向上させました。

🛡️ セキュリティ・保守

  • 依存パッケージのアップデート:
    • 脆弱性対策および安定性向上のため、modelcontextprotocol/go-sdk (v1.4.1) や segmentio/encoding (v0.5.4) を含む、主要なライブラリを最新バージョンに更新しました。

v1.67.0 マップ機能の強化、SNMPの暗号強度改善

Choose a tag to compare

@twsnmp twsnmp released this 12 Mar 19:26
  1. マップ機能の強化

    • 描画アイテムの拡充: グループ(枠)およびグループ(背景)が追加され、ノードを視覚的に整理できるようになりました。
    • 編集ロック機能: 描画アイテムに対して編集ロックを設定できるようになり、誤操作による変更を防止できます。
    • IPアドレス表示: マップ上のノードにIPアドレスを表示する設定が追加されました。
    • PWAの可視化強化: PWA版において、EChartsを用いたネットワーク描画と可視化機能が強化されました。
    • 表示の改善: 選択状態の透過度調整やノードの背景ボックスの削除など、よりクリーンなデザインに調整されました。
  2. SNMP機能の拡張

  • SNMPv3プロトコルの追加: 認証プロトコルに SHA256 / SHA512、暗号化プロトコルに AES128 / AES256 の組み合わせが追加されました。
  • トラップ受信の対応: snmptrapd においても、上記の新しい認証・暗号化プロトコルがサポートされました。
  1. VPanelの改善
  • レイアウト設定: 横方向のポート数を設定可能になり、デバイスの実際の形状に合わせた表示ができるようになりました。
  • UI入力の改善: 数値変換処理の強化により、入力操作の安定性が向上しました。
  1. セキュリティとメンテナンス
  • 脆弱性対策: Go言語のパッケージおよび依存ライブラリをアップデートし、既知の脆弱性に対応しました。
  • 依存関係の更新: フロントエンド(SPA/PWA)およびバックエンドの各種ライブラリが最新化されました。

まとめ
このバージョンでは、「マップ表示の表現力向上」と「SNMPv3のセキュリティ強化」が大きな柱となっています。特に大規模なネットワーク図を管理する際の利便性と安全性が向上しています。