name: proxy-server description: 代理服务器实现、配置和流量拦截的专家技能 allowed-tools:
- Bash
- Read
- Write
- Edit
- Glob
- Grep
代理服务器技能
代理服务器实现、配置和网络流量拦截的专家技能。
能力
- 代理配置:配置 Squid、mitmproxy、Charles 和 nginx 代理
- HTTP CONNECT 隧道:实现用于 HTTPS 隧道的 HTTP CONNECT
- SOCKS 协议:配置 SOCKS4/SOCKS5 代理服务器
- 透明代理:使用 iptables/nftables 实现透明代理
- 流量分析:分析代理流量并生成报告
- 调试:调试代理连接问题和 SSL/TLS 拦截
- PAC 文件生成:生成代理自动配置 (PAC) 文件
- 缓存:配置代理缓存策略
工具和依赖
Squid- 缓存代理服务器mitmproxy- 交互式 HTTPS 代理nginx- HTTP 和反向代理iptables/nftables- 用于透明代理的 Linux 防火墙Charles- HTTP 代理/监控器tinyproxy- 轻量级代理
目标流程
- http-proxy-server.js
- socks5-proxy.js
- transparent-proxy.js
使用示例
Squid HTTP 代理配置
http_port 3128
acl localnet src 10.0.0.0/8
http_access allow localnet
cache_dir ufs /var/spool/squid 10000 16 256
使用 iptables 的透明代理
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 3129
mitmproxy 拦截
mitmproxy -p 8080 --mode transparent
mitmdump -w traffic.flow
PAC 文件示例
function FindProxyForURL(url, host) {
if (isPlainHostName(host)) return "DIRECT";
if (dnsDomainIs(host, ".internal.com")) return "DIRECT";
return "PROXY proxy.example.com:8080";
}
质量门禁
- 代理功能已验证
- SSL/TLS 拦截正常工作
- 透明模式可运行
- 缓存效率已验证
- 访问控制已测试