https://github.com/binaricat/netcatty
SSH workspace, SFTP, and terminals in one
https://github.com/binaricat/netcatty
electron electron-app radix-ui react sftp-client ssh ssh-client terminal terminal-emulator xterm
Last synced: 6 days ago
JSON representation
SSH workspace, SFTP, and terminals in one
- Host: GitHub
- URL: https://github.com/binaricat/netcatty
- Owner: binaricat
- License: gpl-3.0
- Created: 2025-12-06T19:22:10.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-01-19T18:13:21.000Z (24 days ago)
- Last Synced: 2026-01-19T22:52:59.126Z (24 days ago)
- Topics: electron, electron-app, radix-ui, react, sftp-client, ssh, ssh-client, terminal, terminal-emulator, xterm
- Language: TypeScript
- Homepage: https://netcatty.app
- Size: 25.5 MB
- Stars: 81
- Watchers: 0
- Forks: 14
- Open Issues: 8
-
Metadata Files:
- Readme: README.ja-JP.md
- License: LICENSE
- Agents: agents.md
Awesome Lists containing this project
README
Netcatty
モダンな SSH クライアント、SFTP ブラウザ & ターミナルマネージャー
netcatty.app
Electron、React、xterm.js で構築された機能豊富な SSH ワークスペース。
分割ターミナル、Vault ビュー、SFTP ワークフロー、カスタムテーマ、キーワードハイライト — すべてが一つに。
---
[](screenshots/main-window-dark.png)
---
# 目次
- [Netcatty とは](#netcatty-とは)
- [なぜ Netcatty](#なぜ-netcatty)
- [機能](#機能)
- [デモ](#デモ)
- [スクリーンショット](#スクリーンショット)
- [メインウィンドウ](#メインウィンドウ)
- [Vault ビュー](#vault-ビュー)
- [分割ターミナル](#分割ターミナル)
- [対応ディストリビューション](#対応ディストリビューション)
- [はじめに](#はじめに)
- [ビルドとパッケージ](#ビルドとパッケージ)
- [技術スタック](#技術スタック)
- [コントリビューション](#コントリビューション)
- [ライセンス](#ライセンス)
---
**Netcatty** は、複数のリモートサーバーを効率的に管理する必要がある開発者、システム管理者、DevOps エンジニア向けに設計された、モダンなクロスプラットフォーム SSH クライアントおよびターミナルマネージャーです。
- **Netcatty は** PuTTY、Termius、SecureCRT、macOS Terminal.app の代替となる SSH 接続ツール
- **Netcatty は** 強力な SFTP クライアント(ドラッグ&ドロップ + 内蔵エディタ)
- **Netcatty は** 分割ペイン、タブ、セッション管理を備えたターミナルワークスペース
- **Netcatty は** シェルの代替ではありません — SSH/Telnet/Mosh やローカル/シリアル経由でシェルに接続します(環境により異なります)
---
複数サーバーを日常的に扱うなら、Netcatty は「スピード」と「流れ」を重視した作りになっています:
- **ワークスペース中心** — 分割ペインで複数セッションを並行操作
- **Vault の見やすさ** — グリッド/リスト/ツリーで状況に合わせて切り替え
- **SFTP の作業感** — ドラッグ&ドロップと内蔵エディタでサクッと編集
---
### 🗂️ Vault
- **複数ビュー** — グリッド / リスト / ツリー
- **高速検索** — ホストやグループを素早く見つける
### 🖥️ ターミナルワークスペース
- **分割ペイン** — 水平・垂直分割でマルチタスク
- **セッション管理** — 複数の接続を並行して扱う
### 📁 SFTP + 内蔵エディタ
- **ファイル作業** — ドラッグ&ドロップでアップロード/ダウンロード
- **その場で編集** — 内蔵エディタで小さな修正を素早く
### 🎨 パーソナライズ
- **カスタムテーマ** — UI の見た目を好みに調整
- **キーワードハイライト** — ターミナル出力の強調表示ルールをカスタマイズ
---
GIF で機能をさっと確認できます(素材は `screenshots/gifs/`):
### Vault ビュー:グリッド / リスト / ツリー
状況に合わせて見え方を切り替え。グリッドで全体像、リストで密度、ツリーで階層を扱えます。

### 分割ターミナル + セッション管理
複数セッションを分割ペインで並べて作業。関連タスクを横並びにしてコンテキストスイッチを減らします。

### SFTP:ドラッグ&ドロップ + 内蔵エディタ
ドラッグ&ドロップでファイルを移動し、内蔵エディタでそのまま編集できます。

### ドラッグでアップロード
ファイルをそのままドロップしてアップロードを開始。ダイアログ操作を減らせます。

### カスタムテーマ
テーマを調整して自分の好みに合わせた見た目に。

### キーワードハイライト
重要な出力(エラー/警告/マーカーなど)を見つけやすくするために、ハイライトをカスタマイズできます。

---
メインウィンドウは、長時間の SSH 作業を前提に設計されています。セッション、ナビゲーション、主要ツールへ素早くアクセスできます。


作業に合わせて見え方を切り替え:グリッドで全体像、リストでスキャン、ツリーで整理と階層ナビゲーション。




分割ペインで複数のサーバー/タスクを同時に扱えます(例:デプロイ + ログ + 監視)。

---
Netcatty は接続したホストの OS を検出し、ホスト一覧でアイコンとして表示します:
---
### ダウンロード
[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