[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 $username = Read-Host 'username' $save_directory = 'D:\Records' $default_stream = 'best' $streamlink_exe = 'streamlink.exe' $server = 'https://diana.dreamdares.com' $user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' $address = 'https://dreamdares.com' $waiting_time = 30 #seconds $uri = "https://dreamdares.com/api/{0}/stream" -f $username while($true) { Clear-Host $Host.UI.RawUI.WindowTitle = "$username (DreamDares)" $response = $null try { $response = Invoke-WebRequest -UseBasicParsing -TimeoutSec 60 -UserAgent $user_agent -Uri $uri } catch { $_.Exception.Message $uri } if ($response) { $json = $null $json = $response | ConvertFrom-Json if ($json) { $key = $json.key $active = $json.active if ($active -eq $true) { $stream_url = '{0}/publish/{1}/playlist.m3u8' -f $server, $key $date = Get-Date -f yyyy-MM-dd_HH-mm-ss $file_name = '{0}-{1}.ts' -f $username, $date $output = Join-Path $save_directory $file_name $Host.UI.RawUI.WindowTitle = "$username (DreamDares) - recording" & $streamlink_exe --http-header "User-Agent=$user_agent" --http-header "Referer=$address" --stream-segment-threads 3 --default-stream $default_stream --url $stream_url --output $output } else { $Host.UI.RawUI.WindowTitle = "$username (DreamDares) - offline" Write-Host "$username - offline" } } } Start-Sleep -seconds $waiting_time }
$dir = "D:\Records" $quality = "best" $user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36" $server = "https://diana.dreamdares.com" $address = "https://dreamdares.com" $waiting = 30 function Set-Title($text) { $host.UI.RawUI.WindowTitle = $text Clear-Host Write-Host "Dreamdares" -ForegroundColor Cyan } Set-Title "Request..." $line= Read-Host "Enter URL or nickname" $name = ($line.Trim() -replace '\?.*$', '' -replace '^.*\/', '') $url_api = "$address/api/$name/stream" function Get-StreamStatus { try { $response = Invoke-WebRequest -Uri $url_api -Headers @{"User-Agent" = $user_agent} -UseBasicParsing -ErrorAction Stop $json = $response.Content | ConvertFrom-Json if ([string]::IsNullOrEmpty($json.key) -or [string]::IsNullOrEmpty($json.active)) { return "_nickname_invalid_", "_nickname_invalid_" } return $json.key, $json.active } catch { if ($_.ErrorDetails -and $_.ErrorDetails.Message) { $errBody = $_.ErrorDetails.Message.Trim() try { $jsonError = $errBody | ConvertFrom-Json -ErrorAction Stop if ($jsonError.message -eq "could not get stream" -or $jsonError.message -eq "Invalid or expired JWT") { return "_nickname_invalid_", "_nickname_invalid_" } } catch {} } return "_escaped_into_jungle_", "_escaped_into_jungle_" } } while ($true) { Set-Title "Checking status..." $key, $active = Get-StreamStatus if ($key -eq "_escaped_into_jungle_") { Set-Title "No response" Write-Host "No response from server." -ForegroundColor DarkYellow TIMEOUT /T $waiting continue } if ($key -eq "_nickname_invalid_") { Set-Title "$name - nickname invalid" Write-Host "$name - nickname invalid" -ForegroundColor Red Read-Host "Press ENTER to exit..." exit } if ($active -eq $false) { Set-Title "$name - offline" Write-Host "$name - OFFLINE" -ForegroundColor Yellow TIMEOUT /T $waiting continue } Set-Title "$name - rec" Write-Host "$name is ONLINE. Starting stream..." -ForegroundColor Green Write-Host "" $datetime = Get-Date -Format "yyyy-MM-dd_HH-mm-ss" $file = "${name}_DD_$datetime.ts" $stream_url = "$server/publish/$key/playlist.m3u8" streamlink ` --http-header "User-Agent=$user_agent" ` --http-header "Referer=$address" ` --stream-segment-threads 3 ` --url $stream_url ` --default-stream $quality ` --output "$dir\$file" TIMEOUT /T $waiting }
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 $username = Read-Host 'User name' $save_directory = 'C:\video' $default_stream = 'best' $streamlink_exe = 'streamlink.exe' $server = 'diana.dreamdares.com' $user_agent = 'Chrome/111.0.5563.147' $address = 'https://dreamdares.com' $waiting_time = 30 #seconds $uri = "https://dreamdares.com/api/{0}/stream" -f $username while($true) { Clear-Host $Host.UI.RawUI.WindowTitle = "$username (DreamDares)" $response = $null try { $response = Invoke-WebRequest -UseBasicParsing -TimeoutSec 60 -UserAgent $user_agent -Uri $uri } catch { $_.Exception.Message $uri } if ($response) { $json = $null $json = $response | ConvertFrom-Json if ($json) { $key = $json.key $active = $json.active $username = $json.username if ($active -eq 1) { $unix_time = [DateTimeOffset]::Now.ToUnixTimeMilliSeconds() $stream_url = 'https://diana.dreamdares.com:8081/publish/{0}/playlist.m3u8' -f $key $date = Get-Date -f yyyy-MM-dd_HH-mm-ss $file_name = '{0}-{1}.ts' -f $username, $date $output = Join-Path $save_directory $file_name $Host.UI.RawUI.WindowTitle = "$username (DreamDares) - recording" & $streamlink_exe --http-header "User-Agent=$user_agent" --http-header "Referer=$address" --hls-segment-threads 3 --default-stream $default_stream --url $stream_url --output $output } else { $Host.UI.RawUI.WindowTitle = "$username (DreamDares) - offline" Write-Host "$username - offline" } } } Start-Sleep -seconds $waiting_time }[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 $username = Read-Host 'User name' $save_directory = 'C:\video' $default_stream = 'best' $streamlink_exe = 'streamlink.exe' $server = 'diana.dreamdares.com' $user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36' $address = 'https://dreamdares.com' $waiting_time = 30 #seconds $uri = "https://dreamdares.com/api/{0}/stream" -f $username while($true) { Clear-Host $Host.UI.RawUI.WindowTitle = "$username (DreamDares)" $response = $null try { $response = Invoke-WebRequest -UseBasicParsing -TimeoutSec 60 -UserAgent $user_agent -Uri $uri } catch { $_.Exception.Message $uri } if ($response) { $json = $null $json = $response | ConvertFrom-Json if ($json) { $key = $json.data.key $active = $json.data.active $username = $json.data.username if ($active -eq 1) { $unix_time = [DateTimeOffset]::Now.ToUnixTimeMilliSeconds() $stream_url = 'https://diana.dreamdares.com:8081/publish/{0}/playlist.m3u8' -f $key $date = Get-Date -f yyyy-MM-dd_HH-mm-ss $file_name = '{0}-{1}.ts' -f $username, $date $output = Join-Path $save_directory $file_name $Host.UI.RawUI.WindowTitle = "$username (DreamDares) - recording" & $streamlink_exe --http-header "User-Agent=$user_agent" --http-header "Referer=$address" --hls-segment-threads 3 --default-stream $default_stream --url $stream_url --output $output } else { $Host.UI.RawUI.WindowTitle = "$username (DreamDares) - offline" Write-Host "$username - offline" } } } Start-Sleep -seconds $waiting_time }
$username = $json.data.username
ffmpeg -hide_banner -rw_timeout 10000000 -i URL -c copy -movflags frag_keyframe -flush_packets 1 test.mp4
ffmpeg -hide_banner -rw_timeout 10000000 -i URL -c copy -movflags +frag_keyframe+separate_moof+omit_tfhd_offset+empty_moov -bsf:a aac_adtstoasc -flush_packets 1 test.mp4
ffmpeg -i "%savedir%\%%a" -hide_banner -c copy -movflags +faststart "%savedir%\%%~na.mp4"
Вчера, 22:43
Вчера, 20:07
Вчера, 08:33
4 сентября 2026 20:18
4 сентября 2026 19:47
2 сентября 2026 18:41
2 сентября 2026 17:53
2 сентября 2026 13:25
2 сентября 2026 11:48
2 сентября 2026 10:10
2 сентября 2026 03:40
2 сентября 2026 03:23
31 августа 2026 23:57
3 сентября 2026 20:39
27 августа 2026 08:06
24 августа 2026 01:42
23 августа 2026 19:13
23 августа 2026 15:41
23 августа 2026 13:53
22 августа 2026 22:59
18 августа 2026 20:47
14 августа 2026 19:19
14 августа 2026 11:54
13 августа 2026 10:36
9 августа 2026 08:38
23 июля 2026 07:29
13 июля 2026 14:28
13 июля 2026 10:34
9 июля 2026 06:04
8 июля 2026 22:47
8 июля 2026 22:03
8 июля 2026 22:00
8 июля 2026 20:56
8 июля 2026 20:19
8 июля 2026 05:07
2 июля 2026 18:17
14 июня 2026 09:59
10 июня 2026 16:15
31 мая 2026 23:34
31 мая 2026 16:13
30 мая 2026 10:33
29 мая 2026 18:20
29 мая 2026 16:17