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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
mkdev — 信頼された localhost HTTPS — ローカル CA、/etc/hosts、mDNS LAN 共有、リバースプロキシ。https://name.local → localhost:port にマッピングします。 | Kitploit
ツール/GitHubGitHub/venkatkrishna07/mkdev
暗号化/復号化ツールリバースエンジニアリングウェブセキュリティネットワークセキュリティユーティリティとフレームワークDNS分析
GitHubvenkatkrishna07/mkdev

mkdev

信頼された localhost HTTPS — ローカル CA、/etc/hosts、mDNS LAN 共有、リバースプロキシ。https://name.local → localhost:port にマッピングします。

リポジトリを見る
140142ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

mkdev

ローカル開発向けの本物のHTTPS — TUIとLAN共有付き。

ci release license


mkdev は *.local 上で信頼されたHTTPSを実行します。単一のGoバイナリ: 認証局 + リバースプロキシ + /etc/hosts + mDNSブロードキャスト + フルTUI。

他との違い:

  • LAN共有 ルートを共有に設定すると、同じWi-Fi上のスマホや任意のデバイスから https://app.local にアクセスできます。
  • CLIだけでなくTUI。 ライブルートテーブル、リクエストログ、証明書検査、ヘルスドクターを搭載。引数なしの mkdev でTUIが起動します。
  • 強化された特権境界。 sudoヘルパーバイナリに対して、昇格呼び出しの前に所有者・書き込み可能性・シンボリックリンクのチェックを行います (internal/safeexec)。PATHベースのシャドウイングもグループ書き込み可能なショートカットもありません。
  • SNIごとの証明書発行。 リーフ証明書は要求に応じて発行され、明示的な knownHost 許可リストによって制御されます。ワイルドカードでも事前生成でもありません。

できること

root@kitploit:~
mkdev install                    # CA + trust + daemon service + menu bar autostart
mkdev add myapp localhost:3000   # routes https://myapp.local → localhost:3000
curl https://myapp.local         # 200 from your local app

install はワンショットです: CAを生成し、システムストアで信頼し、デーモンのユーザーサービス (launchd / systemd) をインストール・有効化し、ログイン時にメニューバーが起動するよう登録し、GUIセッションが存在する場合は即座にバーを起動します。デーモンがプロキシを所有し、TUI (mkdev 引数なし) と mkdev add | remove | list は ~/.mkdev/daemon.sock 経由でデーモンと通信します。

mkdev demo

LAN共有

mkdevの目玉機能。同じWi-Fi上の任意のデバイスと、警告なし・トンネルサービスなしの本物のTLSでルートを共有します。

  1. TUIのDomainsタブでルートを選択し、s を押して SHARE 列を LAN に切り替えます。
  2. ルートはmDNSで <name>.local → このマシンのLAN IPとしてアドバタイズされます。
  3. スマホ / 2台目のラップトップで https://<name>.local にアクセスします。デバイスがmkdev CAを信頼すれば (初回のみ)、警告は表示されません。

注意点

  • mDNSでブロードキャストされるのは .local ルートのみです。他のTLDもプロキシはされますが、名前ではLANから到達できません。
  • 企業・クラウドWi-Fiはマルチキャストをブロックすることがよくあります。自宅やオフィスのWi-Fiでは動作します。
  • s の切り替えはライブ反映です — mDNSアドバタイズとLAN側ACLは次のリクエストで更新されます。再起動は不要です。
  • 共有されていないルートへの非ループバックリクエストは、多層防御として403を返します。
  • LAN上の誰でも共有ルートにアクセスできます。信頼できないWi-Fiでは有効にしないでください。

インストール

Homebrew (macOS、Linux)

root@kitploit:~
brew install venkatkrishna07/tap/mkdev

後でアップグレードする場合:

root@kitploit:~
brew update
brew upgrade mkdev

Go

root@kitploit:~
go install github.com/venkatkrishna07/mkdev/cmd/mkdev@latest

特定のバージョンにアップグレードする場合:

root@kitploit:~
go install github.com/venkatkrishna07/mkdev/cmd/[email protected]

直接ダウンロード

macOS (Intel + Apple Silicon)、Linux (amd64 + arm64)、Windows (amd64) 向けのビルド済みバイナリは Releases ページ で公開されています。各リリースには checksums.txt に加えてcosignのキーレス署名 (checksums.txt.sig + .pem) が含まれます — 検証コマンドは SECURITY.md#verifying-releases を参照してください。

macOSで、Gatekeeperが直接ダウンロードしたバイナリをブロックする場合:

root@kitploit:~
xattr -d com.apple.quarantine ./mkdev

ソースから

root@kitploit:~
git clone https://github.com/venkatkrishna07/mkdev.git
cd mkdev
task build
cp bin/mkdev ~/bin/        # or /usr/local/bin

Go 1.25+ が必要です。

初回実行

root@kitploit:~
mkdev install   # CA, trust, daemon service, bar autostart — one command
mkdev           # launch TUI

install 実行後、デーモンはバックグラウンドで動作し、メニューバーが表示されます (macOS、Linux GNOME/KDE、Windows)。バーにはデーモンのステータス、ルート一覧、ルートごとの有効 / LAN共有トグルが表示されます。Quit はデーモンを停止せずにバーのみを終了します。

メニューバー

バーは常時表示のUIです。システムトレイに常駐し、~/.mkdev/daemon.sock 経由でデーモンと通信します。ログイン時に起動します (install が自動起動を登録)。mkdev bar でフォアグラウンドでも実行できます。

表示内容:

  • ステータスドット — 緑=稼働中、赤=停止、黄=確認中、グレー=オフ。デーモンの健全性を反映します。
  • ヘッダー — mkdev v0.4.0 + デーモンPID + 稼働時間 + リッスン中のプロキシポート。
  • ルート — ストア内のすべてのルートを上から順に表示。各エントリは name.tld → target に加えて、接尾辞バッジ ( · disabled、 · LAN) を表示します。

操作 (ルートをクリック):

  • ブラウザで開く — システムのデフォルトハンドラで https://name.tld を開きます。
  • URLをコピー — プロキシURLをクリップボードにコピーします (pbcopy / wl-copy / xclip / clip.exe)。
  • 有効 / 無効 — ルートの Enabled フラグを切り替えます。無効にしたルートはストアに残りますが、プロキシされなくなります。
  • LANで共有 — mDNSアドバタイズとLAN側ACLを切り替えます。

バーレベルの操作:

  • デーモンを停止 — 最初に DisableUnit を呼び出して launchd / systemd の KeepAlive が即座に再起動しないようにしてから、ソケット経由でシャットダウンを送信します。
  • 終了 — バーのプロセスのみを終了します。デーモンとプロキシは動作し続けます。

注意:

  • バーのインスタンスは2つ同時には実行できません (PIDファイルロック。2つ目は即座に終了します)。
  • デーモンが再起動すると、バーは自動的に再接続します。手動で更新しなくてもステータスドットが更新されます。
  • 監視対象のデーモンをクリーンに停止できるのは、バー (と mkdev daemon stop) だけです — デーモンプロセスを直接killすると、launchd / systemd によって再起動されます。

アップグレード

バイナリを置き換えます (brew upgrade / go install ...@latest / 新しいダウンロード)。次に mkdev サブコマンドを実行すると、バイナリは自身の外部にある部分を調整します: デーモンのplist / systemdユニットとバーの自動起動エントリを新しいバイナリを指すように書き換え、有効なルートの /etc/hosts を再適用し、CAが削除されていれば再信頼します。sudoプロンプトはインラインで実行されます。CLIに触れずデーモンだけが実行されている場合、デーモンは起動時に安全な (sudo不要の) 部分を自分で処理し、残りは次のCLIコマンドまでキューに入れます。

mkdev install を再実行すると同じことが明示的に行われ、常に安全です — すべてのステップは冪等です。

プラットフォームサポート

検出されるLinuxディストリビューション: Debian/Ubuntu (/usr/local/share/ca-certificates)、RHEL/Fedora (/etc/pki/ca-trust/source/anchors)、Arch (/etc/ca-certificates/trust-source/anchors)、openSUSE (/usr/share/pki/trust/anchors)。

Firefoxは独自のNSSストアを使用するため、まだ未対応です — システムのChrome/Safari/Edge/curl/wgetはすべて動作します。

コマンド

フラグと環境変数

ターゲット形式

<target> は以下のいずれかを受け付けます:

root@kitploit:~
host:port                  e.g. localhost:3000
http://host[:port]/path    e.g. http://localhost:3000/api
https://host[:port]/path   e.g. https://gitlab.example.com

HTTPSアップストリーム (例: 企業VPN上のプライベートGitLab) の場合、アップストリームのTLS証明書はシステムのトラストストアに対して検証できる必要があります。プライベートCAのルートはOSのキーチェーンに追加する必要があります。

hosts-helper は直接呼び出されることを想定していません。add / remove は、特権が必要な /etc/hosts 書き込みを実行するために、同じバイナリを sudo で再呼び出しします。

設定

TLDに関する注意。 .local ルートにはmDNSレスポンダーが必要です (macOSでは常時稼働、Linuxでは nss-mdns がインストールされている場合に利用可能)。.test / .dev / .localhost は /etc/hosts だけでどこでも動作します。設定の tld をこれに合わせてください。

設定は ~/.mkdev/config.toml にあります。デフォルト:

root@kitploit:~
tld           = ".local"   # appended to bare names in `add`
proxy_port    = 443        # binding :443 requires sudo on serve
theme         = "auto"     # reserved for future TUI
log_retention = "7d"       # reserved
log_max_size  = "100MB"    # reserved

--home <path> または MKDEV_HOME=... で設定ディレクトリを上書きできます。

仕組み

  • ECDSA P-256 ルートCAを ~/.mkdev/ca/ に生成します。秘密鍵のモードは 0o400 です。
  • CAをOSネイティブのトラストストアにインストールします: macOSキーチェーン (security)、LinuxのCAバンドルディレクトリ + update-ca-*、Windowsの crypt32.dll による ROOT ストア。トラストストア統合は mkcert (BSD-3) から翻案しています — LICENSE-MKCERT を参照してください。
  • add 実行時、デーモンはルートを bbolt KVの ~/.mkdev/state.db に書き込み、sudo で呼び出されるヘルパーサブコマンド経由で 127.0.0.1 <name>.<tld> の行を /etc/hosts に追加します。
  • デーモンは 0.0.0.0:<proxy_port> でTLSをリッスンし、ルートCAを使用してし、設定されたアップストリームへリバースプロキシします。

セキュリティ

このツールはプライベートCAをシステムのトラストストアにインストールします。~/.mkdev/ca/rootCA-key.pem への読み取りアクセスがあれば、あなたのマシンが信頼するTLS証明書を発行できます。鍵は 0o400 (所有者のみ読み取り) で作成されます。

  • プロキシは 0.0.0.0 にバインドしますが、接続元ACLが、共有 と明示的にマークされていないルートへのLANリクエストを403にします。ループバックは常に許可されます。
  • テレメトリなし。リモート呼び出しなし。更新チェックなし。
  • add / remove は /etc/hosts を変更するために sudo を呼び出します。脅威モデルと、os.Executable() で解決されるヘルパーパスに関する既知の制限については SECURITY.md を参照してください。

アンインストール

root@kitploit:~
mkdev uninstall   # stops + disables daemon, untrusts CA, clears /etc/hosts,
                  # removes daemon service + bar autostart, wipes ~/.mkdev/

何かが動かなくなった場合は、キーチェーンアクセス.app を開き、mkdev を検索して手動で削除してください。その後 grep mkdev /etc/hosts を実行し、残りを掃除してください。

デーモンとAPI

デーモンはプロキシとルートストアを所有します。~/.mkdev/daemon.sock (所有者のみ 0600) でローカルHTTP APIを公開します。TUI、CLIサブコマンド、メニューバーはすべてデーモンのクライアントです — bboltロックを保持するのはデーモンだけです。

mkdev install はデーモンをユーザーサービス (macOSではlaunchd LaunchAgent、Linuxではsystemd --user) としてインストールし、有効化します。デーモンはバックグラウンドで動作し、ログアウト / ログイン後も存続します。

root@kitploit:~
mkdev daemon status                # installed / enabled / running
mkdev daemon stop                  # stop + disable (prevents respawn)
curl --unix-socket ~/.mkdev/daemon.sock http://x/v1/status
curl --unix-socket ~/.mkdev/daemon.sock http://x/v1/routes
curl --unix-socket ~/.mkdev/daemon.sock -X POST http://x/v1/routes \
     -H 'Content-Type: application/json' \
     -d '{"name":"foo","target":"localhost:3000"}'
curl --unix-socket ~/.mkdev/daemon.sock -X DELETE http://x/v1/routes/foo

ロードマップ

次の予定:

  • Firefox / NSSトラストストアの統合。
  • パスごとのルーティング (単一ドメインで /api → 8080、/ws → 9000)。

トラブルシューティング

  • Firefoxに赤いバーが表示される。 Firefoxは独自のNSSストアを使用するため、システムの信頼は届きません。NSS統合はロードマップに含まれています。今のところは、~/.mkdev/ca/rootCA.pem を手動でインポートしてください: 設定 → プライバシーとセキュリティ → 証明書 → 証明書を表示 → 認証局 → インポート。
  • デーモンが :443 にバインドできない。 macOS/Linuxでは、launchd / systemdのケーパビリティにより非rootユーザーサービスが :443 にバインドできます。ディストリビューションがこれを制限している場合は、~/.mkdev/config.toml で proxy_port = 8443 を設定し、https://name.local:8443 を使用してください。
  • mkdev add が何度もsudoを要求する。 sudoのセッションキャッシュは期限切れになります (デフォルト5分)。代わりにTUIのDomainsタブを使用してください — osascript (macOSのGUIプロンプト) または pkexec (LinuxのPolkit) で権限昇格します。
  • /etc/hosts にその名前のエントリがすでにある。 mkdev add は冪等で、mkdev 管理のエントリが存在しない場合にのみ追加します。以前のエントリを手動で削除するか、別の名前を使用してください。

コントリビューション

CONTRIBUTING.md を参照してください。

謝辞

mkdevのトラストストア統合 — macOSのキーチェーン / security、LinuxのCAバンドル + update-ca-*、Windowsの crypt32.dll ROOT ストア、およびNSS関連パス — は、Filippo Valsorda による mkcert (BSD-3) から翻案されています。この先行技術がなければ、このプロジェクトはかなり困難だったでしょう。アップストリームのライセンスについては LICENSE-MKCERT を参照してください。

TUIは Charmbracelet's Bubble Tea / Bubbles / Lipgloss で構築されています。mDNSは hashicorp/mdns。ローカルKVは bbolt。

ライセンス

MIT LICENSE.

ツールをダウンロード
プラットフォームトラストストア権限昇格
macOSシステムキーチェーン (security add-trusted-cert)sudo / osascript
Linuxupdate-ca-trust / update-ca-certificates / trust extract-compatsudo / pkexec
WindowsROOT システムストア (crypt32.dll 経由)UAC (PowerShell RunAs)
コマンド用途
installワンショット: CA + 信頼 + デーモンサービス + バーの自動起動。CAのみの場合は --no-service を指定します。
add <name> <target>ルートを追加します。/etc/hosts に 127.0.0.1 エントリを追加します。
remove <name>ルートとその /etc/hosts エントリを削除します。
listストア内のルートを一覧表示します。
tuiTUIを起動します (引数なしで実行した場合のデフォルトでもあります)。
daemon serveデーモンをフォアグラウンドで実行します (通常はサービスユニットから駆動されます)。
daemon stop実行中のデーモンを停止し、ユーザーサービスを無効化します。
daemon statusサービスのインストール済み / 有効 / 実行中状態を報告します。
barメニューバーアプリを起動します。install によって自動起動されます。
uninstallCAの信頼を解除し、/etc/hosts エントリを削除し、デーモン + バーの自動起動をアンインストールし、~/.mkdev/ を消去します。
versionバージョン、コミット、ビルド日を表示します。
completion <bash|zsh|fish|powershell>シェル補完スクリプトを出力します。
hosts-helper隠しコマンド。sudo 経由で呼び出され、/etc/hosts をアトミックに変更します。
フラグ / 環境変数効果
--home <path>~/.mkdev 状態ディレクトリを上書きします。
--verbose, -vstderrにデバッグレベルのログを出力します。
--versionバージョンを表示して終了します。
MKDEV_HOME=<path>--home と同等です。
フィールドデフォルト備考
tld.localadd <name> にドットがない場合に自動的に追加されます。
proxy_port443ユーザーサービスが :443 にバインドできないプラットフォームでは 8443 に設定します。
themeauto今後のTUI用に予約されています。
log_retention7d予約済み。
log_max_size100MB予約済み。
SNIごとにリーフ証明書をオンデマンドで発行
  • プロキシのルートテーブルは、add / remove のたびにプロセス内でリロードされます。再起動は不要です。
  • プロキシは 0.0.0.0 にバインドしますが、一致するルートが 共有 とマークされていない限り、非ループバックリクエストは403になります — LAN共有 を参照してください。
  • クロスホストのアップストリームリダイレクト (例: 公開ホスト名に301を返すGitLab) では、Location と Set-Cookie Domain がプロキシドメインに書き換えられ、クライアントが資格情報を失わないようにします。