{"id":35556481,"url":"https://github.com/binaricat/netcatty","last_synced_at":"2026-06-12T12:00:56.173Z","repository":{"id":332056243,"uuid":"1111357457","full_name":"binaricat/Netcatty","owner":"binaricat","description":"SSH workspace, SFTP, and terminals in one","archived":false,"fork":false,"pushed_at":"2026-06-08T21:16:41.000Z","size":126023,"stargazers_count":2223,"open_issues_count":38,"forks_count":210,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-06-08T21:21:06.937Z","etag":null,"topics":["electron","electron-app","radix-ui","react","sftp-client","ssh","ssh-client","terminal","terminal-emulator","xterm"],"latest_commit_sha":null,"homepage":"https://netcatty.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/binaricat.png","metadata":{"files":{"readme":"README.ja-JP.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-12-06T19:22:10.000Z","updated_at":"2026-06-08T21:06:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/binaricat/Netcatty","commit_stats":null,"previous_names":["binaricat/netcatty"],"tags_count":127,"template":false,"template_full_name":null,"purl":"pkg:github/binaricat/Netcatty","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binaricat%2FNetcatty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binaricat%2FNetcatty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binaricat%2FNetcatty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binaricat%2FNetcatty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/binaricat","download_url":"https://codeload.github.com/binaricat/Netcatty/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binaricat%2FNetcatty/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34243053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","electron-app","radix-ui","react","sftp-client","ssh","ssh-client","terminal","terminal-emulator","xterm"],"created_at":"2026-01-04T09:10:50.895Z","updated_at":"2026-06-12T12:00:55.403Z","avatar_url":"https://github.com/binaricat.png","language":"TypeScript","funding_links":["https://ko-fi.com/binaricat"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"public/icon.png\" alt=\"Netcatty\" width=\"128\" height=\"128\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eNetcatty\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eモダンな SSH クライアント、SFTP ブラウザ \u0026 ターミナルマネージャー\u003c/strong\u003e\u003cbr/\u003e\n  \u003ca href=\"https://netcatty.app\"\u003e\u003cstrong\u003enetcatty.app\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Electron、React、xterm.js で構築された機能豊富な SSH ワークスペース。\u003cbr/\u003e\n  分割ターミナル、Vault ビュー、SFTP ワークフロー、カスタムテーマ、キーワードハイライト — すべてが一つに。\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/binaricat/Netcatty/releases/latest\"\u003e\u003cimg alt=\"GitHub Release\" src=\"https://img.shields.io/github/v/release/binaricat/Netcatty?style=for-the-badge\u0026logo=github\u0026label=Release\"\u003e\u003c/a\u003e\n  \u0026nbsp;\n  \u003ca href=\"#\"\u003e\u003cimg alt=\"Platform\" src=\"https://img.shields.io/badge/Platform-macOS%20%7C%20Windows%20%7C%20Linux-blue?style=for-the-badge\u0026logo=electron\"\u003e\u003c/a\u003e\n  \u0026nbsp;\n  \u003ca href=\"LICENSE\"\u003e\u003cimg alt=\"License\" src=\"https://img.shields.io/badge/License-GPL--3.0-green?style=for-the-badge\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/binaricat/Netcatty/releases/latest\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/binaricat/Netcatty?style=for-the-badge\u0026logo=github\u0026label=最新版をダウンロード\u0026color=success\" alt=\"最新版をダウンロード\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://ko-fi.com/binaricat\"\u003e\n    \u003cimg src=\"https://cdn.ko-fi.com/cdn/kofi3.png?v=2\" width=\"150\" alt=\"Ko-fi でサポート\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"./README.md\"\u003eEnglish\u003c/a\u003e · \u003ca href=\"./README.zh-CN.md\"\u003e简体中文\u003c/a\u003e · \u003ca href=\"./README.ja-JP.md\"\u003e日本語\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n[![Netcatty メインインターフェース](screenshots/main-window-dark.png)](screenshots/main-window-dark.png)\n\n---\n\n# 目次 \u003c!-- omit in toc --\u003e\n\n- [Netcatty とは](#netcatty-とは)\n- [なぜ Netcatty](#なぜ-netcatty)\n- [機能](#機能)\n- [デモ](#デモ)\n- [スクリーンショット](#スクリーンショット)\n  - [メインウィンドウ](#メインウィンドウ)\n  - [Vault ビュー](#vault-ビュー)\n  - [分割ターミナル](#分割ターミナル)\n- [対応ディストリビューション](#対応ディストリビューション)\n- [はじめに](#はじめに)\n- [ビルドとパッケージ](#ビルドとパッケージ)\n- [技術スタック](#技術スタック)\n- [コントリビューション](#コントリビューション)\n- [コントリビューター](#コントリビューター)\n- [Star 履歴](#star-履歴)\n- [ライセンス](#ライセンス)\n\n---\n\n\u003ca name=\"netcatty-とは\"\u003e\u003c/a\u003e\n# Netcatty とは\n\n**Netcatty** は、複数のリモートサーバーを効率的に管理する必要がある開発者、システム管理者、DevOps エンジニア向けに設計された、モダンなクロスプラットフォーム SSH クライアントおよびターミナルマネージャーです。\n\n- **Netcatty は** PuTTY、Termius、SecureCRT、macOS Terminal.app の代替となる SSH 接続ツール\n- **Netcatty は** 強力な SFTP クライアント（ドラッグ＆ドロップ + 内蔵エディタ）\n- **Netcatty は** 分割ペイン、タブ、セッション管理を備えたターミナルワークスペース\n- **Netcatty は** シェルの代替ではありません — SSH/Telnet/Mosh やローカル/シリアル経由でシェルに接続します（環境により異なります）\n\n---\n\n\u003ca name=\"なぜ-netcatty\"\u003e\u003c/a\u003e\n# なぜ Netcatty\n\n複数サーバーを日常的に扱うなら、Netcatty は「スピード」と「流れ」を重視した作りになっています：\n\n- **ワークスペース中心** — 分割ペインで複数セッションを並行操作\n- **Vault の見やすさ** — グリッド/リスト/ツリーで状況に合わせて切り替え\n- **SFTP の作業感** — ドラッグ＆ドロップと内蔵エディタでサクッと編集\n\n---\n\n\u003ca name=\"機能\"\u003e\u003c/a\u003e\n# 機能\n\n### 🗂️ Vault\n- **複数ビュー** — グリッド / リスト / ツリー\n- **高速検索** — ホストやグループを素早く見つける\n\n### 🖥️ ターミナルワークスペース\n- **分割ペイン** — 水平・垂直分割でマルチタスク\n- **セッション管理** — 複数の接続を並行して扱う\n\n### 📁 SFTP + 内蔵エディタ\n- **ファイル作業** — ドラッグ＆ドロップでアップロード/ダウンロード\n- **その場で編集** — 内蔵エディタで小さな修正を素早く\n\n### 🎨 パーソナライズ\n- **カスタムテーマ** — UI の見た目を好みに調整\n- **キーワードハイライト** — ターミナル出力の強調表示ルールをカスタマイズ\n\n---\n\n\u003ca name=\"デモ\"\u003e\u003c/a\u003e\n# デモ\n\n動画で機能をさっと確認できます（素材は `screenshots/gifs/`）：\n\n### Vault ビュー：グリッド / リスト / ツリー\n状況に合わせて見え方を切り替え。グリッドで全体像、リストで密度、ツリーで階層を扱えます。\n\nhttps://github.com/user-attachments/assets/e2742987-3131-404d-bd4b-06423e5bfd99\n\n### 分割ターミナル + セッション管理\n複数セッションを分割ペインで並べて作業。関連タスクを横並びにしてコンテキストスイッチを減らします。\n\nhttps://github.com/user-attachments/assets/377d0c46-cc5a-4382-aa31-5acfd412ce62\n\n### SFTP：ドラッグ＆ドロップ + 内蔵エディタ\nドラッグ＆ドロップでファイルを移動し、内蔵エディタでそのまま編集できます。\n\nhttps://github.com/user-attachments/assets/c6e06af4-b0d5-461c-b0c7-9d6f655af6c7\n\n### ドラッグでアップロード\nファイルをそのままドロップしてアップロードを開始。ダイアログ操作を減らせます。\n\nhttps://github.com/user-attachments/assets/c8e0c4ff-f020-4e18-9b09-681ec97b003f\n\n### カスタムテーマ\nテーマを調整して自分の好みに合わせた見た目に。\n\nhttps://github.com/user-attachments/assets/77e2a693-4ef2-4823-8ca1-9bcbf14ed98b\n\n### キーワードハイライト\n重要な出力（エラー/警告/マーカーなど）を見つけやすくするために、ハイライトをカスタマイズできます。\n\nhttps://github.com/user-attachments/assets/e6516993-ad66-4594-8c28-57426082339b\n\n---\n\n\u003ca name=\"スクリーンショット\"\u003e\u003c/a\u003e\n# スクリーンショット\n\n\u003ca name=\"メインウィンドウ\"\u003e\u003c/a\u003e\n## メインウィンドウ\n\nメインウィンドウは、長時間の SSH 作業を前提に設計されています。セッション、ナビゲーション、主要ツールへ素早くアクセスできます。\n\n![メインウィンドウ（ダーク）](screenshots/main-window-dark.png)\n\n![メインウィンドウ（ライト）](screenshots/main-window-light.png)\n\n\u003ca name=\"vault-ビュー\"\u003e\u003c/a\u003e\n## Vault ビュー\n\n作業に合わせて見え方を切り替え：グリッドで全体像、リストでスキャン、ツリーで整理と階層ナビゲーション。\n\n![Vault グリッドビュー](screenshots/vault_grid_view.png)\n\n![Vault リストビュー](screenshots/vault_list_view.png)\n\n![Vault ツリービュー（ダーク）](screenshots/treeview-dark.png)\n\n![Vault ツリービュー（ライト）](screenshots/treeview-light.png)\n\n\u003ca name=\"分割ターミナル\"\u003e\u003c/a\u003e\n## 分割ターミナル\n\n分割ペインで複数のサーバー/タスクを同時に扱えます（例：デプロイ + ログ + 監視）。\n\n![分割ウィンドウ](screenshots/split-window.png)\n\n---\n\n\u003ca name=\"対応ディストリビューション\"\u003e\u003c/a\u003e\n# 対応ディストリビューション\n\nNetcatty は接続したホストの OS を検出し、ホスト一覧でアイコンとして表示します：\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"public/distro/ubuntu.svg\" width=\"48\" alt=\"Ubuntu\" title=\"Ubuntu\"\u003e\n  \u003cimg src=\"public/distro/debian.svg\" width=\"48\" alt=\"Debian\" title=\"Debian\"\u003e\n  \u003cimg src=\"public/distro/centos.svg\" width=\"48\" alt=\"CentOS\" title=\"CentOS\"\u003e\n  \u003cimg src=\"public/distro/fedora.svg\" width=\"48\" alt=\"Fedora\" title=\"Fedora\"\u003e\n  \u003cimg src=\"public/distro/arch.svg\" width=\"48\" alt=\"Arch Linux\" title=\"Arch Linux\"\u003e\n  \u003cimg src=\"public/distro/alpine.svg\" width=\"48\" alt=\"Alpine\" title=\"Alpine\"\u003e\n  \u003cimg src=\"public/distro/amazon.svg\" width=\"48\" alt=\"Amazon Linux\" title=\"Amazon Linux\"\u003e\n  \u003cimg src=\"public/distro/redhat.svg\" width=\"48\" alt=\"Red Hat\" title=\"Red Hat\"\u003e\n  \u003cimg src=\"public/distro/rocky.svg\" width=\"48\" alt=\"Rocky Linux\" title=\"Rocky Linux\"\u003e\n  \u003cimg src=\"public/distro/opensuse.svg\" width=\"48\" alt=\"openSUSE\" title=\"openSUSE\"\u003e\n  \u003cimg src=\"public/distro/oracle.svg\" width=\"48\" alt=\"Oracle Linux\" title=\"Oracle Linux\"\u003e\n  \u003cimg src=\"public/distro/kali.svg\" width=\"48\" alt=\"Kali Linux\" title=\"Kali Linux\"\u003e\n  \u003cimg src=\"public/distro/almalinux.svg\" width=\"48\" alt=\"AlmaLinux\" title=\"AlmaLinux\"\u003e\n\u003c/p\u003e\n\n---\n\n\u003ca name=\"はじめに\"\u003e\u003c/a\u003e\n# はじめに\n\n### ダウンロード\n\n[GitHub Releases](https://github.com/binaricat/Netcatty/releases/latest) からお使いのプラットフォームに対応した最新版をダウンロードしてください。\n\n| OS | サポート状況 |\n| :--- | :--- |\n| **macOS** | Universal (x64 / arm64) |\n| **Windows** | x64 / arm64 |\n| **Linux** | x64 / arm64 |\n\nまたは [GitHub Releases](https://github.com/binaricat/Netcatty/releases) ですべてのリリースを参照してください。\n\n\u003e **macOS ユーザーへ：** 現在のリリースはコード署名と notarization が行われている想定です。Gatekeeper の警告が出る場合は、GitHub Releases から最新版の公式ビルドを取得しているか確認してください。\n\n### 前提条件\n- Node.js 18+ と npm\n- macOS、Windows 10+、または Linux\n\n### 開発\n\n```bash\n# リポジトリをクローン\ngit clone https://github.com/binaricat/Netcatty.git\ncd Netcatty\n\n# 依存関係をインストール\nnpm install\n\n# 開発モードを起動（Vite + Electron）\nnpm run dev\n```\n\n### プロジェクト構造\n\n```\n├── App.tsx                 # メイン React アプリケーション\n├── components/             # React コンポーネント\n│   ├── Terminal.tsx        # ターミナルコンポーネント\n│   ├── SftpView.tsx        # SFTP ブラウザ\n│   ├── VaultView.tsx       # ホスト管理\n│   ├── KeyManager.tsx      # SSH キー管理\n│   └── ...\n├── application/            # 状態管理 \u0026 国際化\n├── domain/                 # ドメインモデル \u0026 ロジック\n├── infrastructure/         # サービス \u0026 アダプター\n├── electron/               # Electron メインプロセス\n│   ├── main.cjs            # メインエントリ\n│   └── bridges/            # IPC ブリッジ\n└── public/                 # 静的アセット \u0026 アイコン\n```\n\n---\n\n\u003ca name=\"ビルドとパッケージ\"\u003e\u003c/a\u003e\n# ビルドとパッケージ\n\n```bash\n# 本番用ビルド\nnpm run build\n\n# 現在のプラットフォーム用にパッケージ\nnpm run pack\n\n# 特定のプラットフォーム用にパッケージ\nnpm run pack:mac     # macOS (DMG + ZIP)\nnpm run pack:win     # Windows (NSIS インストーラー)\nnpm run pack:linux   # Linux (AppImage + DEB + RPM)\n```\n\n---\n\n\u003ca name=\"技術スタック\"\u003e\u003c/a\u003e\n# 技術スタック\n\n| カテゴリ | テクノロジー |\n|--------|------------|\n| フレームワーク | Electron 40 |\n| フロントエンド | React 19, TypeScript |\n| ビルドツール | Vite 7 |\n| ターミナル | xterm.js 5 |\n| スタイリング | Tailwind CSS 4 |\n| SSH/SFTP | ssh2, ssh2-sftp-client |\n| PTY | node-pty |\n| アイコン | Lucide React |\n\n---\n\n\u003ca name=\"コントリビューション\"\u003e\u003c/a\u003e\n# コントリビューション\n\nコントリビューションを歓迎します！お気軽に Pull Request を提出してください。\n\n1. リポジトリをフォーク\n2. フィーチャーブランチを作成 (`git checkout -b feature/amazing-feature`)\n3. 変更をコミット (`git commit -m 'Add some amazing feature'`)\n4. ブランチにプッシュ (`git push origin feature/amazing-feature`)\n5. Pull Request をオープン\n\nアーキテクチャの概要とコーディング規約については [agents.md](agents.md) を参照してください。\n\n---\n\n\u003ca name=\"コントリビューター\"\u003e\u003c/a\u003e\n# コントリビューター\n\n貢献してくださったすべての方に感謝します！\n\n\u003ca href=\"https://github.com/binaricat/Netcatty/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=binaricat/Netcatty\" /\u003e\n\u003c/a\u003e\n\n---\n\n\u003ca name=\"ライセンス\"\u003e\u003c/a\u003e\n# ライセンス\n\nこのプロジェクトは **GPL-3.0 ライセンス** の下でライセンスされています - 詳細は [LICENSE](LICENSE) ファイルをご覧ください。\n\n---\n\n\u003ca name=\"star-履歴\"\u003e\u003c/a\u003e\n# Star 履歴\n\n\u003ca href=\"https://star-history.com/#binaricat/Netcatty\u0026Date\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=binaricat/Netcatty\u0026type=Date\u0026theme=dark\" /\u003e\n   \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=binaricat/Netcatty\u0026type=Date\" /\u003e\n   \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=binaricat/Netcatty\u0026type=Date\" /\u003e\n \u003c/picture\u003e\n\u003c/a\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  ❤️ を込めて作成 by \u003ca href=\"https://ko-fi.com/binaricat\"\u003ebinaricat\u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinaricat%2Fnetcatty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbinaricat%2Fnetcatty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinaricat%2Fnetcatty/lists"}