mcpField
P
proxychains

proxychains

github.com/2025emmaクラウド・DevOps23.1k155 回インストール45 週間前に更新
リポジトリ

proxychains について

proxychainsは、接続失敗やアクセス制限時にproxychains4経由でコマンドを再試行するClaude向けスキルです。一般的なコマンド、デフォルトプロキシ、トラブルシューティングを扱います。

主な機能

  1. 01ネットワークエラー時のプロキシ再試行
  2. 02Git、pip、npm、curlコマンドへの対応
  3. 03デフォルトプロキシ127.0.0.1:9910
  4. 04設定方法と接続上の制限の説明

活用シーン

  1. 01GitHubリソースへのアクセス失敗時の再試行
  2. 02pipやnpmのタイムアウト時のプロキシ経由実行
  3. 03proxychains4の接続失敗の調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/2025emma/vibe-coding-cn --skill proxychains

インストール後、Claude Code で/proxychainsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
index.md
proxychains.conf
quick-reference.md
setup-guide.md
troubleshooting.md
scripts/
setup-proxy.sh

詳細

Proxychains ネットワークプロキシスキル

プロキシを自動的に使用してネットワークの問題を解決します - ネットワーク接続の失敗、タイムアウト、アクセス制限が発生した場合、proxychains4 を自動的に使用してプロキシ経由で接続します。

このスキルを使用するタイミング

トリガー条件(自動適用):

  • ❌ 接続タイムアウトエラー
  • ❌ DNS 解決の失敗
  • ❌ 「Connection refused」エラー
  • ❌ HTTP 403/451 によるアクセスブロック
  • ❌ GitHub/PyPI/npm などの海外リソースへのアクセス失敗
  • ❌ curl/wget/git/pip などのコマンドの失敗

Claude が行うこと:

  1. ネットワークエラーを検出した後、コマンドの前に proxychains4 を自動的に追加します
  2. デフォルトのプロキシ設定 http://127.0.0.1:9910 を使用します
  3. プロキシが失敗した場合、ユーザーにプロキシサービスの状態を確認するよう促します

クイックリファレンス

基本的な使用パターン
# ❌ 原命令失败
curl https://github.com/user/repo

# ✅ 使用代理重试
proxychains4 curl https://github.com/user/repo
よくあるケースでの自動適用

ケース 1: Git 操作の失敗

# 原命令
git clone https://github.com/user/repo.git

# 自动改为
proxychains4 git clone https://github.com/user/repo.git

ケース 2: Python pip のインストール失敗

# 原命令
pip install requests

# 自动改为
proxychains4 pip install requests

ケース 3: npm/yarn のインストール失敗

# 原命令
npm install package-name

# 自动改为
proxychains4 npm install package-name

ケース 4: wget/curl によるダウンロードの失敗

# 原命令
wget https://example.com/file.tar.gz

# 自动改为
proxychains4 wget https://example.com/file.tar.gz

ケース 5: Docker イメージのプル失敗

# 原命令
docker pull image:tag

# 自动改为
proxychains4 docker pull image:tag

ケース 6: SSH 接続の失敗

# 原命令
ssh user@remote-host

# 自动改为
proxychains4 ssh user@remote-host

設定の詳細

デフォルトのプロキシ設定

ローカルプロキシアドレス: http://127.0.0.1:9910

設定ファイルの場所:

  • ~/.proxychains/proxychains.conf(推奨)
  • /etc/proxychains.conf(システム全体)
クイック設定スクリプト

ユーザーレベルの設定を作成します(127.0.0.1:9910 を自動的に使用):

mkdir -p ~/.proxychains
cat > ~/.proxychains/proxychains.conf << 'EOF'
# Proxychains configuration
strict_chain
proxy_dns
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000

[ProxyList]
http 127.0.0.1 9910
EOF
環境変数を使用する方法(一時的な使用)
# 设置代理环境变量
export PROXYCHAINS_SOCKS5_HOST=127.0.0.1
export PROXYCHAINS_SOCKS5_PORT=9910

# 使用
proxychains4 curl https://github.com

仕組み

Proxychains は LD_PRELOAD の仕組みを使って、プログラムのネットワーク呼び出しをインターセプトします:

  1. システムコールのインターセプト:socket 関連の libc 関数をフックします
  2. 接続のリダイレクト:すべての TCP 接続をプロキシサーバーにリダイレクトします
  3. DNS プロキシ:プロキシサーバー経由でドメイン名を解決します
  4. 透過プロキシ:アプリケーションを変更する必要はありません

重要な制限事項:

  • 動的リンクされたプログラムのみ対応しています(静的リンクされたプログラムは非対応です)
  • TCP 接続のみ対応しています(UDP は非対応です)
  • 特殊なネットワークライブラリを使用するプログラムの一部は、互換性がない場合があります

Claude の自動化ルール

ルール 1: ネットワークエラー発生時の自動再試行
IF 命令返回网络相关错误(timeout, connection refused, DNS failure)
THEN 自动使用 proxychains4 重试该命令
ルール 2: 接続が遅いことがわかっているソースではプロキシを強制使用
IF 访问以下域名/服务:
  - github.com
  - raw.githubusercontent.com
  - pypi.org
  - npmjs.org
  - registry.npmjs.org
  - docker.io
  - gcr.io
THEN 直接使用 proxychains4(不等待失败)
ルール 3: 失敗時の通知
IF proxychains4 命令也失败
THEN 提示用户:
  1. 检查代理服务是否运行(127.0.0.1:9910)
  2. 检查 proxychains 配置文件
  3. 尝试其他代理地址

トラブルシューティング

プロキシサービスの状態を確認する
# 测试代理是否可用
curl -x http://127.0.0.1:9910 https://www.google.com

# 检查端口是否监听
netstat -tunlp | grep 9910
# 或
ss -tunlp | grep 9910
proxychains の設定を検証する
# 测试配置是否正确
proxychains4 curl https://ipinfo.io/json
# 应该显示代理服务器的 IP,而不是本机 IP
よくあるエラーへの対処

エラー 1: 「proxychains: command not found」

# 安装 proxychains4
sudo apt install proxychains4  # Debian/Ubuntu
sudo yum install proxychains-ng  # CentOS/RHEL

エラー 2: 「timeout」

# 检查代理地址配置是否正确
cat ~/.proxychains/proxychains.conf | grep -A 2 "\[ProxyList\]"

# 修改超时时间(在配置文件中)
tcp_connect_time_out 15000
tcp_read_time_out 30000

エラー 3: 「can't read configuration file」

# 创建配置文件
mkdir -p ~/.proxychains
cp /etc/proxychains.conf ~/.proxychains/proxychains.conf
# 然后编辑配置

高度な使い方

複数のプロキシチェーン
# ~/.proxychains/proxychains.conf
strict_chain  # 按顺序使用所有代理

[ProxyList]
http 127.0.0.1 9910
socks5 127.0.0.1 1080
動的プロキシチェーン
dynamic_chain  # 自动跳过死代理

[ProxyList]
http 127.0.0.1 9910
http 127.0.0.1 8080
socks5 127.0.0.1 1080
ランダムプロキシチェーン
random_chain
chain_len = 2  # 随机选择 2 个代理

[ProxyList]
http 127.0.0.1 9910
socks5 127.0.0.1 1080
socks5 127.0.0.1 1081
カスタム DNS サーバー
# 使用自定义 DNS 通过代理解析
export PROXY_DNS_SERVER=8.8.8.8
proxychains4 curl https://example.com

参考リソース

  • 公式リポジトリ: https://github.com/haad/proxychains
  • 設定ファイル: references/proxychains.conf(完全な例)
  • トラブルシューティング: references/troubleshooting.md
  • コマンドクイックリファレンス: references/quick-reference.md

まとめ

次の原則を覚えておきましょう:

  1. ❌ ネットワークエラーが発生した場合 → ✅ proxychains4 を自動的に追加します
  2. 🌐 海外リソースにアクセスする場合 → ✅ 積極的に proxychains4 を使用します
  3. 🔧 プロキシも失敗した場合 → ✅ ユーザーにプロキシサービスの状態を確認するよう促します

デフォルトのプロキシ: http://127.0.0.1:9910


このスキルを使うと、Claude はネットワークの問題が発生した際にプロキシを自動的に使用するため、ユーザーが手動で対応する必要はありません!

コメント