EENE Dashboard upload to Gitea
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,4 +1,49 @@
|
||||
$ip = Get-NetIPAddress -AddressFamily IPv4 -ErrorAction SilentlyContinue |
|
||||
Where-Object { $_.IPAddress -match '^(172\.|192\.168\.|10\.)' } |
|
||||
# 실제 LAN IP (Docker/Hyper-V 172.17.x 등 가상 어댑터 제외)
|
||||
param(
|
||||
[string]$PreferredPrefix = '172.16.'
|
||||
)
|
||||
|
||||
$override = $env:EENE_LAN_IP
|
||||
if ($override) {
|
||||
Write-Output $override.Trim()
|
||||
exit 0
|
||||
}
|
||||
|
||||
function Test-PhysicalAdapter {
|
||||
param([int]$IfIndex)
|
||||
$adapter = Get-NetAdapter -InterfaceIndex $IfIndex -ErrorAction SilentlyContinue
|
||||
if (-not $adapter -or $adapter.Status -ne 'Up') { return $false }
|
||||
$desc = $adapter.InterfaceDescription
|
||||
if ($desc -match 'Virtual|Hyper-V|Docker|WSL|vEthernet|VMware|Loopback|TAP|TUN|VPN') { return $false }
|
||||
return $true
|
||||
}
|
||||
|
||||
$candidates = Get-NetIPAddress -AddressFamily IPv4 -ErrorAction SilentlyContinue |
|
||||
Where-Object {
|
||||
$_.IPAddress -match '^(172\.(1[6-9]|2[0-9]|3[01])\.|192\.168\.|10\.)' -and
|
||||
$_.IPAddress -notmatch '^169\.254\.' -and
|
||||
$_.IPAddress -notmatch '^172\.17\.' -and
|
||||
(Test-PhysicalAdapter -IfIndex $_.InterfaceIndex)
|
||||
}
|
||||
|
||||
if (-not $candidates) {
|
||||
$candidates = Get-NetIPAddress -AddressFamily IPv4 -ErrorAction SilentlyContinue |
|
||||
Where-Object {
|
||||
$_.IPAddress -match '^(172\.|192\.168\.|10\.)' -and
|
||||
$_.IPAddress -notmatch '^169\.254\.' -and
|
||||
$_.IPAddress -notmatch '^172\.17\.'
|
||||
}
|
||||
}
|
||||
|
||||
$ip = $candidates |
|
||||
Sort-Object @{
|
||||
Expression = {
|
||||
if ($_.IPAddress -like "$PreferredPrefix*") { 0 }
|
||||
elseif ($_.IPAddress -match '^192\.168\.') { 1 }
|
||||
elseif ($_.IPAddress -match '^10\.') { 2 }
|
||||
else { 3 }
|
||||
}
|
||||
}, @{ Expression = { $_.PrefixLength } } |
|
||||
Select-Object -First 1 -ExpandProperty IPAddress
|
||||
|
||||
if ($ip) { Write-Output $ip }
|
||||
|
||||
Reference in New Issue
Block a user