实用脚本工具集

提供开发环境搭建、网络诊断、代理管理、PDF处理、缓存清理等日常开发辅助功能的实用脚本集。

  • by switchdriven
  • Ruby
  • 本地部署
  • 更新于
在 GitHub 查看 switchdriven/util-scripts

使用说明

util-scripts

各種ヘルパースクリプトやツールを含むユーティリティスクリプト集です。

主な機能

🌟 setup-env.rb(推奨)

統合開発環境セットアップスクリプト。Python、Ruby、None(direnv/MCP のみ)に対応し、言語を自動検出します。

./setup-env.rb --help

check-python-env.sh

指定ディレクトリ以下の Python 仮想環境を検索・確認するツール。

./check-python-env.sh --help

llm-evaluator.py

OpenAI 互換 API の LLM トークン生成速度を評価するベンチマークツール。

./llm-evaluator.py --help

net-port.rb

macOS のネットワークポート情報を取得するスクリプト。AppleScript からの呼び出しに最適化。

./net-port.rb --help

詳しくは NET-PORT.md を参照。

music-ctrl.rb

macOS の音楽制御サービス(com.apple.rcd)を管理するユーティリティ。

./music-ctrl.rb --help

get-ssid.sh

現在接続している Wi-Fi の SSID を取得するスクリプト。

./get-ssid.sh

注:

  • net-port.rb でも SSID 取得機能があります。
  • ショートカット「GetSSID」経由で取得するため、実行中にクリップボードの内容が上書きされます。

run-code.sh

Proxifier の起動状態を検出して VS Code を起動するラッパースクリプト。

./run-code.sh --wrapper-help

Proxifier 起動中は自動的にプロキシ環境変数を無効化し、二重プロキシによる接続エラーを防ぎます。

run-claude.sh

Proxifier の起動状態を検出して Claude Code を起動するラッパースクリプト。

./run-claude.sh --wrapper-help

Proxifier 起動中は自動的にプロキシ環境変数を無効化し、二重プロキシによる接続エラーを防ぎます。

proxy-env.rb

macOS のシステムプロキシ(自動プロキシ設定)を参照・変更するツール。

./proxy-env.rb --help

check-network.rb

社内ネットワークの総合診断ツール。Wi-Fi SSID・インターフェース状態・L3疎通(ARP)・DNS・Proxy・Web到達性をまとめてチェックする。

./check-network.rb --help

詳しくは OFFICE-NETWORK-ISSUE.md を参照。

check-proxy.rb

プロキシサーバー経由の HTTP 接続を確認するツール。ISP 情報の取得、社内 Proxy 東西(proxy-w / proxy-e)の個別チェックにも対応。

./check-proxy.rb --help

check-fxz.rb

FXZ VPN 接続時にローカルネットワーク宛のルーティングが VPN トンネルにリダイレクトされる問題を検出・修正するスクリプト。

./check-fxz.rb --help

詳しくは FXZ-ISSUE.md を参照。

check-squid.rb

Squid プロキシの設定ファイル(シンボリックリンク)を切り替え、サービスの再起動・再設定を行うツール。

./check-squid.rb --help

check-mdns.rb

mDNS / Bonjour の状態を確認するツール。名前解決・DNS キャッシュ統計・サービス一覧・ヘルスチェック・キャッシュフラッシュに対応。

./check-mdns.rb --help

mdig.sh

.local ホスト名を mDNS マルチキャスト(224.0.0.251:5353)で直接解決するシンプルなツール。

./mdig.sh <hostname>

show-ip.rb

macOS のネットワークインターフェースの IP アドレス・MACアドレス・フラグ等を表示するツール。

./show-ip.rb --help

show-port.rb

lsof を使って現在開いているネットワーク接続・ポートを表示するツール。

./show-port.rb --help

show-services.rb

macOS の networksetup コマンドからネットワークサービス名とデバイス名の対応表を取得するツール。自動プロキシ設定の確認にも対応。

./show-services.rb --help

check-sign.sh

pyHanko を使って PDF ファイルのデジタル署名(信頼チェーン・失効・改ざん検証)を検証し、証明書チェーンの詳細を日本語で表示するスクリプト。

./check-sign.sh --help

pdf-shrink.py

PDF内の埋め込み画像を再圧縮・ダウンサンプリングしてファイルサイズを縮小するスクリプト。テキストやベクター部分はラスタライズせず維持します。

./pdf-shrink.py --help

uv-maint.rb

uv 管理の Python 仮想環境のパッケージをメンテナンスするツール。古いパッケージの確認・更新、依存関係チェック、孤立パッケージの検出ができます。対象の仮想環境は $VIRTUAL_ENV を自動参照します(-p で明示指定も可能)。

./uv-maint.rb --help

uv-tool-maint.rb

uv tool install でインストールしたツールの更新確認・アップグレードを行うツール。PyPI API で最新バージョンを確認し、全ツール一括・個別指定・対話選択でアップグレードできます。

./uv-tool-maint.rb --help

archive-folder.sh

任意のディレクトリを日付付き tar.gz アーカイブでバックアップするスクリプト。

./archive-folder.sh --help

mcp-keychain-setting.sh

1Password から MCP サーバー用 API トークンを取得して macOS Keychain に登録するスクリプト。

./mcp-keychain-setting.sh

mcp-obsidian.sh

Keychain から Obsidian API キーを取得し、Local REST API 内蔵 MCP サーバーに mcp-remote 経由で接続するラッパースクリプト。

./mcp-obsidian.sh

mcp-tavily.sh

Keychain から Tavily API キーを取得して Tavily MCP サーバーを起動するラッパースクリプト。

./mcp-tavily.sh

set-mailto-app.sh

mailto: URL のデフォルトメールアプリを切り替えるスクリプト。mail / spark のエイリアスに加え、任意のバンドルIDも指定可能。

./set-mailto-app.sh --help

chrome-profiles.rb

Chrome / Edge などの Chromium 系ブラウザのプロファイル名とフォルダ名を一覧表示する。--launch でプロファイルを指定して起動も可能。

./chrome-profiles.rb --help

clear-app-cache.rb

~/Library/Application Support 以下でフォルダ名に「cache」を含むディレクトリ(Chrome/Edge/Zed などの再生成可能なキャッシュ)、Homebrew のダウンロードキャッシュ(brew cleanup経由)、uv のパッケージキャッシュ(uv cache clean経由)を検出・削除するツール。デフォルトはドライラン、--execute で削除(実行前に確認あり)。iPhoneバックアップ(MobileSync)は常に対象外。各セクションは --skip-app-support / --skip-homebrew / --skip-uv で個別に無効化可能。uv キャッシュは他プロセス(Claude Desktop の MCP サーバーなど)がロックを保持していると lsof で検出し、PID・起動元アプリを表示した上で削除をスキップする。

./clear-app-cache.rb --help

check-dotfile-links.rb

Claude Code / Claude Desktop の設定ファイルについて、~/Documents/Dotfiles との symlink 運用が壊れていないかチェックし、壊れていれば修復するツール。デフォルトはドライラン、--execute で修復(内容が一致する場合のみ自動修復、異なる場合は警告して停止)。

./check-dotfile-links.rb --help

update-all.sh

Homebrew・npm(グローバル)・uv(グローバル仮想環境)・uv tool(グローバルツール)・App Store・Claude Code の更新有無を確認し、対話的にアップデートする一括スクリプト。~(ホームディレクトリ)で実行することを想定しており、~/Scripts/.venv のグローバル仮想環境を対象にする。なお uv(グローバル仮想環境)はこのリポジトリのスクリプトが直接依存するため、自動アップグレードは行わず確認表示のみとしている。Apple Container(brew 版)は Homebrew のアップグレードで更新されるため、ここでは起動中の場合のみ再起動して新しいバージョンを反映する。

./update-all.sh

必須ツール

Ruby環境(setup-ruby-env.rb使用時)

  • Ruby 3.0+: スクリプト実行環境
    # macOS (Homebrew)
    brew install ruby@3.3
    
  • Bundler: Ruby依存関係管理ツール
    gem install bundler
    
  • direnv: 環境変数の自動読み込みツール
    brew install direnv
    # シェル設定に追加
    eval "$(direnv hook bash)"  # または zsh
    

Python環境(setup-python-env.rb使用時)

  • uv: Python仮想環境管理ツール
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  • direnv: 環境変数の自動読み込みツール
    brew install direnv
    # シェル設定に追加
    eval "$(direnv hook bash)"  # または zsh
    

オプション

  • 1Password CLI (MCPを使う場合):
    brew install 1password-cli
    
  • Claude Code: MCP機能を使う場合に必要

ドキュメント

ライセンス

個人利用のためのユーティリティスクリプト集です。