Ctbcap
CB/SC Recorder You Were Looking For.
Install / Use
/learn @KFERMercer/CtbcapREADME
-
Lightweight - Written in most basic Shell Scripts to achieve POSIX compatibility and energy efficiency.
Py is too heavy.
-
All platforms available - All functions are available with just
curl&ffmpeg.$0.1 Temu Phone? No problem.
-
Multifunction - Auto Recording; Auto Monitoring; Auto Stopping; Large-Scale Deployment... Just find by yourself.
Lighter, yet more powerful.
Launch with One-Command
Open your whatever terminal & drop this:
sh -c "$(curl -sL https://kfermercer.github.io/ctbcap/ctbcap)" @ -h
[!NOTE] Put the options after
@. Example:
sh -c "$(curl -sL https://kfermercer.github.io/ctbcap/ctbcap)" @ -ef ./rec modelname1
[!TIP] Works on Termux!
Docker Container
[!NOTE] If you're using such platforms that have good support for Docker or similar, I highly recommend using this method: More serious; High-Availability; Everything runs in containers; Easily configures multiple chatrooms.
Official CtbCap Container Registry
| Registry | Docker CLI |
| :-: | :-: |
| Docker Hub | docker pull kfermercer/ctbcap:latest |
| GitHub Package | docker pull ghcr.io/kfermercer/ctbcap:latest |
Run As Compose Daemon
-
Customize your own compose file:
curl https://kfermercer.github.io/ctbcap/docker-compose.sample.yml -o ctbcap-compose.ymlThen edit
./ctbcap-compose.ymlto configure. -
Deploy the compose daemon:
# Run as background daemon: docker compose -f ./ctbcap-compose.yml up -d --remove-orphans # Check the status of the daemon: docker compose -f ./ctbcap-compose.yml logs -f # Stop & remove the daemon: docker compose -f ./ctbcap-compose.yml down --remove-orphans
Run with Docker CLI
docker run -t --rm \
-u <UID>:<GID> \
-v </path/to/recdir>:/save \
-v </path/to/logdir>:/log \
-e TZ=Asia/Shanghai \
-e <VAR>=<value> \
... \
kfermercer/ctbcap [options...] <Username|URL>
[!NOTE]
-u <UID>:<GID>Allows you to specify the user (UID) and group (GID) that the container will run as. For example,-u 0:0will run the container as root.
If you don't specify-u, the container will run as1000:1000.
Use-u $(id -u):$(id -g)to use your current UID and GID.
[!NOTE] For Container Variables, see: Container Variables.
Update the Container Image
See Official CtbCap Container Registry.
Container Variables
| Variables | Value Type | Value Examples | Default | Recommend to Change |
| :-: | :-: | :- | :- | :-: |
| MODEL | Streamer's Username or Chatroom URL | 3rd8008 <br> s1mp_L0r3-87 <br> https://chaturbate.com/your_sister <br> https://stripchat.com/dicklessman <br> ... | - | Yes |
| PLATFORM | chaturbate or stripchat | chaturbate <br> stripchat | chaturbate | Yes, if not Chaturbate. |
| EDGING_MODE | Inactive if not 1 | 1 <br> 12306 <br> ... | uncles make me pee white | Yes, if the streamer is currently offline. |
| TZ | TZ identifier | UTC <br> Asia/Shanghai <br> Africa/Harare <br> ... | UTC | Yes, unless you live in Greenwich. |
| CUT_TIME | INT | 0 <br> 911 <br> 6324 <br> ... | 3600 | No |
| DEBUG_MODE | Inactive if not 1 | 1 <br> -999 <br> i was born from my sis <br> ... | your mom is so hot | No |
| NOBANNER | Inactive if not 1 | 1 <br> well, that reminds me <br> ... | ^>vvv (Docker CLI) <br> 1 (Compose file) | No |
Get help for commands
# Local:
./ctbcap
# One-Command Run:
sh -c "$(curl -sL https://kfermercer.github.io/ctbcap/ctbcap)" @
# Docker CLI:
docker run -t --rm kfermercer/ctbcap
Simping your girl nonstop
# Local:
./ctbcap <Username|URL>
# One-Command Run:
sh -c "$(curl -sL https://kfermercer.github.io/ctbcap/ctbcap)" @ <Username|URL>
# Docker CLI:
docker run -t --rm -u $(id -u):$(id -g) -v ${PWD}/ctbcap_rec:/save kfermercer/ctbcap <Username|URL>
[!NOTE] By default, the recording file will be saved to
${PWD}/ctbcap_rec/.
See the command help to change it if you want.
Simping your girl and cut the recording files every 1800 seconds
# Local:
./ctbcap -c 1800 <Username|URL>
# One-Command Run:
sh -c "$(curl -sL https://kfermercer.github.io/ctbcap/ctbcap)" @ -c 1800 <Username|URL>
# Docker CLI:
docker run -t --rm -u $(id -u):$(id -g) -v ${PWD}/ctbcap_rec:/save kfermercer/ctbcap -c 1800 <Username|URL>
[!NOTE] By default, the recording file will cut every
3600seconds.
Set-c 0to disable file cutting.
Grab stream URL and generate FFmpeg command, but don't start recording
# Local:
./ctbcap -l <Username|URL>
# One-Command Run:
sh -c "$(curl -sL https://kfermercer.github.io/ctbcap/ctbcap)" @ -l <Username|URL>
# Docker CLI:
docker run -t --rm kfermercer/ctbcap -l <Username|URL>
Show version & runtime info
# Local:
./ctbcap -v
# One-Command Run:
sh -c "$(curl -sL https://kfermercer.github.io/ctbcap/ctbcap)" @ -v
# Docker CLI:
docker run -t --rm kfermercer/ctbcap -v
<div align="center"><h2>Branch Description</h2></div>
master: Main Branch. Use this branch for practical purposes.
dev: Development Branch. Includes latest features and optimizations. But it may be unstable.
Related Skills
node-connect
338.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
338.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.4kCommit, push, and open a PR
