Brave Software › Brave
Maximal number of concurrent connections per proxy server for WebSocket requests
Supported on Microsoft Windows 7 or later
What it does
Setting the policy specifies the maximal number of simultaneous connections per proxy server for WebSocket requests. To modify non-WebSocket request limits, see MaxConnectionsPerProxy. Leaving the policy unset means a default of 128 is used. Some web apps are known to consume many connections with hanging GETs, so setting a value below 128 may lead to browser networking hangs if there are too many web apps with hanging connections open. Some proxy servers can't handle a high number of concurrent connections per client, which is solved by setting this policy to a lower value. The value should be equal to or higher than 6. Setting a value below that limit will cause 6 to be used. Lower below the default (128) at your own risk. The value should be equal to or lower than 256. Setting a value above that limit will cause 256 to be used. Raise above the default (128) at your own risk. Please note that the enforced limits are impacted by AllowSocketPoolSizeRandomizationForProxies.
What it writes
- Hive
- HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
- Registry key
Software\Policies\BraveSoftware\Brave
Options
| Option | Type | Registry value | Allowed values |
|---|---|---|---|
| Maximal number of concurrent connections per proxy server for WebSocket requests | Number | MaxConnectionsPerProxyForWebSocket |
6 to 256 |
Configure and deploy
Choose a state and the option values; the output below is generated from the template for exactly that.
Enabled · Computer · template defaults
Registry file (.reg)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Policies\BraveSoftware\Brave]
"MaxConnectionsPerProxyForWebSocket"=dword:00000006
PowerShell
$ErrorActionPreference = 'Stop'
function Set-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name,
[Parameter(Mandatory = $true)][string] $PropertyType,
[Parameter(Mandatory = $true)][object] $Value
)
if (-not (Test-Path -LiteralPath $Path)) {
New-Item -Path $Path -Force | Out-Null
}
New-ItemProperty -LiteralPath $Path -Name $Name -PropertyType $PropertyType -Value $Value -Force | Out-Null
}
function Remove-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name
)
if (Test-Path -LiteralPath $Path) {
Remove-ItemProperty -LiteralPath $Path -Name $Name -Force -ErrorAction SilentlyContinue
}
}
function Clear-RegistryKeyValues {
param(
[Parameter(Mandatory = $true)][string] $Path
)
if (-not (Test-Path -LiteralPath $Path)) {
return
}
foreach ($propertyName in (Get-Item -LiteralPath $Path).Property) {
Remove-ItemProperty -LiteralPath $Path -Name $propertyName -Force -ErrorAction SilentlyContinue
}
}
# Policy: Maximal number of concurrent connections per proxy server for WebSocket requests
# Name: MaxConnectionsPerProxyForWebSocket
# Scope: Machine
# State: Enabled
# Source: brave.admx
Set-RegistryValue -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\BraveSoftware\Brave' -Name 'MaxConnectionsPerProxyForWebSocket' -PropertyType 'DWord' -Value 6
- The OMA-URI is an inferred ADMX-backed Policy CSP candidate derived from the source ADMX file name and policy name.
- Some Microsoft policies use built-in Policy CSP pages whose area names don't match the ADMX file name, so verify the candidate against Microsoft Learn before deployment.
- Option values are the template defaults, or sample values chosen from each option's type where the template has none; set your own values before deploying.
ADMX profile candidate (OMA-URI)
./Device/Vendor/MSFT/Policy/Config/ADMX_brave/MaxConnectionsPerProxyForWebSocketADMX SyncML candidate
<SyncML xmlns="SYNCML:SYNCML1.2">
<SyncBody>
<Replace>
<CmdID>1</CmdID>
<Item>
<Meta>
<Format>chr</Format>
<Type>text/plain</Type>
</Meta>
<Target>
<LocURI>./Device/Vendor/MSFT/Policy/Config/ADMX_brave/MaxConnectionsPerProxyForWebSocket</LocURI>
</Target>
<Data><enabled/>
<data id="MaxConnectionsPerProxyForWebSocket" value="6"/></Data>
</Item>
</Replace>
<Final/>
</SyncBody>
</SyncML>Intune remediation scripts
Detection
$ErrorActionPreference = 'Stop'
$reasons = [System.Collections.Generic.List[string]]::new()
function Test-RegistryValueExists {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name
)
if (-not (Test-Path -LiteralPath $Path)) {
return $false
}
return $null -ne (Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction SilentlyContinue)
}
function Test-RegistryValueEquals {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name,
[Parameter(Mandatory = $true)][string] $Kind,
[Parameter(Mandatory = $true)][object] $Expected
)
if (-not (Test-Path -LiteralPath $Path)) {
return $false
}
$valueObject = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction SilentlyContinue
if ($null -eq $valueObject) {
return $false
}
$actual = $valueObject.$Name
switch ($Kind) {
'String' { return [string]$actual -ceq [string]$Expected }
'ExpandString' { return [string]$actual -ceq [string]$Expected }
'DWord' { return [uint32]$actual -eq [uint32]$Expected }
'QWord' { return [uint64]$actual -eq [uint64]$Expected }
'MultiString' {
$actualArray = @($actual)
$expectedArray = @($Expected)
if ($actualArray.Count -ne $expectedArray.Count) { return $false }
for ($index = 0; $index -lt $actualArray.Count; $index++) {
if ([string]$actualArray[$index] -cne [string]$expectedArray[$index]) { return $false }
}
return $true
}
'Binary' {
$actualArray = [byte[]]$actual
$expectedArray = [byte[]]$Expected
if ($actualArray.Length -ne $expectedArray.Length) { return $false }
for ($index = 0; $index -lt $actualArray.Length; $index++) {
if ($actualArray[$index] -ne $expectedArray[$index]) { return $false }
}
return $true
}
default { return [string]$actual -ceq [string]$Expected }
}
}
# Policy: Maximal number of concurrent connections per proxy server for WebSocket requests
# Name: MaxConnectionsPerProxyForWebSocket
# Scope: Machine
# State: Enabled
# Source: brave.admx
$isMatch = Test-RegistryValueEquals -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\BraveSoftware\Brave' -Name 'MaxConnectionsPerProxyForWebSocket' -Kind 'DWord' -Expected 6
if (-not $isMatch) {
$reasons.Add('Value mismatch: HKEY_LOCAL_MACHINE\Software\Policies\BraveSoftware\Brave\MaxConnectionsPerProxyForWebSocket') | Out-Null
}
if ($reasons.Count -eq 0) {
Write-Output 'Compliant'
exit 0
}
$reasons | ForEach-Object { Write-Output $_ }
exit 1
Remediation
$ErrorActionPreference = 'Stop'
function Set-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name,
[Parameter(Mandatory = $true)][string] $PropertyType,
[Parameter(Mandatory = $true)][object] $Value
)
if (-not (Test-Path -LiteralPath $Path)) {
New-Item -Path $Path -Force | Out-Null
}
New-ItemProperty -LiteralPath $Path -Name $Name -PropertyType $PropertyType -Value $Value -Force | Out-Null
}
function Remove-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name
)
if (Test-Path -LiteralPath $Path) {
Remove-ItemProperty -LiteralPath $Path -Name $Name -Force -ErrorAction SilentlyContinue
}
}
function Clear-RegistryKeyValues {
param(
[Parameter(Mandatory = $true)][string] $Path
)
if (-not (Test-Path -LiteralPath $Path)) {
return
}
foreach ($propertyName in (Get-Item -LiteralPath $Path).Property) {
Remove-ItemProperty -LiteralPath $Path -Name $propertyName -Force -ErrorAction SilentlyContinue
}
}
# Policy: Maximal number of concurrent connections per proxy server for WebSocket requests
# Name: MaxConnectionsPerProxyForWebSocket
# Scope: Machine
# State: Enabled
# Source: brave.admx
Set-RegistryValue -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\BraveSoftware\Brave' -Name 'MaxConnectionsPerProxyForWebSocket' -PropertyType 'DWord' -Value 6
History 44 retained releases
- 1.92.1342 Jul 2026
- Description
… to be used.
Raise above the default (128) at your own risk.[added:
Please note that the enforced limits are impacted by AllowSocketPoolSizeRandomizationForProxies.]
Whole description, marked
Setting the policy specifies the maximal number of simultaneous connections per proxy server for WebSocket requests. To modify non-WebSocket request limits, see MaxConnectionsPerProxy. Leaving the policy unset means a default of 128 is used. Some web apps are known to consume many connections with hanging GETs, so setting a value below 128 may lead to browser networking hangs if there are too many web apps with hanging connections open. Some proxy servers can't handle a high number of concurrent connections per client, which is solved by setting this policy to a lower value. The value should be equal to or higher than 6. Setting a value below that limit will cause 6 to be used. Lower below the default (128) at your own risk. The value should be equal to or lower than 256. Setting a value above that limit will cause 256 to be used. Raise above the default (128) at your own risk.[added: Please note that the enforced limits are impacted by AllowSocketPoolSizeRandomizationForProxies.]
- Description
… to be used.
Raise above the default (128) at your own risk.[added:
Please note that the enforced limits are impacted by AllowSocketPoolSizeRandomizationForProxies.]
- 1.91.1683 Jun 2026
- Description
… request limits, see MaxConnectionsPerProxy.
Leaving the policy unset means a default of
[removed: 32][added: 128] is used. Some web apps are known to consume many connections with hanging GETs, so setting a value below[removed: 32][added: 128] may lead to browser networking hangs if there are too many web … that limit will cause 6 to be used. Lower below the default[removed: (32)][added: (128)] at your own risk. The value should be equal to or lower … that limit will cause 256 to be used. Raise above the default[removed: (32)][added: (128)] at your own risk.Whole description, marked
Setting the policy specifies the maximal number of simultaneous connections per proxy server for WebSocket requests. To modify non-WebSocket request limits, see MaxConnectionsPerProxy. Leaving the policy unset means a default of
[removed: 32][added: 128] is used. Some web apps are known to consume many connections with hanging GETs, so setting a value below[removed: 32][added: 128] may lead to browser networking hangs if there are too many web apps with hanging connections open. Some proxy servers can't handle a high number of concurrent connections per client, which is solved by setting this policy to a lower value. The value should be equal to or higher than 6. Setting a value below that limit will cause 6 to be used. Lower below the default[removed: (32)][added: (128)] at your own risk. The value should be equal to or lower than 256. Setting a value above that limit will cause 256 to be used. Raise above the default[removed: (32)][added: (128)] at your own risk.
- Description
… request limits, see MaxConnectionsPerProxy.
Leaving the policy unset means a default of
- 1.90.1217 May 2026
- Added in this release.
32 later releases left it unchanged.
Template
- Internal name
MaxConnectionsPerProxyForWebSocket- Namespace
BraveSoftware.Policies.Brave- Template file
brave.admx- Release
- Brave Browser 1.97.59 · file set
d6401efd8c1937d9…
Definition, editor controls and support
Definition
<policy class="Both" displayName="$(string.MaxConnectionsPerProxyForWebSocket)" explainText="$(string.MaxConnectionsPerProxyForWebSocket_Explain)" key="Software\Policies\BraveSoftware\Brave" name="MaxConnectionsPerProxyForWebSocket" presentation="$(presentation.MaxConnectionsPerProxyForWebSocket)" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="BraveSoftware.Policies.Brave:brave" />
<supportedOn ref="BraveSoftware.Policies.Brave:SUPPORTED_WIN7" />
<elements>
<decimal id="MaxConnectionsPerProxyForWebSocket" maxValue="256" minValue="6" valueName="MaxConnectionsPerProxyForWebSocket" />
</elements>
</policy>Editor controls
<presentation id="MaxConnectionsPerProxyForWebSocket" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions"><decimalTextBox refId="MaxConnectionsPerProxyForWebSocket">Maximal number of concurrent connections per proxy server for WebSocket requests:</decimalTextBox></presentation>Supported platforms and category
BraveSoftware.Policies.Brave:category:Cat_Brave
<category displayName="$(string.Cat_Brave)" name="Cat_Brave" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
BraveSoftware.Policies.Brave:category:brave
<category displayName="$(string.brave)" name="brave" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="BraveSoftware.Policies.Brave:Cat_Brave" />
</category>
BraveSoftware.Policies.Brave:definition:SUPPORTED_WIN7
<definition displayName="$(string.SUPPORTED_WIN7)" name="SUPPORTED_WIN7" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
BraveSoftware.Policies.Brave:category:Cat_Brave
<category displayName="$(string.Cat_Brave)" name="Cat_Brave" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
<strings><string id="BraveSoftware.Policies.Brave:Cat_Brave">Brave Software</string></strings>
BraveSoftware.Policies.Brave:category:brave
<category displayName="$(string.brave)" name="brave" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="BraveSoftware.Policies.Brave:Cat_Brave" />
</category>
<strings><string id="BraveSoftware.Policies.Brave:brave">Brave</string></strings>
BraveSoftware.Policies.Brave:definition:SUPPORTED_WIN7
<definition displayName="$(string.SUPPORTED_WIN7)" name="SUPPORTED_WIN7" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
<strings><string id="BraveSoftware.Policies.Brave:SUPPORTED_WIN7">Microsoft Windows 7 or later</string></strings>