@echo off setlocal enabledelayedexpansion set /p line_source=Enter URL or nickname: if "%line_source:~-3%"=="#!/" set "line_source=%line_source:~0,-3%" for %%a in ("%line_source:/=" "%") do set "name=%%~a" set dir=D:\Records set "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" set "header=X-Requested-With: XMLHttpRequest" set "data=method=getRoomData&args%%5B%%5D=%name%&args%%5B%%5D=false" set quality=1080p,best set waiting=30 ::NekoBox set proxy=127.0.0.1:2080 ::::::::::::::::::::Преобразование (при необходимости) букв в строчные для предотвращения получения кода 301 for %%# in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do set "name=!name:%%#=%%#!" :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: ВНИМАНИЕ. :: url_2 должен иметь адрес, доступный с вашего реального IP. Иначе будет ошибка - Error 000 :: url_2 должен иметь адрес, который не редиректит на другой адрес. Иначе переменная 'http_code' будет принимать неверные значения. Например, нельзя такой: https://bongacams.com/profile/%name% :: url_2 должен иметь адрес, не начинающийся с https://rus.bongacams... set url_1=https://bongacams.com/%name% set url_2=https://rt.bongacams99.com/profile/%name% set url_3=https://bongacams.com/get-member-chat-data?username=%name% set url_4=https://bongacams.com/tools/amf.php :loop cls title %name% on BongaCams echo nickname: %name% ::::::::::::::::::::Check if the account has been deleted for /f "delims=" %%a in ('curl -ksS --location --head --user-agent "%user_agent%" --connect-timeout 10 --write-out %%{url_effective} --url %url_1% --output nul') do set "effective=%%a" echo %effective%| find "_del" > nul if "!errorlevel!" equ "0" ( echo *** Account %name% - deleted echo. pause exit ) ::::::::::::::::::::Check if is geoblock for /f "delims=" %%a in ('curl -ksS --user-agent "%user_agent%" --connect-timeout 10 --write-out %%{http_code} --url %url_2% --output nul') do set "http_code=%%a" if "%http_code%" equ "404" ( echo Error %http_code% echo %name% - nickname is incorrect echo. pause exit ) else if "%http_code%" equ "301" ( echo Error %http_code% echo %name% - nickname is incorrect echo. pause exit ) else if "%http_code%" equ "000" ( title Error %http_code% echo Error %http_code% echo No response received from site - check internet timeout %waiting% goto loop ) else if "%http_code%" neq "200" if "%http_code%" neq "302" ( echo Error %http_code% echo. pause exit ) ::::::::::::::::::::Check if is redirect to profile page curl -ksS --user-agent "%user_agent%" --connect-timeout 10 --header "%header%" --url %url_3% > %name%_temp_file.json for /f %%a in ('jq ".status" -r ^< %name%_temp_file.json') do set "status=%%a" if %status%==error (del %name%_temp_file.json) if %status%==error ( echo %effective% | find "/profile/" > nul if "!errorlevel!" equ "0" ( if "%http_code%" equ "200" ( echo GeoBlock - false echo. title %name% - offline echo offline echo ^(from profile page^) timeout %waiting% goto loop ) if "%http_code%" equ "302" ( echo GeoBlock - TRUE / %name% uses GeoBlock / echo. title %name% - offline echo offline echo ^(from profile page^) timeout %waiting% goto loop ) ) if "!errorlevel!" neq "0" ( if "%http_code%" equ "200" ( echo ##### echo Error. This is a viewer's nickname. echo. pause exit ) if "%http_code%" equ "302" ( echo ##### echo Error. This is a viewer's nickname. His account has been deleted. echo. pause exit ) ) ) ::::::::::::::::::::Work (status - success) if "%http_code%" equ "200" ( echo GeoBlock - false echo. ) if "%http_code%" equ "302" ( echo GeoBlock - TRUE / %name% uses GeoBlock / echo. ) for /f %%a in ('jq ".result.awayLayoutOptions.displayName" -r ^< %name%_temp_file.json') do set "display_name=%%a" for /f %%a in ('jq ".result.awayLayoutOptions.username" -r ^< %name%_temp_file.json') do set "username=%%a" for /f %%a in ('jq ".result.chatShowStatusOptions.isOffline" -r ^< %name%_temp_file.json') do set "is_offline=%%a" for /f %%a in ('jq ".result.chatShowStatusOptions.isPublicChat" -r ^< %name%_temp_file.json') do set "is_public=%%a" for /f %%a in ('jq ".result.chatShowStatusOptions.isPrivateChat" -r ^< %name%_temp_file.json') do set "is_private_chat=%%a" for /f %%a in ('jq ".result.chatShowStatusOptions.isFullPrivateChat" -r ^< %name%_temp_file.json') do set "is_full_private_chat=%%a" for /f %%a in ('jq ".result.chatShowStatusOptions.isGroupChat" -r ^< %name%_temp_file.json') do set "is_group_chat=%%a" for /f %%a in ('jq ".result.chatShowStatusOptions.isVoyeurChat" -r ^< %name%_temp_file.json') do set "is_voyeur_chat=%%a" for /f %%a in ('jq ".result.chatShowStatusOptions.isVipShow" -r ^< %name%_temp_file.json') do set "is_vip_show=%%a" del %name%_temp_file.json echo displayname: %display_name% echo username: %username% echo -------------------- if "%is_offline%"=="true" ( title %name% - offline echo offline timeout %waiting% goto loop ) else if "%is_public%"=="true" ( title %name% - public echo public echo. ) else if "%is_private_chat%"=="true" ( title %name% - private echo private timeout %waiting% goto loop ) else if "%is_full_private_chat%"=="true" ( title %name% - fullprivate echo fullprivate timeout %waiting% goto loop ) else if "%is_group_chat%"=="true" ( title %name% - group chat echo group chat timeout %waiting% goto loop ) else if "%is_voyeur_chat%"=="true" ( title %name% - voyeur chat echo voyeur chat timeout %waiting% goto loop ) else if "%is_vip_show%"=="true" ( title %name% - vipshow echo vipshow timeout %waiting% goto loop ) else ( title %name% - status unknown echo status unknown timeout %waiting% goto loop ) ::::::::::::::::::::Stream capture set page_stream= if "%http_code%" equ "200" ( for /f "delims=" %%a in ('curl -ksS --user-agent "%user_agent%" --connect-timeout 10 --header "%header%" --data "%data%" --url %url_4%') do set page_stream=%%a if not defined page_stream ( echo. echo Problem... echo. timeout %waiting% goto loop ) ) if "%http_code%" equ "302" ( for /f "delims=" %%a in ('curl -x %proxy% -ksS --user-agent "%user_agent%" --connect-timeout 10 --header "%header%" --data "%data%" --url %url_4%') do set page_stream=%%a if not defined page_stream ( echo. echo ///// You have a PROXY problem ///// echo. timeout %waiting% goto loop ) ) for /f "delims=" %%a in ('echo %%page_stream%% ^| jq -r .performerData.isAway') do set is_away=%%a if "%is_away%"=="true" ( title %name% - is away echo is away timeout %waiting% goto loop ) for /f "delims=" %%a in ('echo %%page_stream%% ^| jq -r .localData.videoServerUrl') do set videoServerUrl=%%a set stream_url=https:%videoServerUrl%/hls/stream_%username%/playlist.m3u8 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=%name%_BongaCams_%datetime%.ts title %name% - rec echo Rec - %file% echo. streamlink --stream-segment-threads 3 --url %stream_url% --default-stream %quality% -o "%dir%\%file%" timeout %waiting% goto loop
Вчера, 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