# Linux代理程序使用指南

## 方案1：goproxy (推荐)

### 快速安装
```bash
# 下载并安装
wget https://github.com/snail007/goproxy/releases/download/v13.3/proxy-linux-amd64.tar.gz
tar -xzf proxy-linux-amd64.tar.gz
sudo mv proxy /usr/local/bin/
sudo chmod +x /usr/local/bin/proxy
```

### 基础使用
```bash
# 启动代理服务
proxy http -t tcp -p "0.0.0.0:80" --forever

# 带内容替换的代理
proxy http -t tcp -p "0.0.0.0:80" --forever \
  --replace "andys-dandy-site-4c8fd6.webflow.io" "pog.cxhy.cn"
```

### 后台运行
```bash
# 使用nohup
nohup proxy http -t tcp -p "0.0.0.0:80" --forever > proxy.log 2>&1 &

# 使用screen
screen -S proxy
proxy http -t tcp -p "0.0.0.0:80" --forever
# Ctrl+A+D 退出screen
```

## 方案2：mitmproxy

### 安装
```bash
wget https://snapshots.mitmproxy.org/9.0.1/mitmproxy-9.0.1-linux.tar.gz
tar -xzf mitmproxy-9.0.1-linux.tar.gz
sudo mv mitmproxy /usr/local/bin/
```

### 使用
```bash
# 基础代理
mitmproxy -p 8080

# 透明代理
mitmproxy --mode transparent -p 8080
```

## 方案3：使用Docker (最简单)

### 创建docker-compose.yml
```yaml
version: '3'
services:
  proxy:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    restart: always
```

### 创建nginx.conf
```nginx
events {
    worker_connections 1024;
}

http {
    upstream backend {
        server andys-dandy-site-4c8fd6.webflow.io:443;
    }

    server {
        listen 80;
        server_name pog.cxhy.cn;

        location / {
            proxy_pass https://backend;
            proxy_set_header Host andys-dandy-site-4c8fd6.webflow.io;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            
            sub_filter 'andys-dandy-site-4c8fd6.webflow.io' 'pog.cxhy.cn';
            sub_filter_once off;
        }
    }
}
```

### 启动
```bash
docker-compose up -d
```

## 方案4：一键安装脚本

### 使用自动安装脚本
```bash
# 下载脚本
wget https://raw.githubusercontent.com/your-repo/setup_proxy.sh
chmod +x setup_proxy.sh
sudo ./setup_proxy.sh
```

## 常见问题解决

### 1. 端口被占用
```bash
# 查看端口占用
netstat -tlnp | grep :80

# 杀死占用进程
sudo kill -9 <PID>
```

### 2. 权限问题
```bash
# 给执行权限
sudo chmod +x /usr/local/bin/proxy

# 检查防火墙
sudo ufw status
sudo ufw allow 80
```

### 3. 服务无法启动
```bash
# 查看日志
sudo journalctl -u goproxy -f

# 手动测试
proxy http -t tcp -p "0.0.0.0:80" --forever
```

## 监控和管理

### 查看服务状态
```bash
# 检查进程
ps aux | grep proxy

# 查看端口
netstat -tlnp | grep :80

# 查看日志
tail -f proxy.log
```

### 停止服务
```bash
# 停止goproxy
sudo systemctl stop goproxy

# 或者杀死进程
pkill -f proxy
```

## 性能优化

### 1. 添加缓存
```bash
proxy http -t tcp -p "0.0.0.0:80" --forever --cache
```

### 2. 限制连接数
```bash
proxy http -t tcp -p "0.0.0.0:80" --forever --max-conn 1000
```

### 3. 启用压缩
```bash
proxy http -t tcp -p "0.0.0.0:80" --forever --gzip
```

## 安全建议

1. **使用非root用户运行**
2. **配置防火墙规则**
3. **定期更新程序版本**
4. **监控访问日志**
5. **备份配置文件**

## 故障排除

### 检查网络连接
```bash
# 测试目标网站
curl -I https://andys-dandy-site-4c8fd6.webflow.io

# 测试代理
curl -I http://pog.cxhy.cn
```

### 查看详细日志
```bash
# 启用调试模式
proxy http -t tcp -p "0.0.0.0:80" --forever --debug
``` 