Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
nmlinux — Linux向け統合ネットワークツールキット — Python 3 + PySide6 | Kitploit
ツール/GitHubGitHub/thongor77/nmlinux
ネットワークマッピングポートスキャン情報収集DNS分析
GitHubthongor77/nmlinux

nmlinux

Linux向け統合ネットワークツールキット — Python 3 + PySide6

リポジトリを見る
9217日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

NMLinux · v1.7.12

Version Python License: GPL-2.0 Platform Languages Donate Bitcoin

Linux と macOS のための統合ネットワークツールキット — 検査、接続、診断。

NMLinux は、29 のネットワークモジュールを 1 つのウィンドウにまとめた単一の統合 GUI です。インターフェース監視、Wi-Fi、DNS、SSH ターミナル、ファイアウォールビューアー、トポロジーマップ、traceroute など。Python と PySide6(Qt 6)でゼロから構築され、8 つのインターフェース言語を備え、標準システムツール以外の外部依存関係はありません。

[!NOTE] NMLinux は Linux システムデーモン /usr/bin/NetworkManager(Red Hat/GNOME による NetworkManager)とは関係ありません。 NMLinux は Python と PySide6 でゼロから構築されたスタンドアロンプロジェクトです。

Claude Code(Anthropic)とその作者の貢献により構築されました。


開発プロセス

NMLinux は AI 支援 — 具体的には Claude Code — で構築されており、それはこのリポジトリのどこにも隠されていません。今日のほぼすべての本格的なソフトウェアプロジェクトは、明示していないにせよ、そのパイプラインのどこかで AI を使用しています。したがって「AI が関与していたか」は興味深い質問ではありません。興味深い質問はこれです: AI が何か間違えたときに、それを誰が検出するのか?

私の言葉を信じるより確認したい場合のために、その答えは次のとおりです。

  • 162 のテスト — pytest tests/ -v。純粋なロジックに加え、実際の Qt ウィジェットテスト(メニュー、テーブル)も少し含まれ、興味深い部分をモックでごまかすことはありません。
  • docs/Decisions-Techniques.md — 明白でない技術的判断、却下された代替案、そして見つかって修正されたバグ(AI によって持ち込まれたものを含む)の理由がすべて文書化されています。
  • docs/Architecture.md と docs/Carte-des-Modules.md — 実際のコード構造であり、出荷されるものと同期が保たれています。
  • i18n 整合性チェック — すべてのリリース前に実行され、8 つのサポート言語間で欠落した翻訳キーを検出します。

これらは AI を信頼できないから存在するのではありません。手書きのコードを含め、何もチェックするプロセスなしに出荷されるべきではないからです。出力とその検証方法を判断してください。それを書くのに役立ったツールではありません。

それでもバグを見つけましたか? それは恥ずかしいことではなく、役立つことです — issue を開いてください。


コミュニティ

GitHub Discussions が開設されています — フィードバックを共有し、アイデアを報告し、質問し、または単にこんにちはと言ってください。作者はインフラストラクチャと運用において 30 年以上の経験を持ち、優れた無料でシンプルなソフトウェアが Linux にも存在すべきだからこのツールを構築しました。


スクリーンショット

Linux のスクリーンショットは v1.2.7 のもの — macOS のスクリーンショットは v1.3.5 のもの。現在のアプリには 29 のモジュールと 8 つのインターフェース言語(FR/EN/ES/DE/IT/PT/JA/ZH)があります。

Linux (KDE)

ダッシュボードトポロジー
ダッシュボードトポロジー
トレースルートWi-Fi
トレースルートWi-Fi

macOS

ダッシュボードトレースルート
macOS ダッシュボードmacOS トレースルート

変更履歴

v1.7.12 — 2026-08-12

  • トレースルート — 修正: Flatpak 環境(v1.7.11、後述 — 現在は削除済み)では、ホストに実際の traceroute バイナリがインストールされていなくても、traceroute が常にホスト側のシム経由で PATH から解決されていました。そのためワーカーは tracepath にフォールバックせず、トレースはホップなし・エラー表示なしで即座に終了していました。現在は、traceroute が解析可能な出力をまったく生成しなかった場合、失敗の理由にかかわらず tracepath にフォールバックするようになりました。
  • SSH ターミナル — askpass 修正: DISPLAY/WAYLAND_DISPLAY が設定されている場合(任意の GUI セッション)で、ssh がクリーンな tty を持たないとき、パスワードプロンプトに埋め込みターミナルではなく $SSH_ASKPASS を使用しようとすることがあり、askpass ヘルパーがインストールされていないと認証が静かに失敗していました。現在は SSH_ASKPASS_REQUIRE=never により、パスワードプロンプトが常にターミナル自体を経由するよう強制されます。
  • Flatpak パッケージングを削除: v1.7.11 で同梱されたローカル KDE Linux マニフェストは廃止されました。上記の SSH パスワードプロンプトのバグを調査したところ、カーネルレベルの制限が判明しました。flatpak-spawn --host 経由で中継されたプロセスは、転送された pty の制御端末の所有者になることができません(TIOCSCTTY が で拒否される — 別の無関係なセッションがすでに所有しているため。これは意図的なカーネルセキュリティ境界であり、バグではありません)。唯一の回避策( による新しい pty の割り当て)はパスワードプロンプトを修正しますが、そのセッションのライブ端末リサイズの伝播が壊れます — Flatpak をまったく提供しないより悪いトレードオフと判断しました。今後は AUR と AppImage がサポートされる Linux インストール経路です。

v1.7.11 — 2026-08-03

  • Flatpak パッケージング(KDE Linux): packaging/flatpak/ 配下のローカルビルドマニフェストは、KDE Linux およびその他の Flatpak 専用ディストリビューションを対象としています。nmlinux が外部実行するホスト CLI ツール(nmcli、pkexec、mount.cifs、ssh、nmap、…)は、それぞれを個別にサンドボックス化する代わりに、PATH 上の flatpak-spawn --host シムを介してブリッジされます。PySide6 は PyPI ホイールではなく Flathub の io.qt.PySide.BaseApp から取得されます。Flathub には公開されておらず、packaging/flatpak/build-bundle.sh でビルドされた単一の .flatpak バンドルが、既存の AppImage と同じ方法で各リリースに添付されます。v1.7.12 で廃止 — 上記参照。

v1.7.10 — 2026-08-03

  • SSH ターミナル — 修正: セッション起動時にターミナルウィジェットの実際のサイズがまだ不明な場合、PTY が誤った(デフォルトの 24×80)サイズで開始され、リサイズ要求が静かに失われる競合状態を修正しました。これにより、リモートの全画面アプリ(例: Claude Code CLI、htop、vim)が実際のウィンドウサイズと同期しなくなり、新しい出力がスクロールして通過するまで画面下部に古い/残存テキストが表示されていました。ユーザーからの報告を受け、実際の対話セッションで再現しました。

v1.7.9 — 2026-08-02

  • SSH ターミナル — コピー/ペースト: マウスでテキストを選択(クリックドラッグ、ハイライト)し、Ctrl+Shift+C または右クリックメニューでコピー、Ctrl+Shift+V(既存)でペーストします。これまでテキスト選択がまったく存在せず、コピーは不可能でした。
  • SSH ターミナル — 複数同時セッション: SSH ページでは、各接続が単一の共有セッションではなく、それぞれ独自のタブで開かれるようになりました。保存済み接続への再接続(同じ接続を 2 回でも)を行うと、以前はアクティブなセッションが強制終了され、正常な代替セッションが開かれませんでした。現在は、接続アクションのたびに新しい独立したタブが開かれます。

v1.7.8 — 2026-07-14

  • スピードテスト — 新しい LAN(iperf3)タブ: 既存のインターネット速度テストに加えて、新しいタブでは、同梱のパブリックサーバーリスト(26 か国)または保存済みのカスタムサーバー(例: 社内組織サーバー)に対してクライアント専用の iperf3 テストを実行します。TCP/UDP、IPv4/IPv6/自動、および逆方向(ダウンロード)をサポートし、UDP テストではジッター/損失が表示されます。issue #6 により提案されました。
  • 新しいオプション依存関係: iperf3 — LAN タブを有効にするにはインストールしてください。タブはバナーを表示し、それ以外の場合は無効のままです。

v1.7.6 — 2026-07-05

  • アセットインベントリ — 右クリック更新: スキャン済みの 1 つ以上の行を右クリック(複数選択対応)して「選択項目を更新」を選択すると、ネットワーク全体の再スキャンを実行する代わりに、それらのホストだけをその場で再スキャンします。
  • アセットインベントリ — SSH 認証失敗のフィードバック: 拒否された SSH ログインは、Nmap が検出したホスト名/OS ベースラインを失うことなく、静かに失敗する代わりに「SSH 認証に失敗しました」と表示されるようになりました。実際の Synology NAS で確認済みです。DSM の Auto Block が、他の設定済み資格情報セットが最初に試行された後、正しいパスワードを拒否しました。

v1.7.5 — 2026-07-04

  • Ping モニター — 保存済みターゲットディレクトリ: 新しい左側パネルで、ping ターゲット(名前、ホスト、間隔)を永続的なリストに保存できます。アプリを再起動しても監視中のホストが維持され、再入力する必要がありません。監視中の各行の ★ ボタンを押すと、セッション中の任意のタイミングでそのホストをディレクトリに保存できます — アプリが予期せず終了する前に事前に計画しておく必要はありません。
  • Ping モニター — 「監視を開始」: 保存済みターゲットを選択し、保存されている間隔を再利用して 1 クリックで監視を開始します。

v1.7.4 — 2026-07-04

  • アセットインベントリ — スキャン結果の不一致を修正: 生存確認チェックは、再試行なしの 1 秒タイムアウトの ping を 1 回送信していたため、スキャナー自身の同時負荷(最大 40 ホストを同時にプローブ)や、Wi-Fi ホストがビーコン間で一時的にスリープしている場合に、実際のデバイスを見逃す可能性がありました。同じ範囲を繰り返し実行した際にデバイス数が異なる実際のサブネットで確認済みです。現在は、TCP ポートプローブにフォールバックする前に ping を再試行します。
  • アセットインベントリ — 新しい「空欄を更新」ボタン: スキャン後、範囲全体を再スキャンする代わりに、データが返されなかった IP のみを再スキャンします。新しく見つかったホストは既存の結果にマージされます。

v1.7.3 — 2026-07-03

  • SMB — 右クリックメニューから共有をマウント: SMB タブで共有を右クリックして「マウント/アンマウント」を選択すると、安定したローカルパス(~/mnt/<ホスト>_<共有>)にマウントされ、ターミナルや他のアプリから使用できます — 一時的なブラウズビューではありません。セッション限定(fstab/systemd 永続化なし)で、資格情報は既存のユーザー/パスワードフィールドから再利用されます。Linux では、権限を制限した資格情報ファイル(ps で公開されない)を使用して pkexec mount -t cifs を使用します。macOS では mount_smbfs を直接使用します。サーバーがデフォルトのネゴシエーションを拒否した場合(古い NAS で一般的)、古い SMB ダイアレクト(vers=2.0)で自動的に再試行します — 両方の試行は専用ヘルパープロセスを介して 1 回の認証プロンプトで行われます。
  • 新しいオプション依存関係: cifs-utils(Linux)は SMB マウント用です。macOS には組み込まれています。

v1.7.2 — 2026-07-03

  • macOS インストール — 素の Mac で見つかった 2 つのブートストラップバグを修正: bootstrap_macos.sh は Homebrew インストーラーに NONINTERACTIVE=1 を強制しなくなりました。これにより、新しい管理者アカウントでは sudo パスワードを求める代わりに即座に中止されていました。ドキュメント記載のワンライナーは、スクリプトを bash に直接パイプするのではなく、最初にダウンロードするようになりました。パイプ処理では、ネストされた対話ステップ(Xcode CLT インストーラー、Homebrew 自身の sudo プロンプト)が外側のスクリプトの入力ストリームに干渉する可能性があるためです。
  • ユニバーサル右クリックメニュー — SMB を追加: SmbNfsPage は、v1.7.0 で導入されたモジュール間右クリックシステムに含まれていなかった唯一のターゲットページでした。ホストを右クリックして SMB を選択すると、ホストフィールドが事前入力され、即座にスキャンが開始されます。ポート 445 が開いていることが検出された場合はメニューで太字表示されます。
  • i18n — 残りのダッシュボード文字列を翻訳: ゲートウェイレイテンシラベル、TLS ウォッチリストカードのタイトルとそのステータス行は依然としてフランス語でハードコードされていました。現在は 8 つのインターフェース言語すべてで翻訳されています。

v1.7.1 — 2026-07-02

  • macOS 26 (Tahoe) — Wi-Fi SSID 修正: プライマリデータソースを system_profiler(位置情報サービスなしでは <redacted> を返す)から CoreWLAN に変更。アプリは初回起動時に位置情報サービスの許可を要求するようになりました。許可が付与されると、Wi-Fi ページにすべてのネットワークが実際の名前で表示されます。
  • macOS — 接続マネージャー: 接続中の SSID は CoreWLAN 経由で読み取られるようになり、セキュリティモードは system_profiler を使用します。
  • macOS — SMB: NAS が資格情報を必要とする場合に明確な「認証が必要です」メッセージを表示。Homebrew の smbclient による誤った smb.conf 警告を修正。
  • macOS — 初回の位置情報サービス許可ダイアログ後に終了時にクラッシュする可能性がある問題を修正。

v1.7.0 — 2026-07-02

  • ユニバーサル右クリックコンテキストメニュー: IP またはホスト名を含むすべてのテーブルで利用可能 — コピーペーストなしでモジュール間を直接移動できます。検出された任意のホストを右クリックして、Ping、ポートスキャン、Whois、DNS、トレースルート、MTR、SSH、RDP、VNC、トポロジーで表示、またはインベントリに追加を選択できます。対応するポートが開いていることが検出された場合、SSH/RDP/VNC メニュー項目は太字で表示されます。ラベルは 8 つのインターフェース言語すべてで完全に翻訳されています。
  • ソースページ(右クリックアクションを発行): IP スキャナー、Nmap、Ping、ポートスキャナー、トレースルート、MTR、トポロジー(ノード右クリック)
  • ターゲットページ(ホストを受信して事前入力): Whois(set_target + 自動クエリ)、DNS(set_target 事前入力のみ)、Ping(set_target + 自動開始)、トレースルート(set_target + 自動開始)、MTR(set_target + 自動開始)、ポートスキャナー(set_target + フォーカス)、SSH / RDP / VNC(set_target で事前入力済みの新規接続フォームを開く)、トポロジー(load_hosts は再スキャンせずに IP スキャナー/Nmap スキャンからノードを注入 — ゲートウェイは自動検出、エッジが描画され、発信元ノードが赤で強調表示)、アセットインベントリ(prefill_hosts は検出されたホストで直接資格情報スキャンを開始し、ICMP 検出フェーズをスキップ)
  • ダッシュボード — ゲートウェイ ping グラフ: 2 秒ごとに更新されるライブレイテンシスパークライン。色分け(<20 ms 緑 / 20〜100 ms オレンジ / >100 ms 赤 / タイムアウト赤)
  • ダッシュボード — TLS ウォッチリストサマリー: ダッシュボードのステータスカードが、再クエリなしで TLS ウォッチリストの状態(OK / 期限切れ間近 / アラート)を自動的に反映します。
  • ダッシュボード — 地理マップのリサイズ: ウィンドウをリサイズすると、世界地図が水平方向に拡張されるようになりました。

v1.6.4 — 2026-06-28

  • macOS: メニューバーに Python ではなく NMLinux が表示されるようになりました — 根本原因: exec() で Python に入った後、NSBundle.mainBundle() は、Qt が QApplication 構築中に読み取る Python.framework バンドル(CFBundleName = "Python")に解決されます。アプリケーションメニューが作成される前に、バンドルの infoDictionary() をパッチし、AppKit 経由でネイティブメニュー項目の名前を変更することで修正しました。

v1.6.3 — 2026-06-28

  • macOS: pyobjc-framework-Cocoa を介した NSProcessInfo.setProcessName_ によるメニューバー修正の最初の試み(v1.6.4 で置き換え)

v1.6.2 — 2026-06-28

  • macOS: install_macos_app.sh の bash ランチャースクリプトをコンパイル済み C スタブに置き換え、macOS が .app バンドルを実行中のプロセスと正しく関連付けるようにしました。フォールバックとして setprogname と sys.argv[0] オーバーライドを追加。

v1.6.1 — 2026-06-25

  • SSH ターミナル — リモートエコーを修正: 埋め込み SSH ターミナルで入力したキーストロークはリモートシェルに送信されましたが、エコーバックされませんでした(ログイン後にキーボードが「死んでいる」ように見えました)。nmlinux はローカル PTY のエコーを強制的にオフにし、ssh はその「エコーなし」を端末モード(pty-req)を介してリモート pty に伝播させたため、リモートシェルは入力のエコーを停止しました。新しい Ubuntu 26.04 VM(最近の OpenSSH はこれらのモードを忠実に適用)で再現しました。ターミナルは現在、PTY を通常モードに保ち、ssh にエコー管理を任せており、実際のターミナルエミュレーターと一致しています。

v1.6.0 — 2026-06-24

  • アセットインベントリ — WinRM Windows(完全版): Windows ファイアウォールで ICMP がブロックされている場合、TCP ポートプローブによるホスト検出。PowerShell は現在、完全な絶対パス + EncodedCommand(base64) を使用して、cmd.exe がパイプ | を解釈するのを防ぎます。管理者権限なしの完全なフォールバックチェーン: OS は ver、CPU はレジストリ、RAM は systeminfo、ディスクは wmic → fsutil(ロケール対応 EN カンマ / FR スペース)→ dir /-C
  • アセットインベントリ — 複数資格情報 SSH: 複数の SSH 資格情報セットをサポート。macOS ディスク修正(/System/Volumes/Data)、Apple Silicon CPU フォールバック(hw.model)、Synology(/volume1)、Unraid(/mnt/user)
  • バグ修正: WinRM エラーは静かなフォールバックではなくテーブルに表示されるようになりました。WinRM/SNMP ホスト検出が SSH 資格情報の存在によってブロックされなくなりました。pywinrm タイムアウトを修正。

v1.5.3 — 2026-06-24

  • macOS .app — Homebrew ツールの検出: Homebrew でインストールされた sshpass、nmap、snmpget が絶対パスを使用して検出・呼び出しされるようになりました。macOS の .app バンドルは Homebrew の PATH(/opt/homebrew/bin、/usr/local/bin)を継承しないため、以前はインストール済みツールが静かに無視されていました。
  • macOS 更新パス: リポジトリルートから git pull && bash packaging/install_macos_app.sh を実行することが、ドキュメント化されたアップグレード方法になりました。このスクリプトは独自の venv(~/.local/share/nmlinux/venv)を管理し、システムレベルの pip や pipx を必要としません。

v1.5.2 — 2026-06-24

  • アセットインベントリ — 新しいモジュール(29 番目)。CIDR 範囲をスキャンし、SSH、WinRM、SNMP、または Nmap を介して各ホストから OS、CPU、RAM、ディスク、稼働時間を収集します。プロトコルごとに複数の資格情報セットをサポート(順番に試行)。ゼロ保持ポリシー: 資格情報はディスクに書き込まれず、スキャン後にメモリからクリアされます。結果を JSON、CSV、または Markdown としてエクスポート。ダッシュボードの IP ジオロケーションセクションにアニメーション地理マップを追加。
  • SSH 収集の修正: ディスクコマンドの awk クォートエラーを修正。free -h を BusyBox 互換の free に置き換え。macOS コードパスは OS 名に sw_vers、Apple Silicon CPU のフォールバックに hw.model、APFS ユーザーデータボリュームに /System/Volumes/Data を使用するようになりました。Synology/Unraid ボリューム(/volume1、/mnt/user)は root より先に検出されます。df | tail -1 || … の誤検知パターンを test -d ガードで修正。lsb_release 出力から周囲の引用符を除去。複数の SSH/WinRM 資格情報セットをサポート(ホストごとに順番に試行)。

v1.5.0 — 2026-06-17

  • ファイル転送サーバー — アプリから直接、軽量な TFTP または HTTP サーバーを起動/停止する新しいモジュール。典型的な使用例: ルーター、スイッチ、プリンターの設定のバックアップと復元。同時にアクティブにできるサーバーは 1 つ(TFTP または HTTP)で、ポートとルートディレクトリを設定可能。ローカル IP はコピー-to-クリップボードボタンとして表示されます。HTTP にはディレクトリリスト(LAN 上の任意のブラウザーから閲覧)、GET(ダウンロード)、POST/PUT(アップロード)が含まれます。TFTP は GET と PUT(双方向)をサポート。ポート 69 は root が必要 — 権限エラー時に「root として開始(pkexec)」ボタンが表示されます。ライブ転送ログテーブル(タイムスタンプ、ファイル名、クライアント IP、方向 ↑/↓、サイズ)。ポートトラバーサル保護。8 つのインターフェース言語。新しい依存関係: tftpy

v1.4.3 — 2026-06-14

  • TLS ウォッチリスト修正: 自己署名証明書と信頼されていない証明書が、緑ではなく「⚠ 無効/信頼されていない証明書」(オレンジ)として正しく表示されるようになりました。SSL 例外の捕捉を拡大し、すべての ssl.SSLError サブクラスをカバー。エントリはバックグラウンドチェック実行中は「…(確認中)」、ホストに到達できない場合は「—(到達不能)」と表示されます。

v1.4.2 — 2026-06-14

  • TLS ウォッチリスト — 証明書の有効期限を監視するホスト名の永続的なリスト。+ ウォッチ(現在のホスト/ポートを使用)またはパネルで手動でホストを追加。バックグラウンドチェックは起動 2 秒後に自動実行。サイドバーの「TLS インスペクター」エントリに色付きドットを表示: いずれかの証明書が期限切れの場合は赤、30 日以内に期限切れになる証明書がある場合はオレンジ。パネルに再チェックボタン。リストはエントリごとにステータス(✓ / ⚠ / 期限切れ)を色分けして表示。

v1.4.1 — 2026-06-14

  • macOS — IP スキャナー: macOS での MAC アドレス、ベンダー、インターフェースの検索を修正。_arp_entry() は macOS では /proc/net/arp(Linux 専用)を読み取る代わりに arp -n <ip> を呼び出し、その出力形式(? (IP) at AA:BB:CC on en0)を解析するようになりました。スキャナーの 4 つの列すべてが macOS で正しく入力されます。
  • VNC ヘルプ: 8 つの言語すべてに、Linux にはデフォルトで VNC サーバーがないことを明記し、一般的なオプション(x11vnc、tigervnc-server、wayvnc)をリストアップした注記を追加。

v1.4.0 — 2026-06-14- macOS — IP Scanner: Linux専用の getent を、Pythonの socket.gethostbyaddr() を使ったクロスプラットフォームな逆DNS解決に置き換えました;ホスト名ルックアップが追加ツールなしでmacOS上でネイティブに動作するようになりました

  • macOS — SMB Browser: smbclient(Homebrew sambaが必要)から smbutil view(macOS組み込みツール)に切り替え;SMB共有の一覧表示がインストール不要でmacOS上で動作するようになりました
  • macOS — NFS Browser: showmount はmacOSに組み込まれていますが --no-headers には対応していません;macOSではフラグを除去し、パーサーでヘッダー行をスキップします;NFSエクスポート一覧がネイティブに動作するようになりました
  • macOS — RDP: xfreerdp が見つからない場合、open rdp:// URLスキームにフォールバックします;インストールされていれば Microsoft Remote Desktop(App Store)を開き、ホスト・ポート・ユーザー名・ドメインが事前入力されます
  • macOS — VNC: vncviewer が見つからない場合、open vnc:// URLスキームにフォールバックします;macOSの画面共有(組み込み、インストール不要)を開きます

v1.3.9 — 2026-06-13

  • SSHエージェント転送 — SSH接続フォームに新しい「Agent forwarding」チェックボックスを追加;ssh コマンドに -A を追加;秘密鍵をコピーせずにサーバー間をジャンプ可能(PC → A → B);アクティブなSSHエージェント(SSH_AUTH_SOCK)が必要;全8言語でコンテキストヘルプを更新

v1.3.8 — 2026-06-13

  • Command Palette (Ctrl+P) — 27個すべてのモジュールへ即座にキーボードで移動可能;名前とキーワード(例: "firewall", "tls", "ssh key", "scan")によるファジー検索;↑/↓キー + Enter、またはシングルクリックで移動;アプリ内のどこからでも Ctrl+P で開きます
  • Export Manager — ネットワーク全体のスナップショット(インターフェース、ルート、DNSリゾルバー)をファイル → ネットワークレポートをエクスポート… から JSON、Markdown、プレーンテキスト、PDF でエクスポート(任意: pip install reportlab)
  • モジュール単位のエクスポートボタン — Interfaces、DNS、Firewall、SSH Connections、Connection Manager の各ページにエクスポートボタンを追加;各ページは選択した形式で現在のデータをエクスポートし、フォーマットフィルターを変更するとファイル名の拡張子がリアルタイムに更新されます

v1.3.6 — 2026-06-12

  • Topology — デバイスアイコン — 各ノードは、汎用の丸アイコンの代わりに、デバイスタイプに応じた Lucide SVG アイコン(ルーター/Wi-Fi、コンピューター/ラップトップ、プリンター、NAS/サーバー、スマートフォン、ネットワークスイッチ、Raspberry Pi)を表示するように;新規同梱 SVG アイコン5つ(printer、server、smartphone、cpu、laptop)
  • Topology — mDNS検出 — デバイスタイプは avahi-browse を使って検出します(任意、nmapスキャンと並行して実行);プリンター(_ipp._tcp、PDL Printer)、Androidスマホ/テレビ(_googlecast._tcp、_androidtvremote2._tcp)、Apple Mac(AirPlay TXTの am=Mac16,x モデル)、NASデバイス(Synologyが model=Xserve を報告)、KDE Connectデスクトップを識別;avahiが利用できない場合は MAC ベンダーOUIとホスト名ヒューリスティックにフォールバック
  • Topology — 詳細パネル — 汎用の「Host」ラベルの代わりに、検出されたデバイスクラス(Printer、Smartphone、NAS…)を表示;全8言語に対応
  • Traceroute — 自動ズーム — 各ルートの終了時に、地理位置情報付きホップのバウンディングボックスにワールドマップが自動的にズーム・中央配置します;ユーザーが手動でパン/ズームすると無効化;次のトレーサートで復元;右クリックで全ワールドビューにリセット

v1.3.5 — 2026-06-06

  • macOS互換性 — 9つのネットワークモジュールすべてが、Linuxの動作を壊さずにmacOS上で動作するようになりました;各モジュールは起動時にプラットフォームを検出し(_IS_MACOS)、ネイティブのmacOSコマンドに分岐します:route -n get default、ifconfig、scutil --dns、networksetup、system_profiler SPAirPortDataType、pfctl、netstat -ib;権限昇格には pkexec の代わりに osascript + with administrator privileges を使用;等幅フォントは Monospace の代わりに Menlo を使用
  • Linux/macOS 両対応のモジュール: Dashboard、Interfaces、Wi-Fi、Topology、Bandwidth、Firewall (pf.conf + pfctl)、Connection Manager、Hosts File、MTR
  • (両プラットフォームで同一ツール): DNS、Nmap Scan、SNMP、Whois

v1.3.2 — 2026-06-06

  • i18nを8言語に拡張 — Italiano、Português、日本語、中文(簡体字)を追加;全UI(全27モジュール、約720の翻訳キー)が FR / EN / ES / DE / IT / PT / JA / ZH で利用可能に;設定で言語を変更すると再起動を促すメッセージが表示されます
  • 8言語のコンテキストヘルプ — ? バッジパネル(説明、使用例、同等のCLIコマンド)が、すべてのモジュールで8言語すべてに対応;以前は JA と ZH は英語にフォールバックしていました
  • バグ修正 — SMB/NFS と Hosts File のナビツールチップが、選択中の言語に関係なくフランス語で表示されていました;不足していた nav_hint_smb_nfs と nav_hint_hosts キーを、フランス語以外の7つの言語ブロックすべてに追加

v1.3.1 — 2026-06-05

  • SSH Key Manager — ~/.ssh/ 内のすべてのキーペアを一覧表示(ファイル、種類、ビット数、コメント、SHA256フィンガープリント);オプションのパスフレーズ付きで Ed25519 または RSA 4096 キーを生成(不一致検出、種類に応じた自動ファイル名);公開キーをクリップボードにコピー;インラインターミナルで ssh-copy-id を使ってリモートサーバーにデプロイ(パスワードプロンプト用のstdin対応);確認付きでキーペアを削除;~/.ssh/ が存在しない場合は自動作成;i18n: fr / en / es / de

v1.3.0 — 2026-06-03

  • TLS / SSL Inspector — 任意のサーバーの証明書を検査:サブジェクトCN、SANs、発行者、有効期限(色分け: 緑 / オレンジ < 30日 / 赤=期限切れ)、シリアル番号、TLSプロトコル、暗号スイート、証明書チェーン(openssl s_client 経由);有効・期限切れ・自己署名証明書に対応;到達不能ホストには分かりやすいエラーメッセージ
  • SMB / NFS Browser — 任意のサーバーから共有とエクスポートを一覧表示;SMBタブ: smbclient -L(オプションで認証情報付き)、共有名/種類/コメントを表示;NFSタブ: showmount -e、エクスポートパスとアクセスリストを表示;不足ツールを検出し、ディストリビューション別のインストール手順を表示
  • Hosts File Editor — /etc/hosts の表示と編集;有効/無効トグルのあるテーブル、ダイアログでエントリの追加/編集/削除;IPまたはホスト名でフィルター;pkexec cp で保存(polkit認証ダイアログ)
  • install.sh — Debian / Ubuntu / Linux Mint 向けの新しいスクリプト:~/.local/share/nmlinux/venv にvenvを作成し、aptでシステム依存関係をインストールし、ランチャーと .desktop エントリを作成(PEP 668 externally-managed-environment エラーを修正)

v1.2.9 — 2026-05-30

  • VNC — VNC接続プロファイルを管理する新しいモジュール;SSHやRDPと同様のグループ/サブグループ;vncviewer(TigerVNC)を起動;macOS ARD に対応(DH30認証は vncviewer がネイティブに処理);パスワードは保存されません;vncviewer が無い場合はディストリビューション別のインストール手順を検出
  • バージョン情報 — ツールとサービス — アプリが依存するすべてのサードパーティ製ツールとAPIを一覧表示する新しいセクション
  • サイドバーのi18n — 23個すべてのナビツールチップが FR/EN/ES/DE に翻訳されました(以前はハードコードされたフランス語);ラベルを修正: Topology、Connections、Subnet

v1.2.8 — 2026-05-30

  • Remote Desktop (RDP) — Windows RDP接続プロファイルを管理する新しいモジュール;SSHと同様のグループ/サブグループ;xfreerdp を外部プロセスとして起動;接続時にパスワードを要求、保存はされません;フィールド: ホスト、ポート、ユーザー名、ドメイン、解像度、全画面;xfreerdp が無い場合はディストリビューション別のインストール手順を検出(Arch / Debian / Fedora)

v1.2.7 — 2026-05-26

  • Lucideアイコンの同梱 — Lucide (MIT) の21個のSVGアイコンを assets/icons/ に同梱;実行時に QSvgRenderer で描画;色は #60a5fa;システムアイコンテーマ(Breeze、Adwaita、Papirus…)が不要になりました

v1.2.6 — 2026-05-24

  • GNOME / Adwaita互換性 — KDE以外のデスクトップでアイコンを修正:main.py が gsettings でGTKアイコンテーマを自動検出し、Qtに適用するように;Wi-Fi、Traceroute、Speed Test、Interfaces、Port Scanner、Firewall、MTR のフォールバックチェーンを拡張;themed_icon() はテーマアイコンを受け入れる前に実際のピクスマップが存在することを検証するように
  • NixOS / KDE互換性 — NixOSで全アイコンを修正:Breeze 6.x はSVGZのみのアイコンを提供;Nixラッパーが QT_PLUGIN_PATH に qt6.qtsvg を追加し、QtがSVGアイコンを描画できるように;themed_icon() はサイズ 22/24/16/32/48 を試行(Breezeは24ではなく22pxを使用);Nix同梱のアイコンセットを検出した場合はテーマを breeze に強制;システム全体のKDE設定として /etc/xdg/kdeglobals もチェック

v1.2.5 — 2026-05-23

  • MTR — 組み込み型 My Traceroute:mtr --report を実行し、テキスト出力を解析して、ホップごとの Loss %、RTT Last/Avg/Best/Worst/Jitter をライブテーブルで表示、損失の深刻度に応じて色分け;連続モード;CSV + TXT エクスポート
  • Speed Test — curl + Cloudflare(speed.cloudflare.com)による依存関係のない速度テスト:ダウンロード(25 MB)、アップロード(10 MB)、1.1.1.1 へのping;最大5回の実行結果をJSONに保存;履歴ライングラフ(ダウンロード/アップロード)
  • Firewall Viewer — 読み取り専用のルールセットビューアー:rootなしで /etc/nftables.conf と /etc/iptables/*.rules を解析;pkexec nft list ruleset でライブルールセットを取得;列: Table / Chain / Rule / Port / Action / Comment;アクションを色分け;ライブフィルター
  • サイドバーヒント — 各ナビエントリに小さな ? バッジを表示;ホバーするとモジュールの説明を示すツールチップを表示;サイドバーとコンテンツ領域の間に垂直セパレーターを追加
  • i18n — すべての新モジュールをフランス語、英語、スペイン語に翻訳

v1.2.0 — 2026-05-22

  • テーマ適応 — 全ページで実行時のライト/ダーク切り替えを完全サポート;is_dark()、color_ok()、color_err() を持つ新しい core/theme.py;カスタムペインターウィジェット(_Graph、_MapWidget)は描画時にパレットを読み取ります;ハードコードされていたCatppuccin Mochaの色をすべてセマンティックなQtパレットロールに置き換え
  • サブネットマスク — Dashboard、Interfaces、Connexions の各ページで、CIDRプレフィックスから算出したドット区切り10進数のサブネットマスク(例: 255.255.255.0)を表示
  • Bandwidth Monitor — ページ読み込み時の不安定な自動開始をやめ、明示的な開始/停止ボタンを追加
  • CSV/TXTエクスポート — Nmap と Traceroute ページに「CSVをエクスポート」「TXTをエクスポート」ボタンを追加(スキャン/トレース完了後に表示)
  • i18n — 上記の全機能の新しい翻訳キーを追加(fr/en/es/de)

v1.1.1 — 2026-05-16

  • SSHターミナル — pyte(VT100/xtermエミュレーター)+ QPainterレンダラーで完全リライト;2000行のスクロールバック、カーソル点滅、256色対応
  • Visual Traceroute — ワールドマップ(Natural Earth 110m)、ホップごとのライブ地理位置情報(ip-api.com)、インタラクティブなズーム/パン、デュアルパーサー(traceroute / tracepath フォールバック)
  • Bandwidth Monitor — インターフェースごとのリアルタイムスループット、60秒スライディンググラフ、ライブ速度、セッション合計とピーク
  • Wake on LAN — 純Pythonのマジックパケット(UDPブロードキャスト)、永続的なホストブック(JSON)
  • IP Scanner — getent/avahi/nmblookup によるホスト名解決;MACアドレス、ベンダー(IEEE OUI 39Kエントリ)、インターフェース列;CSV/TXTエクスポートを更新
  • i18n — 新規ページすべての完全な fr/en/es/de 翻訳

v1.0.0 — 2026-05-14

初期公開リリース — 13モジュール: Dashboard、Interfaces、Wi-Fi、Subnet Calculator、DNS Lookup、Ping Monitor、IP Scanner、Port Scanner、Nmap、Whois、SNMP、SNTP/NTP、SSH。


機能


要件

システムツール

Linux — 標準インストールにはほとんどが含まれています:```bash

Arch / EndeavourOS

sudo pacman -S iproute2 networkmanager bind-tools nmap whois net-snmp iputils mtr curl

Debian / Ubuntu

sudo apt install iproute2 network-manager dnsutils nmap whois snmp mtr-tiny curl

Fedora

sudo dnf install iproute NetworkManager bind-utils nmap whois net-snmp-utils mtr curl

root@kitploit:~
**macOS** — [Homebrew](https://brew.sh) 経由でインストール:```bash
# Required
brew install nmap mtr curl

# Optional — enable additional modules
brew install whois          # WHOIS page
brew install net-snmp       # SNMP page (snmpwalk / snmpget)
brew install samba          # SMB scan with credentials (smbclient)

macOS には ping、dig、traceroute、netstat、ifconfig、smbutil、route が標準で含まれています。networksetup と scutil は macOS の組み込みツールであり、インストールは不要です。IP Scanner の OUI ベンダー検索もインストールは不要です。Wireshark の manuf データベースが初回使用時にバックグラウンドで自動ダウンロードされ、ローカルにキャッシュされます。

オプションツール

Python

  • Python 3.11+
  • PySide6 6.6+
  • ptyprocess 0.7+
  • pyte 0.8+(pip install pyte または sudo pacman -S python-pyte)
  • tftpy 0.8+(pip install tftpy または sudo pacman -S python-tftpy) — ファイル転送モジュール

インストール

オプション 1 — Arch Linux / Manjaro / EndeavourOS(AUR)```bash

yay -S nmlinux

root@kitploit:~
すべての依存関係(PySide6、ptyprocess、pyte、nmcli、…)は自動的に処理されます。

### オプション 2 — NixOS / Nix

同梱の `flake.nix` で直接実行できます — システム全体へのインストールは不要です:```bash
git clone https://github.com/thongor77/nmlinux.git
cd nmlinux
nix run .

または開発シェルを入力してください:```bash nix develop python3 -m nmlinux.main

root@kitploit:~
すべてのPython依存関係(PySide6、ptyprocess、pyte、tftpy)とシステムツール(nmcli、nmap、freerdp、vncviewer、mtr、avahi-browse…)は、Nixラッパーによって自動的に提供されます。

### オプション4 — AppImage(任意のLinuxディストリビューション、インストール不要)

[最新リリース](https://github.com/thongor77/nmlinux/releases/latest) から `NMLinux-x.y.z-x86_64.AppImage` をダウンロードしてください:```bash
chmod +x NMLinux-*.AppImage
./NMLinux-*.AppImage

No installation required — Python, Qt and all NMLinux modules are bundled in a single file.
Works on any x86_64 Linux with glibc 2.17+ (Ubuntu 16.04+, Fedora 26+, Arch, Mint, etc.).

System network tools (nmap, whois, mtr…) are not bundled — install them via your package manager for the corresponding modules to work. See Requirements below.

Option 5 — macOS

Quickest way — one-liner bootstrap. Works on a completely bare Mac: installs Xcode Command Line Tools, Homebrew, all system tools, then NMLinux itself. Safe to re-run (updates instead of reinstalling):```bash curl -fsSL https://raw.githubusercontent.com/thongor77/nmlinux/main/packaging/bootstrap_macos.sh -o /tmp/bootstrap_macos.sh && bash /tmp/bootstrap_macos.sh

root@kitploit:~
システム全体 (`/Applications`) に、`~/Applications` の代わりにインストール:```bash
curl -fsSL https://raw.githubusercontent.com/thongor77/nmlinux/main/packaging/bootstrap_macos.sh -o /tmp/bootstrap_macos.sh && bash /tmp/bootstrap_macos.sh --system

Apple Developerアカウントや有料の公証は不要です — 内部では同じオープンソースの install_macos_app.sh を使用しており、取得して実行するだけです。スクリプトはシンプルで読みやすいbashです。実行前に /tmp/bootstrap_macos.sh を開いて読むか、packaging/bootstrap_macos.sh で直接確認できます。

ダウンロードしてから実行する方式(bash に直接パイプするのではなく)は意図的です。新しいMacでは、スクリプトはターミナルから読み取るネストされた対話型ステップ(Xcode Command Line Toolsインストーラー、sudo パスワードを求めるHomebrew自身のインストーラー)をトリガーします。スクリプトを bash に直接パイプすると、これらのネストされたプロンプトがスクリプト自身の入力ストリームと干渉し、途中で停止する可能性があります。ダウンロードしたファイルから実行すれば、その問題を完全に回避できます。

手動インストール — 各ステップを自分で実行したい場合、またはすでにHomebrewがある場合:```bash

1. Install Homebrew system tools (see Requirements above)

brew install nmap mtr curl

2. Clone and install

git clone https://github.com/thongor77/nmlinux.git cd nmlinux bash packaging/install_macos_app.sh

root@kitploit:~
更新: `git pull && bash packaging/install_macos_app.sh`  
アンインストール: `bash packaging/uninstall_macos.sh`  
システム全体にインストール (`/Applications`): `bash packaging/install_macos_app.sh --system`

このスクリプトは、以下のPythonパッケージをvenvに自動的にインストールします:
- `PySide6`, `ptyprocess`, `pyte`, `tftpy`
- `pyobjc-framework-Cocoa` — macOSメニューバー、ネイティブダイアログ
- `pyobjc-framework-CoreWLAN` — Wi-Fi SSIDスキャン
- `pyobjc-framework-CoreLocation` — Wi-Fi名を取得するための位置情報サービス権限

**macOS 26 (Tahoe) でのWi-Fi:** 初回起動時に、macOSが位置情報サービスの許可を求めます — Wi-Fiネットワーク名を表示するには許可してください。この許可は、*システム設定 › プライバシーとセキュリティ › 位置情報サービス* に表示されます。

> ほとんどのモジュールはmacOSで変更なしに動作します。RDPは`open rdp://` (Microsoft Remote Desktop) にフォールバックし、VNCは`open vnc://` (標準の画面共有) にフォールバックします。接続マネージャーはmacOSでは機能が制限されます (`nmcli`は利用不可)。

### オプション 6 — Debian / Ubuntu / Linux Mint (インストールスクリプト)

> **Linux Mint / Ubuntuユーザーへの注意:** Python 3.12+ では、システム全体への`pip install`がブロックされています (PEP 668 — `externally-managed-environment`)。提供されているインストールスクリプトを使用してください — 自動的に仮想環境が作成され、`.desktop`エントリがインストールされます。```bash
git clone https://github.com/thongor77/nmlinux.git
cd nmlinux
bash install.sh

スクリプトは次のことを行います:

  • apt 経由でシステム依存関係をインストールします (libgl1、python3-venv、freerdp、tigervnc…)
  • ~/.local/share/nmlinux/venv に仮想環境を作成します
  • venv 内に NMLinux とその Python 依存関係をインストールします
  • ~/.local/bin/nmlinux にランチャーを作成します
  • .desktop エントリを追加して、NMLinux がアプリケーションメニューに表示されるようにします

インストール後、ターミナルから nmlinux を実行するか、アプリケーションメニューから起動します。

オプション 7 — Wheel (すべてのディストリビューション / macOS)

.whl を 最新リリース からダウンロードしてインストールします:```bash

Arch / Fedora / macOS — no pip restrictions

pip install nmlinux-1.5.3-py3-none-any.whl

Debian / Ubuntu / Mint — install system libs first, then use pipx

Ubuntu ≤24.04:

sudo apt install libgl1 libglib2.0-0 libdbus-1-3 freerdp2-x11 tigervnc-viewer

Ubuntu 26.04+:

sudo apt install libgl1 libglib2.0-0 libdbus-1-3 freerdp3-x11 tigervnc-viewer

pipx install nmlinux-1.5.3-py3-none-any.whl

root@kitploit:~
> **Ubuntu 26.04+ 向けの注意:** `pipx` を使用するには、先にシステムライブラリ (libGL など) をインストールしておく必要があります — 上記のコマンドで対応できます。`pipx install` が PySide6 のビルドエラーで失敗する場合は、代わりに **Option 4** (インストールスクリプト) を使用してください。そちらはすべてを自動的に処理します。

### Option 8 — ソースから (Arch / Fedora / macOS)```bash
git clone https://github.com/thongor77/nmlinux.git
cd nmlinux
pip install PySide6 ptyprocess pyte tftpy
python3 -m nmlinux.main

オプション9 — デスクトップエントリ(KDE / GNOME / など)

.desktop ファイルをコピーして、NMLinux がアプリケーションランチャーに表示されるようにします:```bash cp data/nmlinux.desktop ~/.local/share/applications/ update-desktop-database ~/.local/share/applications/

root@kitploit:~
次に、必要に応じてファイル内の `Exec=` パスを編集します。

---

## 実行```bash
./nmlinux.sh
# or, after pip install:
nmlinux
# or directly:
python3 -m nmlinux.main

プロジェクト構成```

nmlinux/ core/ i18n.py — Translation system (8 languages: fr/en/es/de/it/pt/ja/zh), tr(key) function icons.py — themed_icon(): 21 bundled Lucide SVG icons via QSvgRenderer theme.py — is_dark(), color_ok(), color_err(): runtime light/dark helpers settings.py — AppSettings dataclass, JSON persistence ssh.py — SshConnection dataclass, SshStore rdp.py — RdpConnection dataclass, RdpStore, find_xfreerdp() vnc.py — VncConnection dataclass, VncStore, find_vncviewer() terminal.py — SshWorker (QThread) + PTY via ptyprocess, emits raw bytes tls_watchlist.py — TlsWatchlist: background cert expiry checker, JSON persistence http_server.py — ThreadedHTTPServer: directory listing, GET/PUT/POST, port binding tftp_helper.py — TftpServerThread: tftpy wrapper, configurable port and root help_content.py — Module contextual help strings (all 8 languages) cli_bar.py — CliBar singleton: pedagogical CLI equivalent bar export_dialog.py — open_export_dialog(): QFileDialog with live extension update command_palette.py — CommandPalette (Ctrl+P): fuzzy search across 29 modules export_manager.py — collect_snapshot(), to_json/text/markdown/pdf, save_export() pages/ about.py — About page (credits, tools & services) bandwidth.py — Bandwidth Monitor: per-interface 60s graph, live stats connection_manager.py — Connection Manager: nmcli profiles, connect/disconnect/edit dashboard.py — Dashboard dns.py — DNS Lookup file_transfer.py — File Transfer: TFTP + HTTP server, live log, pkexec for port 69 firewall.py — Firewall Viewer: nftables + iptables parser, live via pkexec help_page.py — Contextual help overlay hosts.py — Hosts File: view/edit /etc/hosts, toggle entries, save via pkexec interfaces.py — Network Interfaces ip_scanner.py — IP Scanner mtr.py — MTR: mtr --report parser, live hop stats table, export nmap_scan.py — Nmap ping.py — Ping Monitor port_scanner.py — Port Scanner rdp.py — Remote Desktop: RDP profiles, launches xfreerdp settings.py — Settings page smb_nfs.py — SMB/NFS Browser: smbclient + showmount snmp.py — SNMP sntp.py — SNTP / NTP speedtest.py — Speed Test: curl + Cloudflare, history graph ssh.py — SSH page (connection manager + terminal) ssh_keys.py — SSH Key Manager: list/generate/deploy/delete key pairs subnet.py — Subnet Calculator terminal_view.py — TerminalView: pyte VT100 emulator + QPainter renderer tls.py — TLS Inspector + TLS Watchlist: cert details, background expiry monitor topology.py — Topology Map: nmap -sn, interactive graph, zoom/pan traceroute.py — Visual Traceroute: world map, geolocation, zoom/pan vnc.py — VNC: connection profiles, launches vncviewer whois.py — Whois wifi.py — Wi-Fi wol.py — Wake on LAN: magic packet, persistent host book assets/ icons/ — 21 bundled Lucide SVG icons (#60a5fa) world.geojson — Natural Earth 110m countries (map background) window.py — MainWindow (sidebar + QStackedWidget) main.py — Entry point

root@kitploit:~
---

## デスクトップ環境の互換性

v1.2.7 以降、NMLinux はランタイムで `QSvgRenderer` によりレンダリングされる 21 個のバンドル済み [Lucide](https://lucide.dev) SVG アイコンを使用しています。このアプリはもはやシステムのアイコンテーマ(Breeze、Adwaita、Papirus…)に依存せず、KDE、GNOME、XFCE などで正しく表示されます。Qt スタイルは実行中のデスクトップに自動的に適応します。

---

## 制限事項

### Linux

完全サポート — 29 モジュールすべてが利用可能です。

### macOS

ほとんどのモジュールは、両方のプラットフォームで利用可能なツール(`ssh`、`dig`、`ping`、`curl`、`nmap`、`openssl`…)に依存しているため、そのまま動作します。

**9 つのモジュールには明示的な macOS 対応が必要です**(起動時にプラットフォームを検出する二重コードパス): Dashboard、Interfaces、Wi-Fi、Topology、Bandwidth、Firewall、Connection Manager、Hosts File、MTR — これらは Linux の同等コマンドの代わりに、macOS 標準のコマンド(`ifconfig`、`networksetup`、`scutil`、`pfctl`、`system_profiler`…)を使用します。

**macOS のサポートが限定的または存在しないモジュール:**

| モジュール | 状態 | 備考 |
|--------|--------|-------|
| **RDP** | ✓ macOS | `open rdp://` にフォールバック → Microsoft Remote Desktop(App Store) |
| **VNC** | ✓ macOS | `open vnc://` にフォールバック → 画面共有(内蔵、インストール不要) |
| **IP Scanner** | ✓ macOS | `socket.gethostbyaddr()` を使用 — ネイティブ Python、追加ツール不要 |
| **SMB** | ✓ macOS | `smbclient` の代わりに `smbutil view`(内蔵)を使用 |
| **NFS** | ✓ macOS | `showmount` 内蔵。ヘッダー解析は適用済み |
| **Connection Manager** | ⚠ 制限あり | 編集/削除には `nmcli`(Linux のみ)が必要。一覧表示は動作します |

### 全般

- root/polkit 統合なし — 昇格した権限を必要とするツール(一部の Nmap モード、raw ソケット)は `sudo` で実行する必要があります。macOS では、権限昇格に `osascript` + 管理者権限を使用します
- SSH エージェント転送にはアクティブな SSH エージェント(`SSH_AUTH_SOCK`)が必要です。macOS ではシステムが自動的に処理するため、手動設定は不要です

---

## クレジットと謝辞

- **[Anthropic](https://www.anthropic.com)** — このプロジェクトの構築に使用された AI アシスタント、Claude Code
- ビジョン、テスト、方向性を提供した作者

---

## プロジェクトを支援する

NMLinux が役に立つと思われるなら、開発の支援をご検討ください:

- **PayPal** — [PayPal で寄付](https://www.paypal.com/donate/?business=JFQGY7NU3ANCN&no_recurring=0&item_name=Every+donation%2C+no+matter+how+small%2C+helps+me+keep+this+project+alive.+Thank+you%21%0A&currency_code=EUR)
- **Bitcoin** — `bc1qspe0tky7552qas72wgn8w9dswr0dxlv24w39t6ztjqk3nz6kc5tqv753a4`

---

## ライセンス

GPL-2.0 — [LICENSE](https://github.com/thongor77/nmlinux/blob/HEAD/LICENSE) を参照してください。

このプロジェクトは独立した再実装です。NETworkManager のコードは使用も翻訳もされていません。
ツールをダウンロード
EPERM
script
変更なしのモジュール
モジュール説明
Dashboardローカルマシン情報、ゲートウェイ、パブリックIP、地理位置情報、DNSリゾルバー
Connection Managernmcli によるNetworkManagerプロファイル: 一覧表示、フィルター、接続/切断/編集/削除
Interfacesインターフェースごとの詳細付きネットワークインターフェーステーブル(ip + nmcli)
Wi-Fi利用可能なネットワーク、信号バー、セキュリティ、接続中のネットワークを強調表示
Subnet CalculatorCIDRからのネットワーク/ブロードキャスト/ホスト範囲、最大4096エントリのホストテーブル
DNS Lookupdig ベースのルックアップ: A、AAAA、MX、TXT、NS、CNAME、PTR、SOA、ANY
Ping Monitor複数ホストへの継続的ping、RTT統計、パケットロス%
IP ScannerCIDR/範囲のpingスキャン、50スレッド、ホスト名(DNS/mDNS/NetBIOS)、MACアドレス、ベンダー(OUI)、インターフェース、CSV + TXT エクスポート
Port ScannerTCPコネクトスキャン、200スレッド、サービスプリセット、CSV + TXT エクスポート
Nmap7つのスキャンモード、XML出力の解析、Host/Port/Protocol/State/Service テーブル、CSV + TXT エクスポート
Whoisraw whois出力を等幅で表示
SNMPsnmpwalk/snmpget、v1/v2c、10個のOIDプリセット、結果テーブル
SNTP / NTP純PythonのRFC 4330 UDPクライアント、オフセット/遅延/階層/参照
SSH組み込みPTYターミナル(pyte/VT100)、保存された接続(JSON)、キー認証、スクロールバック
Remote DesktopRDP接続プロファイル(グループ/サブグループ);xfreerdp を起動;パスワードは保存されません
VNCVNC接続プロファイル(グループ/サブグループ);vncviewer(TigerVNC)を起動;macOS ARD互換;パスワードは保存されません
SSH Key Manager~/.ssh/ のキーペアを一覧表示(種類、ビット数、フィンガープリント);Ed25519/RSA 4096 を生成;公開キーをコピー;ssh-copy-id でサーバーにデプロイ;確認付きでペアを削除
TLS Inspector証明書の詳細: CN、SANs、発行者、有効期間 + 期限までのカウントダウン、シリアル、プロトコル、暗号、チェーン;バックグラウンド期限監視とサイドバーのカラードット付き Watchlist
SMB / NFS任意のサーバーまたはNASからSMB共有(smbclient)とNFSエクスポート(showmount)を一覧表示;SMB用の任意の認証情報
Hosts File/etc/hosts の表示/編集: エントリの追加、削除、切り替え;フィルター;pkexecによる保存
Visual Tracerouteワールドマップ上のホップ単位のルート、ライブ地理位置情報(ip-api.com)、ズーム&パン、CSV + TXT エクスポート
MTR組み込み型 My Traceroute: ホップごとの損失%、RTT Last/Avg/Best/Worst/Jitter、色分け、CSV + TXT エクスポート
Firewall Viewer読み取り専用の nftables + iptables/ip6tables ルールセット(root不要);pkexecによるライブ表示;テーブル/チェーン/アクションでフィルター
Speed TestCloudflare経由のダウンロード/アップロード/ping;curl 以外の外部ツール不要;履歴グラフ(直近5回)
Bandwidthインターフェースごとのリアルタイムスループット: 60秒スライディンググラフ、ライブ速度、セッション合計、ピーク
Wake on LAN純Pythonのマジックパケット(UDPブロードキャスト)、永続的なホストブック、外部ツール不要
Topology Mapnmap -sn でLANデバイスを自動検出;ドラッグ可能なノード、ズーム/パン、詳細パネルを備えたインタラクティブグラフ
Settings言語選択(FR / EN / ES / DE / IT / PT / JA / ZH)、永続化;変更後は再起動が必要
Command PaletteCtrl+Pオーバーレイ: 全29モジュールを名前またはキーワードでファジー検索
File TransferオンデマンドのTFTPまたはHTTPサーバー;ポートとルートディレクトリを設定可能;ローカルIPをコピーボタンとして表示;ライブログテーブル(ファイル名、クライアントIP、方向 ↑/↓、サイズ);HTTPディレクトリリスト + GET/POST/PUT;TFTP GET + PUT;ポート69ではpkexecを要求
Exportファイル → ネットワークレポートをエクスポート(JSON/Markdown/Text/PDF);Interfaces、DNS、Firewall、SSH、Connections でのモジュール単位エクスポート
ToolFeatureLinuxmacOS
xfreerdp / xfreerdp3Remote Desktop (RDP)Arch: freerdp · Ubuntu ≤24.04: freerdp2-x11 · Ubuntu 26.04+: freerdp3-x11オプション — Microsoft Remote Desktop にフォールバック(open rdp://)
vncviewerVNCArch: tigervnc · Debian: tigervnc-viewerオプション — macOS の画面共有にフォールバック(open vnc://、標準搭載)
nm-connection-editorConnection Manager から接続を編集Arch: nm-connection-editor—(代わりにシステム環境設定が開きます)
traceroutetraceroute の代替(デフォルトでは tracepath を使用)Arch: traceroute標準搭載
mount.cifs (cifs-utils)右クリックメニューから SMB 共有をマウントArch/Debian: cifs-utils標準搭載(mount_smbfs)
iperf3スピードテスト — LAN タブArch: iperf3 · Debian/Ubuntu: iperf3brew install iperf3