Netcatty

Netcatty

モダンな SSH クライアント、SFTP ブラウザ & ターミナルマネージャー
netcatty.app

Electron、React、xterm.js で構築された機能豊富な SSH ワークスペース。
分割ターミナル、Vault ビュー、SFTP ワークフロー、カスタムテーマ、キーワードハイライト — すべてが一つに。

GitHub Release   Platform   License

最新版をダウンロード

Ko-fi でサポート

English · 简体中文 · 日本語

--- [![Netcatty メインインターフェース](screenshots/main-window-dark.png)](screenshots/main-window-dark.png) --- # 目次 - [Netcatty とは](#netcatty-とは) - [なぜ Netcatty](#なぜ-netcatty) - [機能](#機能) - [デモ](#デモ) - [スクリーンショット](#スクリーンショット) - [メインウィンドウ](#メインウィンドウ) - [Vault ビュー](#vault-ビュー) - [分割ターミナル](#分割ターミナル) - [対応ディストリビューション](#対応ディストリビューション) - [はじめに](#はじめに) - [ビルドとパッケージ](#ビルドとパッケージ) - [技術スタック](#技術スタック) - [コントリビューション](#コントリビューション) - [ライセンス](#ライセンス) --- # Netcatty とは **Netcatty** は、複数のリモートサーバーを効率的に管理する必要がある開発者、システム管理者、DevOps エンジニア向けに設計された、モダンなクロスプラットフォーム SSH クライアントおよびターミナルマネージャーです。 - **Netcatty は** PuTTY、Termius、SecureCRT、macOS Terminal.app の代替となる SSH 接続ツール - **Netcatty は** 強力な SFTP クライアント(ドラッグ&ドロップ + 内蔵エディタ) - **Netcatty は** 分割ペイン、タブ、セッション管理を備えたターミナルワークスペース - **Netcatty は** シェルの代替ではありません — SSH/Telnet/Mosh やローカル/シリアル経由でシェルに接続します(環境により異なります) --- # なぜ Netcatty 複数サーバーを日常的に扱うなら、Netcatty は「スピード」と「流れ」を重視した作りになっています: - **ワークスペース中心** — 分割ペインで複数セッションを並行操作 - **Vault の見やすさ** — グリッド/リスト/ツリーで状況に合わせて切り替え - **SFTP の作業感** — ドラッグ&ドロップと内蔵エディタでサクッと編集 --- # 機能 ### 🗂️ Vault - **複数ビュー** — グリッド / リスト / ツリー - **高速検索** — ホストやグループを素早く見つける ### 🖥️ ターミナルワークスペース - **分割ペイン** — 水平・垂直分割でマルチタスク - **セッション管理** — 複数の接続を並行して扱う ### 📁 SFTP + 内蔵エディタ - **ファイル作業** — ドラッグ&ドロップでアップロード/ダウンロード - **その場で編集** — 内蔵エディタで小さな修正を素早く ### 🎨 パーソナライズ - **カスタムテーマ** — UI の見た目を好みに調整 - **キーワードハイライト** — ターミナル出力の強調表示ルールをカスタマイズ --- # デモ GIF で機能をさっと確認できます(素材は `screenshots/gifs/`): ### Vault ビュー:グリッド / リスト / ツリー 状況に合わせて見え方を切り替え。グリッドで全体像、リストで密度、ツリーで階層を扱えます。 ![Vault ビュー:グリッド/リスト/ツリー](screenshots/gifs/gird-list-tre-views.gif) ### 分割ターミナル + セッション管理 複数セッションを分割ペインで並べて作業。関連タスクを横並びにしてコンテキストスイッチを減らします。 ![分割ターミナル + セッション管理](screenshots/gifs/dual-terminal--split-manage.gif) ### SFTP:ドラッグ&ドロップ + 内蔵エディタ ドラッグ&ドロップでファイルを移動し、内蔵エディタでそのまま編集できます。 ![SFTP:ドラッグ&ドロップ + 内蔵エディタ](screenshots/gifs/sftpview-with-drag-and-built-in-editor.gif) ### ドラッグでアップロード ファイルをそのままドロップしてアップロードを開始。ダイアログ操作を減らせます。 ![ドラッグでアップロード](screenshots/gifs/drag-file-upload.gif) ### カスタムテーマ テーマを調整して自分の好みに合わせた見た目に。 ![カスタムテーマ](screenshots/gifs/custom-themes.gif) ### キーワードハイライト 重要な出力(エラー/警告/マーカーなど)を見つけやすくするために、ハイライトをカスタマイズできます。 ![キーワードハイライト](screenshots/gifs/custom-highlight.gif) --- # スクリーンショット ## メインウィンドウ メインウィンドウは、長時間の SSH 作業を前提に設計されています。セッション、ナビゲーション、主要ツールへ素早くアクセスできます。 ![メインウィンドウ(ダーク)](screenshots/main-window-dark.png) ![メインウィンドウ(ライト)](screenshots/main-window-light.png) ## Vault ビュー 作業に合わせて見え方を切り替え:グリッドで全体像、リストでスキャン、ツリーで整理と階層ナビゲーション。 ![Vault グリッドビュー](screenshots/vault_grid_view.png) ![Vault リストビュー](screenshots/vault_list_view.png) ![Vault ツリービュー(ダーク)](screenshots/treeview-dark.png) ![Vault ツリービュー(ライト)](screenshots/treeview-light.png) ## 分割ターミナル 分割ペインで複数のサーバー/タスクを同時に扱えます(例:デプロイ + ログ + 監視)。 ![分割ウィンドウ](screenshots/split-window.png) --- # 対応ディストリビューション Netcatty は接続したホストの OS を検出し、ホスト一覧でアイコンとして表示します:

Ubuntu Debian CentOS Fedora Arch Linux Alpine Amazon Linux Red Hat Rocky Linux openSUSE Oracle Linux Kali Linux

--- # はじめに ### ダウンロード [GitHub Releases](https://github.com/binaricat/Netcatty/releases/latest) からお使いのプラットフォームに対応した最新版をダウンロードしてください。 | OS | サポート状況 | | :--- | :--- | | **macOS** | Universal (x64 / arm64) | | **Windows** | x64 / arm64 | | **Linux** | x64 / arm64 | または [GitHub Releases](https://github.com/binaricat/Netcatty/releases) ですべてのリリースを参照してください。 > **⚠️ macOS ユーザーへ:** アプリはコード署名されていないため、macOS Gatekeeper によってブロックされます。ダウンロード後、以下のコマンドを実行して隔離属性を削除してください: > ```bash > xattr -cr /Applications/Netcatty.app > ``` > または、アプリを右クリック → 開く → ダイアログで「開く」をクリックしてください。 ### 前提条件 - Node.js 18+ と npm - macOS、Windows 10+、または Linux ### 開発 ```bash # リポジトリをクローン git clone https://github.com/binaricat/Netcatty.git cd Netcatty # 依存関係をインストール npm install # 開発モードを起動(Vite + Electron) npm run dev ``` ### プロジェクト構造 ``` ├── App.tsx # メイン React アプリケーション ├── components/ # React コンポーネント │ ├── Terminal.tsx # ターミナルコンポーネント │ ├── SftpView.tsx # SFTP ブラウザ │ ├── VaultView.tsx # ホスト管理 │ ├── KeyManager.tsx # SSH キー管理 │ └── ... ├── application/ # 状態管理 & 国際化 ├── domain/ # ドメインモデル & ロジック ├── infrastructure/ # サービス & アダプター ├── electron/ # Electron メインプロセス │ ├── main.cjs # メインエントリ │ └── bridges/ # IPC ブリッジ └── public/ # 静的アセット & アイコン ``` --- # ビルドとパッケージ ```bash # 本番用ビルド npm run build # 現在のプラットフォーム用にパッケージ npm run pack # 特定のプラットフォーム用にパッケージ npm run pack:mac # macOS (DMG + ZIP) npm run pack:win # Windows (NSIS インストーラー) npm run pack:linux # Linux (AppImage + DEB + RPM) ``` --- # 技術スタック | カテゴリ | テクノロジー | |--------|------------| | フレームワーク | Electron 40 | | フロントエンド | React 19, TypeScript | | ビルドツール | Vite 7 | | ターミナル | xterm.js 5 | | スタイリング | Tailwind CSS 4 | | SSH/SFTP | ssh2, ssh2-sftp-client | | PTY | node-pty | | アイコン | Lucide React | --- # コントリビューション コントリビューションを歓迎します!お気軽に Pull Request を提出してください。 1. リポジトリをフォーク 2. フィーチャーブランチを作成 (`git checkout -b feature/amazing-feature`) 3. 変更をコミット (`git commit -m 'Add some amazing feature'`) 4. ブランチにプッシュ (`git push origin feature/amazing-feature`) 5. Pull Request をオープン アーキテクチャの概要とコーディング規約については [agents.md](agents.md) を参照してください。 --- # ライセンス このプロジェクトは **GPL-3.0 ライセンス** の下でライセンスされています - 詳細は [LICENSE](LICENSE) ファイルをご覧ください。 ---

❤️ を込めて作成 by binaricat