Files
BaiLongma/scripts/start-lan.ps1

42 lines
1.1 KiB
PowerShell

param(
[ValidateSet('app', 'backend')]
[string]$Mode = 'app'
)
$ErrorActionPreference = 'Stop'
$env:BAILONGMA_HOST = '0.0.0.0'
$env:BAILONGMA_ALLOW_LAN = '1'
function Test-PrivateLanAddress {
param([string]$Address)
$parts = $Address.Split('.') | ForEach-Object { [int]$_ }
return $parts[0] -eq 10 -or
($parts[0] -eq 172 -and $parts[1] -ge 16 -and $parts[1] -le 31) -or
($parts[0] -eq 192 -and $parts[1] -eq 168)
}
$addresses = Get-NetIPAddress -AddressFamily IPv4 |
Where-Object {
$_.PrefixOrigin -ne 'WellKnown' -and
(Test-PrivateLanAddress $_.IPAddress)
} |
Select-Object -ExpandProperty IPAddress -Unique
Write-Host ''
Write-Host 'Bailongma LAN mode is enabled.'
Write-Host 'Open one of these URLs on another device connected to the same network:'
foreach ($address in $addresses) {
Write-Host " http://$address`:3721/"
}
Write-Host ''
Write-Host 'If the page does not open, allow Node/Electron through Windows Firewall for private networks.'
Write-Host ''
if ($Mode -eq 'backend') {
node --env-file=.env src/index.js
} else {
electron .
}