diff --git a/test/auth b/test/auth index e69de29..30d74d2 100644 --- a/test/auth +++ b/test/auth @@ -0,0 +1 @@ +test \ No newline at end of file diff --git a/test/client.exe b/test/client.exe index 76fd987..d81dfdb 100644 Binary files a/test/client.exe and b/test/client.exe differ diff --git a/test/mining.linux.conf b/test/mining.linux.conf index f2347db..5acae20 100644 --- a/test/mining.linux.conf +++ b/test/mining.linux.conf @@ -2,11 +2,25 @@ [bzminer] # path=/path/bzminer [lolminer] -# path=/home/a11/桌面/lolminer/1.98 +# path=/path/lolminer [rigel] # path=/path/rigel #如果您的网络无法直接连通各个矿池,需要使用各大矿池专用网咯,请打开proxy的注释 #打开此注释后会使用各大矿池的专用网络,每笔订单额外增加1%的网络费用 [proxy] -# proxy=true \ No newline at end of file +# proxy=true + +#持续挖矿开关,即在矿机没有租约期间是否自行挖矿 +#开启此选项启动客户端后,客户端会自动根据下面配置开启挖矿任务,直到云算力平台有人租赁本台GPU主机 +#当该租约结束后,本台GPU主机会自动切回下方配置的挖矿任务 +[sustain] +#enabled=true +#algo="算法" +#coin="币种" +#miner="挖矿软件名,此处使用的挖矿软件要使用上方已经配置路径的挖矿软件名,即bzminer/lolminer/rigel,只能填一个,自行选择" +#pool_url="挖矿地址" +#wallet="挖矿钱包" +#worker_id="矿工号" +#pool_user="挖矿账号名,f2pool/m2pool等不支持钱包挖矿的矿池需配置,其余支持钱包挖矿的矿池无需配置" +#wallet_mining=true #pool_user打开时同时打开本配置 \ No newline at end of file diff --git a/test/mining.windows.conf b/test/mining.windows.conf index c2ca0a9..f3d3d83 100644 --- a/test/mining.windows.conf +++ b/test/mining.windows.conf @@ -10,4 +10,18 @@ #如果您的网络无法直接连通各个矿池,需要使用各大矿池专用网咯,请打开proxy的注释 #打开此注释后会使用各大矿池的专用网络,每笔订单额外增加1%的网络费用 [proxy] -# proxy=true \ No newline at end of file +# proxy=true + +#持续挖矿开关,即在矿机没有租约期间是否自行挖矿 +#开启此选项启动客户端后,客户端会自动根据下面配置开启挖矿任务,直到云算力平台有人租赁本台GPU主机 +#当该租约结束后,本台GPU主机会自动切回下方配置的挖矿任务 +[sustain] +#enabled=true +#algo="算法" +#coin="币种" +#miner="挖矿软件名,此处使用的挖矿软件要使用上方已经配置路径的挖矿软件名,即bzminer/lolminer/rigel,只能填一个,自行选择" +#pool_url="挖矿地址" +#wallet="挖矿钱包" +#worker_id="矿工号" +#pool_user="挖矿账号名,f2pool/m2pool等不支持钱包挖矿的矿池需配置,其余支持钱包挖矿的矿池无需配置" +#wallet_mining=true #pool_user打开时同时打开本配置 \ No newline at end of file diff --git a/test/test.go b/test/test.go index bace199..dde4c02 100644 --- a/test/test.go +++ b/test/test.go @@ -1,52 +1,38 @@ -// package main - -// import ( -// "log" -// "time" - -// message "client/internal/msg" -// "client/internal/src/linux" -// ) - -// func main() { -// auth := "lzx" -// l := linux.NewLinuxClient(auth) -// go func() { -// gpus, err := l.GetGPUInfo() -// if err != nil { -// log.Fatalf("获取GPU信息失败:%v", err) -// return -// } -// log.Println(gpus) -// }() -// now_ts := time.Now().Unix() -// cfg := message.ConfigurationMiningMsg{ -// Coin: "NEXA", -// Algo: "NexaPow", -// Pool: "m2pool", -// PoolUrl: "47.108.221.51:3333", -// WalletAddress: "m2test", -// PoolUser: "m2test", -// WorkerID: "go", -// EndTimestamp: uint64(now_ts + 600), -// } -// if err := l.Mining(cfg); err != nil { -// log.Fatalf("配置挖矿失败: %v", err) -// } - -// endTime := time.Unix(int64(cfg.EndTimestamp), 0) -// waitDuration := time.Until(endTime) -// if waitDuration < 0 { -// waitDuration = 0 -// } -// // 等待挖矿任务自然结束,额外多等 5 秒确保清理完成 -// time.Sleep(waitDuration + 5*time.Second) -// } - package main -import client "client/internal" +import ( + client "client/internal" + "client/internal/updater" + "log" + "os" + "os/signal" + "syscall" +) + +const VERSION string = "version advanced" +const PROXY_URL string = "47.108.221.51:23456" // 服务地址 +const REMOTE_UPDATE_URL = "http://127.0.0.1:23333/update" // 远程更新服务器地址 func main() { - client.Star() + // 启动前检查更新 + log.Println("检查更新...") + needRestart, err := updater.CheckAndUpdate(REMOTE_UPDATE_URL, VERSION) + if err != nil { + log.Printf("更新检查失败,继续运行当前版本:%v", err) + } else if needRestart { + log.Println("更新完成!请重启程序以使用新版本。") + os.Exit(0) + } + + // 在单独的 goroutine 中启动客户端逻辑 + go client.Star(PROXY_URL) + + // 监听系统信号,实现优雅退出 + sigCh := make(chan os.Signal, 1) + signal.Notify(sigCh, os.Interrupt, syscall.SIGTERM) + + sig := <-sigCh + log.Printf("收到退出信号: %v,客户端准备退出...", sig) + // 停止客户端(包括持续挖矿) + client.StopClient() }