8000 Releases · adeelahmad/gadgetcast · GitHub
[go: up one dir, main page]

Skip to content

Releases

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 18 Oct 01:26
4e3feeb

What's Changed

  • fix(gadget): write absolute configfs symlink targets by @adeelahmad in #30

Full Changelog: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@adeelahmad adeelahmad released this 18 Oct 00:49
9fc3458

First GadgetCast prerelease. Plug a Raspberry Pi into a computer and it shows up as a USB webcam, microphone and speaker, fed from a browser or phone on your network.

What's in it

  • USB gadget at boot: UVC webcam (MJPEG) + UAC2 mic/speaker (gadgetcast gadget up, run by gadgetcast-gadget.service).
  • Browser or phone mic → the host's USB mic (WebRTC, Opus).
  • Browser camera or screen → the host's USB webcam (H.264 or VP8, re-encoded to MJPEG).
  • Optional: hear the host computer's sound on the sending device (USB speaker → browser).
  • /send phone page: one button, PIN pairing, truthful on-air tally.
  • HTTPS required; PIN pairing with a per-address lockout (5 wrong PINs → 1 min, doubling to 1 h).
  • Studio UI meets WCAG AA contrast (axe-core: 0 violations).

Test level, honestly: unit tests plus a headless-Chromium end-to-end run where audio and video RTP reach the GStreamer pipeline input. Not yet tested on a Pi plugged into a real host. Please file a hardware report (issue template) if you try it.

Install:

curl -fsSL https://github.com/adeelahmad/gadgetcast/releases/download/v0.1.0/install.sh | sudo sh

With no full release yet, the installer picks the newest prerelease. The auto-update timer only follows full releases, so a prerelease install stays put.

Rollback: sudo sh install.sh --uninstall removes gadgetcast, its services and the update timer. Later releases roll back with GADGETCAST_VERSION=<older tag>.

Flash a Pi (Zero 2 W, 3, 4, 5): download gadgetcast-v0.1.0-arm64.img.xz, open it in Raspberry Pi Imager ("Use custom"), set Wi-Fi/user/SSH in the customisation screen, flash, plug the Pi's USB data port into the computer, then open https://gadgetcast.local. The pairing PIN is in gadgetcast-pin.txt on the boot partition. The image was boot-tested in QEMU only (gadgetcast starts on first boot); USB gadget mode needs real hardware. A 32-bit image for the original Pi Zero will follow; on those, use install.sh.

Checksums: SHA256SUMS.

What's Changed

  • Add CLAUDE.md with repo guidance by @adeelahmad in #1
  • Pi server (REST + WebSocket signaling), Go CI, and Studio web UI by @adeelahmad in #3
  • One-line install, one-click releases, automatic updates, flashable Pi image by @adeelahmad in #2
  • Launch-ready README, contributor docs and social preview by @adeelahmad in #4
  • Configure the Pi image from Raspberry Pi Imager or a boot-partition env file by @adeelahmad in #10
  • Support the original Pi Zero / Zero W (armv6 image + CI) by @adeelahmad in #11
  • fix(install): enable USB gadget mode on stock Raspberry Pi OS by @adeelahmad in #12
  • feat(gadget): create the USB webcam + mic + speaker at boot by @adeelahmad in #13
  • fix(ui): make clickable rows keyboard-operable by @adeelahmad in #14
  • feat(audio): play a paired browser's mic into the USB microphone by @adeelahmad in #15
  • fix(security): rate-limit PIN guesses per remote address by @adeelahmad in #16
  • fix(ui): on-air tally follows who is on air, not the pipeline by @adeelahmad in #20
  • chore(deps): take Pion, DTLS, STUN and x/crypto security updates by @adeelahmad in #21
  • feat(ui): /send, a one-button phone page for sending the mic by @adeelahmad in #23
  • chore(deps): bump golang.org/x/net from 0.54.0 to 0.55.0 by @dependabot[bot] in #24
  • feat(video): browser camera or screen becomes the USB webcam by @adeelahmad in #25
  • fix(a11y): WCAG AA contrast, landmarks and focusable scroll areas by @adeelahmad in #26
  • fix(install): install the newest prerelease when there is no full release by @adeelahmad in #27
  • feat(audio): hear the host computer's sound on the sending device by @adeelahmad in #28
  • fix(install): don't order gadgetcast after cloud-init.target by @adeelahmad in #29

New Contributors

Full Changelog: https://github.com/adeelahmad/gadgetcast/commits/v0.1.0

0