mirror of
https://github.com/nezhahq/nezha.git
synced 2025-01-23 13:18:13 -05:00
53eb4ce8ba
tls spport for Windows installer
66 lines
2.8 KiB
PowerShell
66 lines
2.8 KiB
PowerShell
#Get server and key
|
|
param($server, $key, $tls)
|
|
# Download latest release from github
|
|
$repo = "naiba/nezha"
|
|
# x86 or x64
|
|
if ([System.Environment]::Is64BitOperatingSystem) {
|
|
$file = "nezha-agent_windows_amd64.zip"
|
|
}
|
|
else {
|
|
$file = "nezha-agent_windows_386.zip"
|
|
}
|
|
$releases = "https://api.github.com/repos/$repo/releases"
|
|
#重复运行自动更新
|
|
if (Test-Path "C:\nezha") {
|
|
Write-Host "Nezha monitoring already exists, delete and reinstall" -BackgroundColor DarkGreen -ForegroundColor White
|
|
C:/nezha/nssm.exe stop nezha
|
|
C:/nezha/nssm.exe remove nezha
|
|
Remove-Item "C:\nezha" -Recurse
|
|
}
|
|
#TLS/SSL
|
|
Write-Host "Determining latest nezha release" -BackgroundColor DarkGreen -ForegroundColor White
|
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
|
$tag = (Invoke-WebRequest -Uri $releases -UseBasicParsing | ConvertFrom-Json)[0].tag_name
|
|
#Region判断
|
|
$ipapi= Invoke-RestMethod -Uri "https://api.myip.com/" -UserAgent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1"
|
|
$region=$ipapi.cc
|
|
echo $ipapi
|
|
if($region -ne "CN"){
|
|
$download = "https://github.com/$repo/releases/download/$tag/$file"
|
|
Write-Host "Overseas machine("$region") direct connection!" -BackgroundColor DarkRed -ForegroundColor Green
|
|
echo $download
|
|
}elseif($region -eq $null){
|
|
cls
|
|
$download = "https://ghproxy.com/github.com/$repo/releases/download/$tag/$file"
|
|
Write-Host "Error,Most of the time, it is caused by the domestic network environment,use ghproxy.com" -BackgroundColor DarkRed -ForegroundColor Green
|
|
echo $download
|
|
}else{
|
|
$download = "https://ghproxy.com/github.com/$repo/releases/download/$tag/$file"
|
|
Write-Host "China's servers will be downloaded using the image address" -BackgroundColor DarkRed -ForegroundColor Green
|
|
echo $download
|
|
}
|
|
Invoke-WebRequest $download -OutFile "C:\nezha.zip"
|
|
#使用nssm安装服务
|
|
Invoke-WebRequest "http://nssm.cc/release/nssm-2.24.zip" -OutFile "C:\nssm.zip"
|
|
#解压
|
|
Expand-Archive "C:\nezha.zip" -DestinationPath "C:\temp" -Force
|
|
Expand-Archive "C:\nssm.zip" -DestinationPath "C:\temp" -Force
|
|
if (!(Test-Path "C:\nezha")) { New-Item -Path "C:\nezha" -type directory }
|
|
#整理文件
|
|
Move-Item -Path "C:\temp\nezha-agent.exe" -Destination "C:\nezha\nezha-agent.exe"
|
|
if ($file = "nezha-agent_windows_amd64.zip") {
|
|
Move-Item -Path "C:\temp\nssm-2.24\win64\nssm.exe" -Destination "C:\nezha\nssm.exe"
|
|
}
|
|
else {
|
|
Move-Item -Path "C:\temp\nssm-2.24\win32\nssm.exe" -Destination "C:\nezha\nssm.exe"
|
|
}
|
|
#清理垃圾
|
|
Remove-Item "C:\nezha.zip"
|
|
Remove-Item "C:\nssm.zip"
|
|
Remove-Item "C:\temp" -Recurse
|
|
#安装部分
|
|
C:\nezha\nssm.exe install nezha C:\nezha\nezha-agent.exe -s $server -p $key $tls -d
|
|
C:\nezha\nssm.exe start nezha
|
|
#enjoy
|
|
Write-Host "Enjoy It!" -BackgroundColor DarkGreen -ForegroundColor Red
|