代理链MCP服务器
  
MCP服务器 证明技术 (proxychains4)-通过SSH将命令通过代理链路由到远程Linux主机(例如Kali Linux)。
概述
此MCP服务器提供了动态管理和使用代理链配置的工具。它通过SSH在安装了proxychains4的远程主机上执行命令,允许AI助手通过代理链路由网络流量,以进行隐私、安全测试或访问受地理限制的资源。
特性
| 工具 | 说明 |
|---|---|
proxychains_run | 通过配置的代理链执行命令 |
proxychains_config | 获取、设置或重置完整配置 |
proxychains_add | 向链中添加代理(SOCKS4、SOCKS5、HTTP、RAW) |
proxychains_remove | 按索引或主机端口删除代理 |
proxychains_mode | 设置链模式(严格、动态、随机、round_robin) |
proxychains_dns | 配置DNS处理模式 |
proxychains_test | 测试代理链连接和延迟 |
proxychains_list | 列出所有已配置的代理 |
proxychains_import | 从文件或URL导入代理 |
proxychains_export | 以各种格式导出配置 |
安装
先决条件
- Node.js 18+
- SSH访问安装了proxychains4的Linux主机
- SSH主机应在中配置
~/.ssh/config或可通过主机名访问
设置
# Clone the repository
git clone https://github.com/schwarztim/sec-proxychains-mcp.git
cd sec-proxychains-mcp
# Install dependencies
npm install
# Build
npm run buildMCP配置
添加到您的Claude Desktop或MCP客户端配置中:
{
"mcpServers": {
"proxychains": {
"command": "node",
"args": ["/path/to/sec-proxychains-mcp/dist/index.js"],
"env": {
"PROXYCHAINS_KALI_HOST": "kali",
"PROXYCHAINS_SSH_TIMEOUT": "30000"
}
}
}
}配置
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
PROXYCHAINS_KALI_HOST | kali | 远程主机的SSH主机名 |
PROXYCHAINS_SSH_TIMEOUT | 30000 | SSH命令超时(毫秒) |
PROXYCHAINS_CONFIG_DIR | ~/.proxychains-mcp | 本地配置存储目录 |
链式模式
| 模式 | 描述 |
|---|---|
strict_chain | 所有代理必须工作,并按指定顺序使用 |
dynamic_chain | 跳过死代理,至少有一个必须工作 |
random_chain | 为每个连接随机选择代理 |
round_robin_chain | 按顺序旋转代理 |
代理类型
| 类型 | 描述 |
|---|---|
socks5 | SOCKS5代理(推荐) |
socks4 | SOCKS4代理 |
http | HTTP CONNECT代理 |
raw | 原始TCP转发 |
DNS模式
| 模式 | 描述 |
|---|---|
proxy_dns | 通过代理路由DNS(推荐,防止泄漏) |
proxy_dns_old | 使用proxyresolv的传统模式 |
proxy_dns_daemon | 基于守护进程的DNS解析 |
none | 无DNS代理(可能泄漏DNS查询) |
使用示例
基本设置
// Add a SOCKS5 proxy (e.g., Tor)
proxychains_add({ type: "socks5", host: "127.0.0.1", port: 9050 })
// Add an authenticated HTTP proxy
proxychains_add({
type: "http",
host: "proxy.example.com",
port: 8080,
user: "admin",
pass: "secret"
})
// Set dynamic chain mode (skip dead proxies)
proxychains_mode({ mode: "dynamic_chain" })测试链条
// Test connectivity
proxychains_test({ verbose: true })
// Test against specific target
proxychains_test({ target: "https://api.ipify.org" })运行命令
// Check your proxied IP
proxychains_run({ command: "curl https://httpbin.org/ip" })
// Run nmap through proxies
proxychains_run({ command: "nmap -sT -Pn target.com" })
// Custom timeout for long operations
proxychains_run({ command: "wget https://example.com/large-file", timeout: 120000 })导入代理
// Import from URL
proxychains_import({
source: "https://raw.githubusercontent.com/example/proxies/main/list.txt",
defaultType: "socks5"
})
// Import from file on remote host
proxychains_import({ source: "/tmp/proxies.txt" })导出配置
// Export as proxychains.conf format
proxychains_export({ format: "proxychains" })
// Export as JSON
proxychains_export({ format: "json" })
// Export as simple ip:port list
proxychains_export({ format: "ip:port" })远程主机设置
远程主机(例如Kali Linux)需要安装proxychains4:
# Debian/Ubuntu/Kali
sudo apt update
sudo apt install proxychains4 curl
# Verify installation
proxychains4 --version确保SSH访问在没有密码提示的情况下正常工作:
# Test SSH connection
ssh kali "echo 'Connection successful'"安全考虑
- SSH密钥:使用SSH密钥身份验证而不是密码
- DNS泄漏:使用
proxy_dns防止DNS泄漏的模式 - 代理信任:仅使用受信任的代理;流量对代理操作员可见
- 认证:代理凭据存储在本地
~/.proxychains-mcp/config.json
建筑
┌─────────────────┐ SSH ┌─────────────────┐ Proxies ┌─────────────┐
│ MCP Client │─────────────▶│ Remote Host │────────────────▶│ Target │
│ (Claude, etc) │ │ (Kali Linux) │ │ │
└─────────────────┘ │ proxychains4 │ └─────────────┘
└─────────────────┘贡献
欢迎投稿!请随时提交拉取请求。
- 克隆该仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
