@echo off set /p name=name: set dir=D:\Records set seconds=30 :: if entered full url instead of nickname echo %name% | findstr /R "https://[a-zA-Z][a-zA-Z]\.stripchat\.com/" > nul if not errorlevel 1 ( set name=%name:~25% ) echo %name% | findstr /R "https://stripchat\.com/" > nul if not errorlevel 1 ( set name=%name:~22% ) echo %name% echo. set "frame_resolution=" set /p "frame_resolution=Press Enter to select "best" quality or specify (720, 480, 240, 160): " if "%frame_resolution%"=="" ( set "quality=best" ) if "%frame_resolution%" neq "" ( set "lastChar=%frame_resolution:~-1%" ) if "%lastChar%"=="p" ( set "quality=%frame_resolution%" ) if "%lastChar%" neq "" ( if "%lastChar%" neq "p" ( set "quality=%frame_resolution%p" ) ) if not "%quality%"=="best" ( if not "%quality%"=="720p" ( if not "%quality%"=="480p" ( if not "%quality%"=="240p" ( if not "%quality%"=="160p" ( cls echo %name% echo. echo Error - entered value is not from range echo Select "best" quality or 720, 480, 240, 160 echo. pause exit ) ) ) ) ) :loop cls echo %name% --- Stripchat echo =========================== for /f "delims=" %%a in ('curl -ksS https://de.stripchat.com/api/front/models/username/%name%/cam/ ^| jq -r .isCamAvailable') do set is_CamAvailable=%%a if "%is_CamAvailable%"=="null" ( title %name% - nickname incorrect or non-existent echo Nickname incorrect or non-existent pause exit ) if "%is_CamAvailable%"=="false" ( title %name% - camera is not available echo Camera is not available echo Model is offline or in private chat timeout %seconds% goto loop ) for /f "delims=" %%a in ('curl -ksS https://de.stripchat.com/api/front/users/username/%name%/ ^| jq -r .isGeoBanned') do set is_GeoBanned=%%a sleep 0.5 for /f "delims=" %%a in ('curl -ksS https://de.stripchat.com/api/front/users/username/%name%/ ^| jq -r .user.id') do set user_id=%%a echo GeoBanned: %is_GeoBanned% set datetime=%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%-%time:~3,2%-%time:~6,2% set datetime=%datetime: =0% set file=StripChat_%name%_%datetime%.ts title Rec - %name%_%datetime% setlocal enabledelayedexpansion if "%quality%"=="720p" ( for /f "tokens=*" %%a in ('streamlink https://edge-hls.doppiocdn.com/hls/%user_id%/master/%user_id%_auto.m3u8') do set out_line=%%a echo !out_line! | findstr "720p" >nul if not errorlevel 1 ( goto work ) else ( echo Error - selected value '720p' was not found echo. pause exit ) ) :work if "%quality%"=="best" ( streamlink --stream-segment-threads 3 https://edge-hls.doppiocdn.com/hls/%user_id%/master/%user_id%.m3u8 %quality% -o "%dir%\%file%" ) else ( streamlink --stream-segment-threads 3 https://edge-hls.doppiocdn.com/hls/%user_id%/master/%user_id%_auto.m3u8 %quality% -o "%dir%\%file%" ) timeout %seconds% goto loop
echo %name% | findstr /R "https://topcams\.tv/" > nul if not errorlevel 1 ( set name=%name:~19% )
$recordStripChat = { ... }
$recordStripChat = { param ($url_stripchat, $model_name, $stream_quality, $save_directory, $curl_exe, $user_agent, $streamlink_exe, $waiting_time, $separate_directory, $proxy_list_path, $connect_timeout, $proxy_protocol, $to_use_proxy_list) function GetStatusCode ($url) { $curl_arg = "--silent", "--head", "--insecure", "--connect-timeout", "$connect_timeout", "--user-agent", "$user_agent", "--write-out", "%{http_code}", "--output", "nul", "--url", "$url" $status_code = & $curl_exe @curl_arg return $status_code } function GetStatusCodeAndLocationUrl ($url) { $curl_arg = "--silent", "--location", "--head", "--insecure", "--connect-timeout", "$connect_timeout", "--user-agent", "$user_agent", "--write-out", "%{http_code};%{url_effective}", "--output", "nul", "--url", "$url" $status_code = & $curl_exe @curl_arg return $status_code } while ($true) { if (!$stream_url) { if (!$id) { $curl_arg = "--silent", "--insecure", "--connect-timeout", "$connect_timeout", "--user-agent", "$user_agent", "--url", "$url_stripchat/api/front/users/username/$model_name/" $response = $null $response = & $curl_exe @curl_arg $json = $null if ($response) { $json = $response | ConvertFrom-Json if ($json) { $id = $json.user.id } } } if ($id) { if ($stream_quality -eq 'best') { $stream_url = 'https://edge-hls.doppiocdn.com/hls/{0}/master/{0}.m3u8' -f $id } else { $stream_url = 'https://edge-hls.doppiocdn.com/hls/{0}/master/{0}_auto.m3u8' -f $id } } } $start_rec = $false if ($stream_url) { $status_code, $location_url = $(GetStatusCodeAndLocationUrl -url $stream_url).Split(';') if ($status_code -eq 200) { $start_rec = $true } elseif ($stream_url -ne $location_url -and $location_url -match '^https:\/\/.+\.m3u8') { $stream_url = $location_url $status_code = GetStatusCode -url $stream_url if ($status_code -eq 200) { $start_rec = $true } } } if ($start_rec) { if ($separate_directory -eq 1 -and $save_directory -notmatch "$model_name\\?") { $save_directory = Join-Path $save_directory $model_name if (!(Test-Path $save_directory)) { New-Item -Path $save_directory -ItemType Directory -Force } } $date_time = Get-Date -format 'yyyy-MM-dd_HH-mm-ss' $file_name = 'StripChat-{0}-{1}.ts' -f $model_name, $date_time $output = Join-Path $save_directory $file_name if ($stream_quality -ne 'best') { $stream_quality = $stream_quality + ',best' } & $streamlink_exe --http-no-ssl-verify --stream-segment-threads 3 --default-stream $stream_quality --url $stream_url --output $output } Start-Sleep -seconds $waiting_time } }
Вчера, 23:36
Вчера, 22:02
Вчера, 11:38
Вчера, 08:17
10 марта 2026 23:59
10 марта 2026 17:00
10 марта 2026 15:30
10 марта 2026 14:38
10 марта 2026 02:02
10 марта 2026 00:58
9 марта 2026 15:48
9 марта 2026 15:20
9 марта 2026 13:46
9 марта 2026 12:51
25 февраля 2026 18:39
19 февраля 2026 20:48
16 февраля 2026 15:27
14 февраля 2026 16:33
5 февраля 2026 01:07
3 февраля 2026 18:18
20 января 2026 21:11
20 января 2026 16:37
20 января 2026 10:47
19 января 2026 00:38
15 января 2026 22:17
15 января 2026 18:49
14 января 2026 02:49
12 января 2026 23:18
4 января 2026 09:47
3 января 2026 14:32
30 декабря 2025 03:05
26 декабря 2025 21:29
22 декабря 2025 21:38
13 декабря 2025 14:51
11 декабря 2025 19:56
4 декабря 2025 03:37
3 декабря 2025 16:48
2 декабря 2025 15:12
1 декабря 2025 12:23
30 ноября 2025 03:07
28 ноября 2025 14:44
27 ноября 2025 08:24
25 ноября 2025 11:09
25 ноября 2025 10:53