Add firewall script for managing inbound rules; support for domain profiles and interface aliases
This commit is contained in:
+37
@@ -36,6 +36,43 @@ powershell -NoProfile -ExecutionPolicy Bypass -File "$env:LOCALAPPDATA\Programs\
|
||||
Правила брандмауэра установщик не меняет. Для подключения из домашней сети
|
||||
потребуется разрешённый доступ к TCP-порту агента и UDP 5353 в частной сети.
|
||||
|
||||
## Брандмауэр
|
||||
|
||||
Установленный `Firewall.ps1` создаёт два входящих правила для конкретного exe:
|
||||
TCP 8765 (HTTPS/WSS) и UDP 5353 (mDNS). Только профиль Private и адреса
|
||||
LocalSubnet; Edge Traversal запрещён. Профили сети и чужие правила не меняются.
|
||||
По умолчанию в доменной или публичной сети эти правила не разрешат подключение.
|
||||
Если домашний Ethernet имеет доменный профиль, можно явно передать
|
||||
`-Profile Domain -InterfaceAlias Ethernet`. Для Domain обязательно точное имя
|
||||
интерфейса; маски и `Any` запрещены. Адреса остаются ограничены LocalSubnet.
|
||||
Профиль Public не поддерживается. Повторное применение заменяет профиль и
|
||||
интерфейс собственных правил для этого exe, а не добавляет ещё одну пару правил.
|
||||
|
||||
Просмотр без изменений:
|
||||
|
||||
```powershell
|
||||
& "$env:LOCALAPPDATA\Programs\MusicBridge\Firewall.ps1" -Action Preview
|
||||
```
|
||||
|
||||
Применение из PowerShell администратора:
|
||||
|
||||
```powershell
|
||||
& "$env:LOCALAPPDATA\Programs\MusicBridge\Firewall.ps1" -Action Apply
|
||||
```
|
||||
|
||||
Для нестандартной установки указать абсолютный `-ProgramPath` к exe;
|
||||
для другого порта — `-Port`. `-Action Apply -WhatIf` показывает план без изменений.
|
||||
Повторное применение обновляет собственные правила этого пути, включая порт.
|
||||
Скрипт не сужает доступ, который уже разрешён другими правилами Windows.
|
||||
Перед удалением приложения можно удалить его правила из PowerShell администратора:
|
||||
|
||||
```powershell
|
||||
& "$env:LOCALAPPDATA\Programs\MusicBridge\Firewall.ps1" -Action Remove
|
||||
```
|
||||
|
||||
Удаление правил выполняется отдельно: установщик и деинсталлятор не запрашивают
|
||||
административные права. Для нестандартной установки передать тот же `-ProgramPath`.
|
||||
|
||||
## Для разработчика
|
||||
|
||||
Собрать пакет: `powershell -NoProfile -File Packaging/Publish.ps1`.
|
||||
|
||||
Reference in New Issue
Block a user