{"id":22084809,"url":"https://github.com/x186k/deadsfu","last_synced_at":"2025-12-15T07:33:04.473Z","repository":{"id":45270187,"uuid":"325390439","full_name":"x186k/deadsfu","owner":"x186k","description":"Dead-simple WebRTC broadcasting.  From the browser, or your application. Cloud-native and scalable. ","archived":false,"fork":false,"pushed_at":"2022-03-26T23:37:22.000Z","size":12722,"stargazers_count":43,"open_issues_count":3,"forks_count":8,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-28T18:54:34.316Z","etag":null,"topics":["broadcasting","docker","go","golang","kubernetes","livestreaming","low-latency","real-time","streaming","webrtc"],"latest_commit_sha":null,"homepage":"https://deadsfu.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/x186k.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-29T21:27:26.000Z","updated_at":"2025-03-06T19:29:38.000Z","dependencies_parsed_at":"2022-09-17T14:11:47.236Z","dependency_job_id":null,"html_url":"https://github.com/x186k/deadsfu","commit_stats":null,"previous_names":["x186k/sfu-x186k"],"tags_count":160,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x186k%2Fdeadsfu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x186k%2Fdeadsfu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x186k%2Fdeadsfu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x186k%2Fdeadsfu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/x186k","download_url":"https://codeload.github.com/x186k/deadsfu/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249048356,"owners_count":21204304,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["broadcasting","docker","go","golang","kubernetes","livestreaming","low-latency","real-time","streaming","webrtc"],"created_at":"2024-12-01T01:02:02.717Z","updated_at":"2025-12-15T07:32:59.409Z","avatar_url":"https://github.com/x186k.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":" \n\n\n\n \u003c!-- model:  https://github.com/typesense/typesense --\u003e\n\n\n## Dead-simple Scalable WebRTC Broadcasting  \u003c!-- omit in toc --\u003e\n\n\n**DeadSFU**: dead-simple broadcasting and video transmission.\n\n\n\u003c!-- slack badget --\u003e\n\u003ca style=\"text-decoration:none;\" href=\"https://join.slack.com/t/deadsfu/shared_invite/zt-sv23oa10-XFFYoJHPty8BtuCmBthH_A\" rel=\"nofollow\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/slack%20community-join-red\" alt=\"HTML tutorial\"\u003e\n\u003c/a\u003e\n\n\n\n## Quick Links  \u003c!-- omit in toc --\u003e\n\n- [Feature List](#feature-list)\n- [Quick Install](#quick-install)\n- [Quick Start: OBS / FTL ingress](#quick-start-obs--ftl-ingress)\n- [Quick Start: Browser Ingress](#quick-start-browser-ingress)\n- [Getting Support](#getting-support)\n- [Email Newsletter](#email-newsletter)\n- [Contributing](#contributing)\n- [Getting Latest Updates](#getting-latest-updates)\n- [Compile From Source](#compile-from-source)\n- [DeadSFU Thanks](#deadsfu-thanks)\n\n\u003c!--\ntodo, see also typesense\n## Benchmarks\n## Who's using this\n## API Documentation\n## API Clients\n--\u003e\n\n[WHIP]: https://www.ietf.org/archive/id/draft-ietf-wish-whip-00.html\n\n## Feature List\n\n- **Dead-Simple Usage:** Meticulously crafted for ease-of-use, scalability, and performance.\n- **Large Scale WebRTC Broadcasting:** SFUs can be easily cascaded to create clusters of hundreds of servers.\n- **Cloud Native Docker:** Ready to go Docker images for cloud-native broadcasting clusters.\n- **Auto Scaling Compatible:** HTTP signalling is compatible with most cluster-autoscaling methods.\n- **OBS Broadcasting:** Send from OBS to DeadSFU for doing WebRTC broadcasting.\n- **Browser Viewer:** Browser viewer enables watching broadcasts.\n- **Simple Ingress HTTPS Signalling:** [WHIP][WHIP] compatible: Send an Offer-SDP, get an Answer-SDP, and you're publishing!\n- **Simple Egress HTTPS Signalling:** WHIP-like: Send an Offer-SDP, get an Answer-SDP, and you're receiving!\n- **Designed For Fault Tolerance:** Single-peer-ingress design for practical large-scale fault-tolerant containerized broadcasting.\n- **Kubernetes/Docker capable:** Designed for Kubernetes or Swarm broadcasting clusters.\n- **HTTP load balancer compatible:** Designed standard HTTP load balancer compatibility on egress.\n- **Dead-simple Install:** Use a one-liner curl \u0026 untar command to prepare to broadcast.\n- **No Runtime Dependencies:** DeadSFU is a single binary that you can run locally or in production with a single command.\n\n**Don't see a feature on this list?** Check the issue track to see if your feature is there, if not open a new issue. We need your input to make our roadmap, and we'd love to hear from you.\n\n\n## Quick Install \n\nLinux Intel/AMD64\n```bash\ncurl -sL https://github.com/x186k/deadsfu/releases/latest/download/deadsfu-linux-amd64.tar.gz | tar xvz\n```\nLinux ARM64\n```bash\ncurl -sL https://github.com/x186k/deadsfu/releases/latest/download/deadsfu-linux-arm64.tar.gz | tar xvz\n```\nmacOS Intel CPU\n```bash\ncurl -sL https://github.com/x186k/deadsfu/releases/latest/download/deadsfu-darwin-amd64.tar.gz | tar xvz\n```\nmacOS Apple CPU\n```bash\ncurl -sL https://github.com/x186k/deadsfu/releases/latest/download/deadsfu-darwin-arm64.tar.gz | tar xvz\n```\nDocker Pull\n```bash\ndocker pull x186k/deadsfu\n```\nWindows\n```bash\ncurl  https://github.com/x186k/deadsfu/releases/latest/download/deadsfu-windows-amd64.zip -sLo tmp \u0026\u0026 tar -xvf tmp \u0026\u0026 del tmp\n```\n\n## Quick Start: OBS / FTL ingress\n\nRemove the --ftl-key args if you are not using OBS/FTL.\n\nLinux/macOS\n```bash\n./deadsfu --http :8080 --html internal --ftl-key 123-abc\n```\nWindows\n```\n.\\\\deadsfu --http :8080 --html internal --ftl-key 123-abc\n```\n\nDocker Host Networking (recommended) Only Works on Linux\n```bash\ndocker run --name deadsfu --pull always --network host x186k/deadsfu --http :8080 --html internal --ftl-key 123-abc\n```\nHost networking can ease WebRTC connecting in difficult environments.  The SFU can share the true host IP addresses.\n\nDocker Forwarded Ports (Mac,Win,Linux)\n```bash\ndocker run --name deadsfu --pull always -p 8080:8080 -p 8084:8084/udp -p 8084:8084/tcp x186k/deadsfu --http :8080 --html internal --ftl-key 123-abc\n```\n\n\n\n\n\n## Quick Start: Browser Ingress\n\n#### Not Yet, file an issue for help\n\n\u003c!-- ## Quick Start: Digital Ocean App\n\n[![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/x186k/deadsfu/tree/main) --\u003e\n\n\n## Getting Support\n\nAuthor's email is `cameron@cameronelliott.com`\n\nSlack link: [Slack Invite Link](https://join.slack.com/t/deadsfu/shared_invite/zt-sv23oa10-XFFYoJHPty8BtuCmBthH_A)\n\n## Email Newsletter\n\n[Get the email newletter.](https://docs.google.com/forms/d/e/1FAIpQLSd8rzXabvn73YC_GPRtXZb1zlKPeOEQuHDdVi4m9umJqEaJsA/viewform)\n\n## Contributing\n\nIf you have an idea to share, please post it on the [Github discussions](https://github.com/x186k/deadsfu/discussions/categories/ideas) board.  \nIf you have found a bug, please file an issue on [Github issues](https://github.com/x186k/deadsfu/issues)\nIf you have suggestions or ideas, please submit an issue or create a discussion. Your ideas are wanted!\n\n## Getting Latest Updates\n\nYou can update by simply re-running the `curl` and `tar` commands again as in the install directions.\n\nFor Docker, simply re-pull the latest image.\n\n## Compile From Source\n\nThe deadsfu repo includes git submodules.\n\nSo, use the `--recursive` flag when checking out. [Git submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules).\n\nYou need a version of Go greater than 1.16, we recommend 1.17 or later.\n\nClone the main repo:\n```bash\ngit clone --recursive https://github.com/x186k/deadsfu\n```\nChange dir:\n```bash\ncd deadsfu\n```\n\nBuild with Go:\n```bash\ngo build .\n```\n\n## DeadSFU Thanks\n\n- [Sean Dubois](https://github.com/Sean-Der) Creator of Pion\n- [Luis Orlando](https://github.com/OrlandoCo) Pion help code\n- [Juliusz Chroboczek](https://github.com/jech) Pion help and code\n- [Matt Holt](https://github.com/mholt) Creator of Caddy\n- [Francis Lavoie](https://github.com/francislavoie) Caddy maintainer\n- [Alex Williams](https://github.com/llspalex) Louper founder, inspiration.\n- [Sayan Bhattacharya](https://github.com/Thunder80) Louper developer.\n- [Charles Surett](https://github.com/scj643) Early user.\n- [Alex Peder](https://artiflix.com/) Project supporter.\n- [Akash](https://github.com/discist) Early user.\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fx186k%2Fdeadsfu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fx186k%2Fdeadsfu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fx186k%2Fdeadsfu/lists"}