mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-05-26 07:08:11 +00:00
feat(script): update scripts
This commit is contained in:
146
script/cnc.sh
146
script/cnc.sh
@@ -66,39 +66,61 @@ fi
|
||||
|
||||
echo "[+] Using Podman"
|
||||
echo ""
|
||||
echo "Select provider:"
|
||||
echo "Select carrier:"
|
||||
echo " 1) telemost"
|
||||
echo " 2) jazz"
|
||||
echo " 3) wbstream"
|
||||
read -p "Enter choice [1-3, default: 1]: " PROVIDER_CHOICE
|
||||
read -p "Enter choice [1-3, default: 1]: " CARRIER_CHOICE
|
||||
|
||||
case "$PROVIDER_CHOICE" in
|
||||
case "$CARRIER_CHOICE" in
|
||||
2)
|
||||
PROVIDER="jazz"
|
||||
CARRIER="jazz"
|
||||
;;
|
||||
3)
|
||||
PROVIDER="wbstream"
|
||||
CARRIER="wbstream"
|
||||
;;
|
||||
*)
|
||||
PROVIDER="telemost"
|
||||
CARRIER="telemost"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "[*] Using provider: $PROVIDER"
|
||||
echo "[*] Using carrier: $CARRIER"
|
||||
echo ""
|
||||
|
||||
if [ "$PROVIDER" = "jazz" ]; then
|
||||
echo "Select transport:"
|
||||
echo " 1) datachannel"
|
||||
echo " 2) videochannel"
|
||||
echo " 3) seichannel"
|
||||
echo " 4) vp8channel"
|
||||
read -p "Enter choice [1-4, default: 1]: " TRANSPORT_CHOICE
|
||||
|
||||
case "$TRANSPORT_CHOICE" in
|
||||
2)
|
||||
TRANSPORT="videochannel"
|
||||
;;
|
||||
3)
|
||||
TRANSPORT="seichannel"
|
||||
;;
|
||||
4)
|
||||
TRANSPORT="vp8channel"
|
||||
;;
|
||||
*)
|
||||
TRANSPORT="datachannel"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "[*] Using transport: $TRANSPORT"
|
||||
echo ""
|
||||
|
||||
if [ "$CARRIER" = "jazz" ]; then
|
||||
read -p "Enter Room ID (format: roomId:password from server): " ROOM_ID
|
||||
if [ -z "$ROOM_ID" ]; then
|
||||
echo "[X] Room ID cannot be empty"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
read -p "Enter Room ID: " ROOM_ID
|
||||
if [ -z "$ROOM_ID" ]; then
|
||||
echo "[X] Room ID cannot be empty"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$ROOM_ID" ]; then
|
||||
echo "[X] Room ID cannot be empty"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
@@ -109,6 +131,10 @@ if [ -z "$KEY" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
read -p "DNS server [default: 1.1.1.1:53]: " DNS_INPUT
|
||||
DNS=${DNS_INPUT:-1.1.1.1:53}
|
||||
|
||||
echo ""
|
||||
read -p "SOCKS5 ip [default: 127.0.0.1]: " IP_INPUT
|
||||
SOCKS_IP=${IP_INPUT:-127.0.0.1}
|
||||
@@ -117,6 +143,81 @@ echo ""
|
||||
read -p "SOCKS5 port [default: 8808]: " PORT_INPUT
|
||||
SOCKS_PORT=${PORT_INPUT:-8808}
|
||||
|
||||
TRANSPORT_ARGS=()
|
||||
|
||||
if [ "$TRANSPORT" = "videochannel" ]; then
|
||||
echo ""
|
||||
echo "--- Videochannel settings ---"
|
||||
|
||||
echo ""
|
||||
echo "Video codec:"
|
||||
echo " 1) qrcode"
|
||||
echo " 2) tile (requires 1080x1080)"
|
||||
read -p "Enter choice [1-2, default: 1]: " VCODEC_CHOICE
|
||||
|
||||
case "$VCODEC_CHOICE" in
|
||||
2)
|
||||
VIDEO_CODEC="tile"
|
||||
VIDEO_W=1080
|
||||
VIDEO_H=1080
|
||||
echo "[*] Tile codec selected — forcing 1080x1080"
|
||||
|
||||
read -p "Tile module size in pixels 1..270 [default: 4]: " VTILE_MOD_INPUT
|
||||
VIDEO_TILE_MODULE=${VTILE_MOD_INPUT:-4}
|
||||
|
||||
read -p "Tile Reed-Solomon parity percent 0..200 [default: 20]: " VTILE_RS_INPUT
|
||||
VIDEO_TILE_RS=${VTILE_RS_INPUT:-20}
|
||||
|
||||
TRANSPORT_ARGS+=(-video-tile-module "$VIDEO_TILE_MODULE" -video-tile-rs "$VIDEO_TILE_RS")
|
||||
;;
|
||||
*)
|
||||
VIDEO_CODEC="qrcode"
|
||||
|
||||
read -p "Video width [default: 1920]: " VW_INPUT
|
||||
VIDEO_W=${VW_INPUT:-1920}
|
||||
|
||||
read -p "Video height [default: 1080]: " VH_INPUT
|
||||
VIDEO_H=${VH_INPUT:-1080}
|
||||
|
||||
read -p "QR error correction (low/medium/high/highest) [default: low]: " VQREC_INPUT
|
||||
VIDEO_QR_RECOVERY=${VQREC_INPUT:-low}
|
||||
|
||||
read -p "QR fragment size bytes [default: 0 (auto)]: " VQRSZ_INPUT
|
||||
VIDEO_QR_SIZE=${VQRSZ_INPUT:-0}
|
||||
|
||||
if [ "$VIDEO_QR_SIZE" -gt 0 ]; then
|
||||
TRANSPORT_ARGS+=(-video-qr-size "$VIDEO_QR_SIZE")
|
||||
fi
|
||||
TRANSPORT_ARGS+=(-video-qr-recovery "$VIDEO_QR_RECOVERY")
|
||||
;;
|
||||
esac
|
||||
|
||||
read -p "Video FPS [default: 30]: " VFPS_INPUT
|
||||
VIDEO_FPS=${VFPS_INPUT:-30}
|
||||
|
||||
read -p "Video bitrate [default: 2M]: " VBRT_INPUT
|
||||
VIDEO_BITRATE=${VBRT_INPUT:-2M}
|
||||
|
||||
read -p "Hardware acceleration (none/nvenc) [default: none]: " VHW_INPUT
|
||||
VIDEO_HW=${VHW_INPUT:-none}
|
||||
|
||||
TRANSPORT_ARGS+=(-video-w "$VIDEO_W" -video-h "$VIDEO_H" -video-fps "$VIDEO_FPS" \
|
||||
-video-bitrate "$VIDEO_BITRATE" -video-hw "$VIDEO_HW" -video-codec "$VIDEO_CODEC")
|
||||
fi
|
||||
|
||||
if [ "$TRANSPORT" = "vp8channel" ]; then
|
||||
echo ""
|
||||
echo "--- VP8channel settings ---"
|
||||
|
||||
read -p "VP8 FPS [default: 25]: " VP8FPS_INPUT
|
||||
VP8_FPS=${VP8FPS_INPUT:-25}
|
||||
|
||||
read -p "VP8 batch size (frames per tick) [default: 1]: " VP8BATCH_INPUT
|
||||
VP8_BATCH=${VP8BATCH_INPUT:-1}
|
||||
|
||||
TRANSPORT_ARGS+=(-vp8-fps "$VP8_FPS" -vp8-batch "$VP8_BATCH")
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "[*] Stopping old instance..."
|
||||
podman stop $CONTAINER_NAME 2>/dev/null || true
|
||||
@@ -127,7 +228,7 @@ rm -rf $WORK_DIR
|
||||
mkdir -p $WORK_DIR
|
||||
|
||||
echo "[*] Cloning repository..."
|
||||
git clone --depth 1 --branch "$BRANCH" $REPO_URL $WORK_DIR
|
||||
git clone --depth 1 --recurse-submodules --branch "$BRANCH" $REPO_URL $WORK_DIR
|
||||
|
||||
echo "[*] Pulling Go image..."
|
||||
podman pull $IMAGE_NAME
|
||||
@@ -152,7 +253,9 @@ podman run -d \
|
||||
-v $WORK_DIR:/app:Z \
|
||||
-w /app \
|
||||
$IMAGE_NAME \
|
||||
./olcrtc -mode cnc -provider "$PROVIDER" -id "$ROOM_ID" -key "$KEY" -socks-port $SOCKS_PORT -socks-host 0.0.0.0
|
||||
./olcrtc -mode cnc -carrier "$CARRIER" -id "$ROOM_ID" -key "$KEY" \
|
||||
-link direct -transport "$TRANSPORT" -dns "$DNS" -data data \
|
||||
-socks-host 0.0.0.0 -socks-port "$SOCKS_PORT" "${TRANSPORT_ARGS[@]}"
|
||||
|
||||
sleep 2
|
||||
|
||||
@@ -160,9 +263,10 @@ echo ""
|
||||
echo "[+] Client started successfully!"
|
||||
echo ""
|
||||
echo "Container name: $CONTAINER_NAME"
|
||||
echo "Provider: $PROVIDER"
|
||||
echo "Room ID: $ROOM_ID"
|
||||
echo "SOCKS5 proxy: $SOCKS_IP:$SOCKS_PORT"
|
||||
echo "Carrier: $CARRIER"
|
||||
echo "Transport: $TRANSPORT"
|
||||
echo "Room ID: $ROOM_ID"
|
||||
echo "SOCKS5 proxy: $SOCKS_IP:$SOCKS_PORT"
|
||||
echo ""
|
||||
echo "View logs:"
|
||||
echo " podman logs -f $CONTAINER_NAME"
|
||||
|
||||
@@ -31,7 +31,9 @@ fi
|
||||
|
||||
mode="${OLCRTC_MODE:-srv}"
|
||||
room_id="${OLCRTC_ROOM_ID:-${ROOM_ID:-}}"
|
||||
provider="${OLCRTC_PROVIDER:-}"
|
||||
carrier="${OLCRTC_CARRIER:-${OLCRTC_PROVIDER:-}}"
|
||||
transport="${OLCRTC_TRANSPORT:-}"
|
||||
link="${OLCRTC_LINK:-direct}"
|
||||
data_dir="${OLCRTC_DATA_DIR:-/usr/share/olcrtc}"
|
||||
dns_server="${OLCRTC_DNS:-1.1.1.1:53}"
|
||||
key="${OLCRTC_KEY:-${KEY:-}}"
|
||||
@@ -39,8 +41,23 @@ key_file="${OLCRTC_KEY_FILE:-/var/lib/olcrtc/key.hex}"
|
||||
socks_proxy="${OLCRTC_SOCKS_PROXY:-}"
|
||||
socks_proxy_port="${OLCRTC_SOCKS_PROXY_PORT:-1080}"
|
||||
|
||||
video_w="${OLCRTC_VIDEO_W:-0}"
|
||||
video_h="${OLCRTC_VIDEO_H:-0}"
|
||||
video_fps="${OLCRTC_VIDEO_FPS:-0}"
|
||||
video_bitrate="${OLCRTC_VIDEO_BITRATE:-}"
|
||||
video_hw="${OLCRTC_VIDEO_HW:-none}"
|
||||
video_codec="${OLCRTC_VIDEO_CODEC:-qrcode}"
|
||||
video_qr_size="${OLCRTC_VIDEO_QR_SIZE:-0}"
|
||||
video_qr_recovery="${OLCRTC_VIDEO_QR_RECOVERY:-low}"
|
||||
video_tile_module="${OLCRTC_VIDEO_TILE_MODULE:-0}"
|
||||
video_tile_rs="${OLCRTC_VIDEO_TILE_RS:-0}"
|
||||
|
||||
vp8_fps="${OLCRTC_VP8_FPS:-0}"
|
||||
vp8_batch="${OLCRTC_VP8_BATCH:-0}"
|
||||
|
||||
[ "$mode" = "srv" ] || die "server image defaults to OLCRTC_MODE=srv; got '$mode'"
|
||||
[ -n "$provider" ] || die "set OLCRTC_PROVIDER (e.g. telemost, jazz, wbstream)"
|
||||
[ -n "$carrier" ] || die "set OLCRTC_CARRIER (e.g. telemost, jazz, wbstream)"
|
||||
[ -n "$transport" ] || die "set OLCRTC_TRANSPORT (e.g. datachannel, videochannel, seichannel, vp8channel)"
|
||||
[ -n "$room_id" ] || die "set OLCRTC_ROOM_ID to the room identifier"
|
||||
|
||||
if [ -z "$key" ]; then
|
||||
@@ -65,9 +82,11 @@ esac
|
||||
|
||||
set -- /usr/local/bin/olcrtc \
|
||||
-mode "$mode" \
|
||||
-provider "$provider" \
|
||||
-carrier "$carrier" \
|
||||
-id "$room_id" \
|
||||
-key "$key" \
|
||||
-link "$link" \
|
||||
-transport "$transport" \
|
||||
-data "$data_dir" \
|
||||
-dns "$dns_server"
|
||||
|
||||
@@ -75,6 +94,25 @@ if [ -n "$socks_proxy" ]; then
|
||||
set -- "$@" -socks-proxy "$socks_proxy" -socks-proxy-port "$socks_proxy_port"
|
||||
fi
|
||||
|
||||
if [ "$transport" = "videochannel" ]; then
|
||||
set -- "$@" \
|
||||
-video-w "$video_w" \
|
||||
-video-h "$video_h" \
|
||||
-video-fps "$video_fps" \
|
||||
-video-hw "$video_hw" \
|
||||
-video-codec "$video_codec" \
|
||||
-video-qr-recovery "$video_qr_recovery"
|
||||
|
||||
[ -n "$video_bitrate" ] && set -- "$@" -video-bitrate "$video_bitrate"
|
||||
[ "$video_qr_size" -gt 0 ] && set -- "$@" -video-qr-size "$video_qr_size"
|
||||
[ "$video_tile_module" -gt 0 ] && set -- "$@" -video-tile-module "$video_tile_module"
|
||||
[ "$video_tile_rs" -gt 0 ] && set -- "$@" -video-tile-rs "$video_tile_rs"
|
||||
fi
|
||||
|
||||
if [ "$transport" = "vp8channel" ]; then
|
||||
set -- "$@" -vp8-fps "$vp8_fps" -vp8-batch "$vp8_batch"
|
||||
fi
|
||||
|
||||
if bool_flag "${OLCRTC_DEBUG:-}"; then
|
||||
set -- "$@" -debug
|
||||
fi
|
||||
|
||||
166
script/srv.sh
166
script/srv.sh
@@ -57,33 +57,58 @@ fi
|
||||
|
||||
echo "[+] Using Podman"
|
||||
echo ""
|
||||
echo "Select provider:"
|
||||
echo "Select carrier:"
|
||||
echo " 1) telemost"
|
||||
echo " 2) jazz"
|
||||
echo " 3) wbstream"
|
||||
read -p "Enter choice [1-3, default: 1]: " PROVIDER_CHOICE
|
||||
read -p "Enter choice [1-3, default: 1]: " CARRIER_CHOICE
|
||||
|
||||
case "$PROVIDER_CHOICE" in
|
||||
case "$CARRIER_CHOICE" in
|
||||
2)
|
||||
PROVIDER="jazz"
|
||||
CARRIER="jazz"
|
||||
;;
|
||||
3)
|
||||
PROVIDER="wbstream"
|
||||
CARRIER="wbstream"
|
||||
;;
|
||||
*)
|
||||
PROVIDER="telemost"
|
||||
CARRIER="telemost"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "[*] Using provider: $PROVIDER"
|
||||
echo "[*] Using carrier: $CARRIER"
|
||||
echo ""
|
||||
|
||||
if [ "$PROVIDER" = "jazz" ]; then
|
||||
echo "Select transport:"
|
||||
echo " 1) datachannel"
|
||||
echo " 2) videochannel"
|
||||
echo " 3) seichannel"
|
||||
echo " 4) vp8channel"
|
||||
read -p "Enter choice [1-4, default: 1]: " TRANSPORT_CHOICE
|
||||
|
||||
case "$TRANSPORT_CHOICE" in
|
||||
2)
|
||||
TRANSPORT="videochannel"
|
||||
;;
|
||||
3)
|
||||
TRANSPORT="seichannel"
|
||||
;;
|
||||
4)
|
||||
TRANSPORT="vp8channel"
|
||||
;;
|
||||
*)
|
||||
TRANSPORT="datachannel"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "[*] Using transport: $TRANSPORT"
|
||||
echo ""
|
||||
|
||||
if [ "$CARRIER" = "jazz" ]; then
|
||||
echo "Jazz room options:"
|
||||
echo " 1) Auto-generate new room (recommended)"
|
||||
echo " 2) Use specific room ID (enter roomId:password)"
|
||||
read -p "Enter choice [1-2, default: 1]: " JAZZ_CHOICE
|
||||
|
||||
|
||||
case "$JAZZ_CHOICE" in
|
||||
2)
|
||||
read -p "Enter Room ID (format: roomId:password): " ROOM_ID
|
||||
@@ -97,12 +122,12 @@ if [ "$PROVIDER" = "jazz" ]; then
|
||||
echo "[*] Will auto-generate Jazz room"
|
||||
;;
|
||||
esac
|
||||
elif [ "$PROVIDER" = "wbstream" ]; then
|
||||
elif [ "$CARRIER" = "wbstream" ]; then
|
||||
echo "WB Stream room options:"
|
||||
echo " 1) Auto-generate new room (recommended)"
|
||||
echo " 2) Use specific room ID"
|
||||
read -p "Enter choice [1-2, default: 1]: " WB_CHOICE
|
||||
|
||||
|
||||
case "$WB_CHOICE" in
|
||||
2)
|
||||
read -p "Enter Room ID: " ROOM_ID
|
||||
@@ -124,6 +149,10 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
echo ""
|
||||
read -p "DNS server [default: 1.1.1.1:53]: " DNS_INPUT
|
||||
DNS=${DNS_INPUT:-1.1.1.1:53}
|
||||
|
||||
echo ""
|
||||
read -p "Use SOCKS5 proxy for egress? (y/N): " USE_PROXY
|
||||
|
||||
@@ -140,6 +169,81 @@ if [[ "$USE_PROXY" =~ ^[Yy]$ ]]; then
|
||||
EXTRA_ARGS+=(-socks-proxy "$SOCKS_PROXY_ADDR" -socks-proxy-port "$SOCKS_PROXY_PORT")
|
||||
fi
|
||||
|
||||
TRANSPORT_ARGS=()
|
||||
|
||||
if [ "$TRANSPORT" = "videochannel" ]; then
|
||||
echo ""
|
||||
echo "--- Videochannel settings ---"
|
||||
|
||||
echo ""
|
||||
echo "Video codec:"
|
||||
echo " 1) qrcode"
|
||||
echo " 2) tile (requires 1080x1080)"
|
||||
read -p "Enter choice [1-2, default: 1]: " VCODEC_CHOICE
|
||||
|
||||
case "$VCODEC_CHOICE" in
|
||||
2)
|
||||
VIDEO_CODEC="tile"
|
||||
VIDEO_W=1080
|
||||
VIDEO_H=1080
|
||||
echo "[*] Tile codec selected — forcing 1080x1080"
|
||||
|
||||
read -p "Tile module size in pixels 1..270 [default: 4]: " VTILE_MOD_INPUT
|
||||
VIDEO_TILE_MODULE=${VTILE_MOD_INPUT:-4}
|
||||
|
||||
read -p "Tile Reed-Solomon parity percent 0..200 [default: 20]: " VTILE_RS_INPUT
|
||||
VIDEO_TILE_RS=${VTILE_RS_INPUT:-20}
|
||||
|
||||
TRANSPORT_ARGS+=(-video-tile-module "$VIDEO_TILE_MODULE" -video-tile-rs "$VIDEO_TILE_RS")
|
||||
;;
|
||||
*)
|
||||
VIDEO_CODEC="qrcode"
|
||||
|
||||
read -p "Video width [default: 1920]: " VW_INPUT
|
||||
VIDEO_W=${VW_INPUT:-1920}
|
||||
|
||||
read -p "Video height [default: 1080]: " VH_INPUT
|
||||
VIDEO_H=${VH_INPUT:-1080}
|
||||
|
||||
read -p "QR error correction (low/medium/high/highest) [default: low]: " VQREC_INPUT
|
||||
VIDEO_QR_RECOVERY=${VQREC_INPUT:-low}
|
||||
|
||||
read -p "QR fragment size bytes [default: 0 (auto)]: " VQRSZ_INPUT
|
||||
VIDEO_QR_SIZE=${VQRSZ_INPUT:-0}
|
||||
|
||||
if [ "$VIDEO_QR_SIZE" -gt 0 ]; then
|
||||
TRANSPORT_ARGS+=(-video-qr-size "$VIDEO_QR_SIZE")
|
||||
fi
|
||||
TRANSPORT_ARGS+=(-video-qr-recovery "$VIDEO_QR_RECOVERY")
|
||||
;;
|
||||
esac
|
||||
|
||||
read -p "Video FPS [default: 30]: " VFPS_INPUT
|
||||
VIDEO_FPS=${VFPS_INPUT:-30}
|
||||
|
||||
read -p "Video bitrate [default: 2M]: " VBRT_INPUT
|
||||
VIDEO_BITRATE=${VBRT_INPUT:-2M}
|
||||
|
||||
read -p "Hardware acceleration (none/nvenc) [default: none]: " VHW_INPUT
|
||||
VIDEO_HW=${VHW_INPUT:-none}
|
||||
|
||||
TRANSPORT_ARGS+=(-video-w "$VIDEO_W" -video-h "$VIDEO_H" -video-fps "$VIDEO_FPS" \
|
||||
-video-bitrate "$VIDEO_BITRATE" -video-hw "$VIDEO_HW" -video-codec "$VIDEO_CODEC")
|
||||
fi
|
||||
|
||||
if [ "$TRANSPORT" = "vp8channel" ]; then
|
||||
echo ""
|
||||
echo "--- VP8channel settings ---"
|
||||
|
||||
read -p "VP8 FPS [default: 25]: " VP8FPS_INPUT
|
||||
VP8_FPS=${VP8FPS_INPUT:-25}
|
||||
|
||||
read -p "VP8 batch size (frames per tick) [default: 1]: " VP8BATCH_INPUT
|
||||
VP8_BATCH=${VP8BATCH_INPUT:-1}
|
||||
|
||||
TRANSPORT_ARGS+=(-vp8-fps "$VP8_FPS" -vp8-batch "$VP8_BATCH")
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "[*] Stopping old instance..."
|
||||
podman stop $CONTAINER_NAME 2>/dev/null || true
|
||||
@@ -150,7 +254,7 @@ rm -rf $WORK_DIR
|
||||
mkdir -p $WORK_DIR
|
||||
|
||||
echo "[*] Cloning repository..."
|
||||
git clone --depth 1 --branch "$BRANCH" $REPO_URL $WORK_DIR
|
||||
git clone --depth 1 --recurse-submodules --branch "$BRANCH" $REPO_URL $WORK_DIR
|
||||
|
||||
echo "[*] Pulling Go image..."
|
||||
podman pull $IMAGE_NAME
|
||||
@@ -192,18 +296,20 @@ podman run -d \
|
||||
-v $WORK_DIR:/app:Z \
|
||||
-w /app \
|
||||
$IMAGE_NAME \
|
||||
./olcrtc -mode srv -provider "$PROVIDER" -id "$ROOM_ID" -key "$KEY" "${EXTRA_ARGS[@]}"
|
||||
./olcrtc -mode srv -carrier "$CARRIER" -id "$ROOM_ID" -key "$KEY" \
|
||||
-link direct -transport "$TRANSPORT" -dns "$DNS" -data data \
|
||||
"${EXTRA_ARGS[@]}" "${TRANSPORT_ARGS[@]}"
|
||||
|
||||
sleep 3
|
||||
|
||||
ACTUAL_ROOM_ID="$ROOM_ID"
|
||||
|
||||
if [ "$PROVIDER" = "jazz" ] && [ "$ROOM_ID" = "any" ]; then
|
||||
if [ "$CARRIER" = "jazz" ] && [ "$ROOM_ID" = "any" ]; then
|
||||
echo "[*] Waiting for Jazz room creation..."
|
||||
sleep 2
|
||||
LOGS=$(podman logs $CONTAINER_NAME 2>&1)
|
||||
ACTUAL_ROOM_ID=$(echo "$LOGS" | grep -oP 'Jazz room created: \K[^\s]+' | head -1)
|
||||
|
||||
|
||||
if [ -z "$ACTUAL_ROOM_ID" ]; then
|
||||
echo "[!] WARNING: Could not extract Jazz room ID from logs"
|
||||
echo "[*] Full logs:"
|
||||
@@ -212,12 +318,12 @@ if [ "$PROVIDER" = "jazz" ] && [ "$ROOM_ID" = "any" ]; then
|
||||
else
|
||||
echo "[+] Jazz room created: $ACTUAL_ROOM_ID"
|
||||
fi
|
||||
elif [ "$PROVIDER" = "wbstream" ] && [ "$ROOM_ID" = "any" ]; then
|
||||
elif [ "$CARRIER" = "wbstream" ] && [ "$ROOM_ID" = "any" ]; then
|
||||
echo "[*] Waiting for WB Stream room creation..."
|
||||
sleep 2
|
||||
LOGS=$(podman logs $CONTAINER_NAME 2>&1)
|
||||
ACTUAL_ROOM_ID=$(echo "$LOGS" | grep -oP 'WB Stream room created: \K[^\s]+' | head -1)
|
||||
|
||||
|
||||
if [ -z "$ACTUAL_ROOM_ID" ]; then
|
||||
echo "[!] WARNING: Could not extract WB Stream room ID from logs"
|
||||
echo "[*] Full logs:"
|
||||
@@ -232,7 +338,8 @@ echo ""
|
||||
echo "[+] Server started successfully!"
|
||||
echo ""
|
||||
echo "Container name: $CONTAINER_NAME"
|
||||
echo "Provider: $PROVIDER"
|
||||
echo "Carrier: $CARRIER"
|
||||
echo "Transport: $TRANSPORT"
|
||||
echo "Room ID: $ACTUAL_ROOM_ID"
|
||||
echo "Encryption key: $KEY"
|
||||
|
||||
@@ -248,5 +355,26 @@ echo "Stop server:"
|
||||
echo " podman stop $CONTAINER_NAME"
|
||||
echo ""
|
||||
echo "Client command:"
|
||||
echo " ./olcrtc -mode cnc -provider \"$PROVIDER\" -id \"$ACTUAL_ROOM_ID\" -key \"$KEY\" -socks-port 1080"
|
||||
echo -n " ./olcrtc -mode cnc -carrier \"$CARRIER\" -id \"$ACTUAL_ROOM_ID\" -key \"$KEY\" \\"
|
||||
echo ""
|
||||
echo -n " -link direct -transport \"$TRANSPORT\" -dns 1.1.1.1:53 -data data \\"
|
||||
echo ""
|
||||
|
||||
if [ "$TRANSPORT" = "videochannel" ]; then
|
||||
echo -n " -video-w \"$VIDEO_W\" -video-h \"$VIDEO_H\" -video-fps \"$VIDEO_FPS\" \\"
|
||||
echo ""
|
||||
echo -n " -video-bitrate \"$VIDEO_BITRATE\" -video-hw \"$VIDEO_HW\" -video-codec \"$VIDEO_CODEC\" \\"
|
||||
echo ""
|
||||
if [ "$VIDEO_CODEC" = "tile" ]; then
|
||||
echo -n " -video-tile-module \"$VIDEO_TILE_MODULE\" -video-tile-rs \"$VIDEO_TILE_RS\" \\"
|
||||
echo ""
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$TRANSPORT" = "vp8channel" ]; then
|
||||
echo -n " -vp8-fps \"$VP8_FPS\" -vp8-batch \"$VP8_BATCH\" \\"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
echo " -socks-host 0.0.0.0 -socks-port 1080"
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user