2025-08-06 09:16:17 +00:00
|
|
|
|
# 代理项目
|
|
|
|
|
|
|
|
|
|
Go语言编写的矿工代理服务,支持矿工连接代理并动态切换矿池地址。
|
|
|
|
|
|
|
|
|
|
## 功能
|
|
|
|
|
|
|
|
|
|
- 矿工连接代理服务
|
|
|
|
|
- 默认代理到指定矿池地址
|
|
|
|
|
- 通过RabbitMQ消息动态切换矿池
|
|
|
|
|
- 支持多种加密货币
|
|
|
|
|
|
|
|
|
|
## 快速开始
|
|
|
|
|
|
|
|
|
|
### 环境要求
|
|
|
|
|
- Go 1.23.1+
|
|
|
|
|
|
|
|
|
|
### 编译运行
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# 编译代理程序
|
|
|
|
|
go build -o proxy.exe cmd/proxy.go
|
|
|
|
|
|
|
|
|
|
# 运行代理程序
|
|
|
|
|
./proxy.exe
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 配置文件
|
|
|
|
|
|
|
|
|
|
创建 `config.json`:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"coin": "your_coin",
|
|
|
|
|
"zmqAddr": "amqp://localhost:5672",
|
|
|
|
|
"tcpAddr": ":3333",
|
|
|
|
|
"proxyAddr": "pool.example.com:3333",
|
|
|
|
|
"rabbitTopic": "proxy_queue"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 项目结构
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
├── cmd/proxy.go # 代理程序入口
|
|
|
|
|
├── internal/
|
|
|
|
|
│ ├── miner/miner.go # 矿工连接管理
|
|
|
|
|
│ ├── msg/msg.go # 消息结构
|
|
|
|
|
│ ├── proxy.go # 代理服务核心
|
|
|
|
|
│ └── zmq/zmq.go # RabbitMQ处理
|
|
|
|
|
└── go.mod # 依赖管理
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 使用说明
|
|
|
|
|
|
|
|
|
|
- **proxy.exe**: 矿工代理服务 (监听TCP连接)
|
|
|
|
|
|
|
|
|
|
## 工作流程
|
|
|
|
|
|
|
|
|
|
1. 矿工连接代理服务
|
|
|
|
|
2. 代理使用默认矿池地址
|
|
|
|
|
3. 收到RabbitMQ消息可切换矿池
|
|
|
|
|
4. 持续转发矿工和矿池消息
|