Files
mining-client/cmd/main.go

39 lines
1.0 KiB
Go
Raw Normal View History

2025-11-26 11:39:20 +08:00
package main
2025-12-01 15:45:05 +08:00
import (
client "client/internal"
"client/internal/updater"
"log"
"os"
"os/signal"
"syscall"
)
const VERSION string = "version advanced"
2025-12-05 13:59:39 +08:00
const PROXY_URL string = "18.183.240.108:2345" // 服务地址
const REMOTE_UPDATE_URL = "https://test.m2pool.com/api/lease" // 远程更新服务器地址
2025-11-26 11:39:20 +08:00
func main() {
2025-12-01 15:45:05 +08:00
// 启动前检查更新
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()
2025-11-26 11:39:20 +08:00
}