Установить: ‼️ДЛЯ ПК‼️
# Блокировка Telegram на этом ПК (Windows)
# Запускать PowerShell от имени администратора
$ErrorActionPreference = "Stop"
# 1. Проверка прав администратора
if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(
[Security.Principal.WindowsBuiltInRole]::Administrator)) {
Write-Error "Запустите PowerShell от имени администратора."
exit 1
}
$hosts = "$env:WINDIR\System32\drivers\etc\hosts"
$marker = "# BLOCK_TELEGRAM"
$backup = "$env:WINDIR\System32\drivers\etc\hosts.bak_$(Get-Date -Format yyyyMMdd_HHmmss)"
$domains = @(
"telegram.org",
"www.telegram.org",
"web.telegram.org",
"api.telegram.org",
"update.telegram.org",
"core.telegram.org",
"t.me",
"telegram.me",
"tdesktop.com",
"tg.dev",
"telegram.space",
"telegram.dog",
"cdn-telegram.org",
"cdn.telesco.pe",
"telesco.pe",
"telesco.pe".Replace("telesco.pe","telesco.pe") # служебная строка, безопасно игнорируется
) | Select-Object -Unique
# 2. Бэкап и идемпотентность
if (-not (Select-String -Path $hosts -Pattern ([regex]::Escape($marker)) -Quiet)) {
Copy-Item $hosts $backup -Force
Write-Host "Бэкап: $backup"
$lines = @("", $marker)
foreach ($d in $domains) {
$lines += "0.0.0.0 $d"
$lines += ":: $d"
}
# 3. Пишем в ASCII — надёжно для hosts
Add-Content -Path $hosts -Value $lines -Encoding ASCII
ipconfig /flushdns | Out-Null
Write-Host "Готово: домены Telegram заблокированы ($($domains.Count) шт., IPv4 + IPv6)."
} else {
Write-Host "Уже заблокировано (маркер $marker найден)."
}Откат:
$hosts = "$env:WINDIR\System32\drivers\etc\hosts"
$marker = "# BLOCK_TELEGRAM"
$content = Get-Content $hosts -Encoding ASCII | Where-Object { $_ -notmatch [regex]::Escape($marker) -and $_ -notmatch '^\s*(0\.0\.0\.0|::)\s+(telegram|www\.telegram|web\.telegram|api\.telegram|update\.telegram|core\.telegram|t\.me|telegram\.me|tdesktop\.com|tg\.dev|telegram\.space|telegram\.dog|cdn-telegram\.org|cdn\.telesco\.pe|telesco\.pe)' }
Set-Content -Path $hosts -Value $content -Encoding ASCII
ipconfig /flushdns | Out-Null
Write-Host "Блокировка снята."Что этот код НЕ делает (важно)
Не блокирует мобильный Telegram, если телефон подключён к тому же роутеру — hosts действует только на этом ПК.
Не блокирует прямые IP-соединения. Telegram-клиенты умеют ходить на IP из DC-списка (149.154.x.x), обходя DNS. Полная блокировка — только через firewall-правила или на роутере.
Не защищает от уже установленного/запущенного клиента — он держит соединение. Нужно ещё перезапустить Telegram.
Конфиг:
91.108.4.0/22 91.108.8.0/22 91.108.12.0/22 91.108.16.0/22 91.108.20.0/22 91.108.56.0/22 149.154.160.0/20 149.154.164.0/22 149.154.168.0/22 149.154.172.0/22 185.76.151.0/24 5.28.192.0/18 (some) 2001:b28:f23d::/48 (IPv6) 2001:67c:4e8::/48 2001:b28:f23f::/48