{"id":28279917,"url":"https://github.com/crazywolf13/streamlink-webui","last_synced_at":"2025-06-16T17:30:32.441Z","repository":{"id":186111149,"uuid":"674641532","full_name":"CrazyWolf13/streamlink-webui","owner":"CrazyWolf13","description":"a simple web-ui to the well-known streamlink cli application","archived":false,"fork":false,"pushed_at":"2025-05-21T20:19:14.000Z","size":38260,"stargazers_count":17,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-15T06:53:40.982Z","etag":null,"topics":["fastapi","python","streamlink","streamlink-gui","streamlink-webui","vuejs","webui"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/crazywolf13/streamlink-webui","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CrazyWolf13.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-04T12:44:33.000Z","updated_at":"2025-06-14T02:31:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"f0c13eae-308e-4ab9-9910-47d98db567c3","html_url":"https://github.com/CrazyWolf13/streamlink-webui","commit_stats":null,"previous_names":["crazywolf13/streamlink_web-ui","crazywolf13/streamlink-webui"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/CrazyWolf13/streamlink-webui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CrazyWolf13%2Fstreamlink-webui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CrazyWolf13%2Fstreamlink-webui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CrazyWolf13%2Fstreamlink-webui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CrazyWolf13%2Fstreamlink-webui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CrazyWolf13","download_url":"https://codeload.github.com/CrazyWolf13/streamlink-webui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CrazyWolf13%2Fstreamlink-webui/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260204345,"owners_count":22974115,"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":["fastapi","python","streamlink","streamlink-gui","streamlink-webui","vuejs","webui"],"created_at":"2025-05-21T09:16:04.709Z","updated_at":"2025-06-16T17:30:32.424Z","avatar_url":"https://github.com/CrazyWolf13.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Streamlink WebUI \n\nThis repository currently contains the code for an application which simplifies the download of Twitch Streams.\n\nI used a FastAPI backend and a Vue.js frontend.\n\nThis project is in early-early alpha, so any reviews, bug reports or feature request are highly appreciated.\n\n## Table of Contents\n\n- [Streamlink WebUI](#streamlink-webui)\n  - [Table of Contents](#table-of-contents)\n  - [Features](#features)\n  - [Showcase](#showcase)\n    - [Start job section](#start-job-section)\n    - [Running jobs section](#running-jobs-section)\n- [Installation](#installation)\n  - [Docker](#docker)\n    - [Behind a domain](#behind-a-domain)\n  - [Proxmox](#proxmox)\n  - [Bare Metal](#bare-metal)\n  - [Configuration](#configuration)\n  - [API Endpoints](#api-endpoints)\n  - [Logging](#logging)\n  - [License](#license)\n  - [License for Included Software](#license-for-included-software)\n      - [Streamlink](#streamlink)\n  - [Acknowledgements](#acknowledgements)\n\n\n## Features\n\n- Use a frontend to record Twitch streams.\n- Schedule recordings to start automatically when a channel goes live.\n- View all currently running or scheduled recordings.\n- Display Twitch avatars.\n\n## Showcase\n\n### Start job section\n\n![Showcase Start Recoring Section](./assets/showcase_1.png)\n\n### Running jobs section\n\n![Showcase Running Streams Section](./assets/showcase_2.png)\n\n\n# Installation\n\n## Docker\n\nDocker images are available on Docker Hub.\n\n```bash\ndocker pull crazywolf13/streamlink-webui:latest\n```\n\n```bash\ndocker run -p 8000:8000 -dit \\\n  --name streamlink-webui \\\n  -e CLIENT_ID='your_client_id' \\\n  -e CLIENT_SECRET='your_client_secret' \\\n  -v /path/to/downloads:/app/downloads \\\n  crazywolf13/streamlink-webui\n```\n\n### Behind a domain\nExample with a reverse proxy and domain setup:\n\n```bash\ndocker run -p 8000:8000 -dit \\\n  --name streamlink-webui \\\n  -e CLIENT_ID='your_client_id' \\\n  -e CLIENT_SECRET='your_client_secret' \\\n  -e BASE_URL='https://sub.domain.com' \\\n  -e REVERSE_PROXY=True \\\n  -v /path/to/downloads:/app/downloads \\\n  crazywolf13/streamlink-webui\n```\n\n## Proxmox\n\nStreamlink-WebUI is available on Community Scripts, a set of easy installer scripts for Proxmox LXC: https://community-scripts.github.io/ProxmoxVE/scripts?id=streamlink-webui\n\n## Bare Metal\n\n1. Clone the repository:\n    ```bash\n    git clone https://github.com/CrazyWolf13/streamlink-webui.git\n    cd streamlink-webui/backend/src\n    ```\n\n2. Install the required packages:\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n3. Build the frontend\n    ```bash\n    cd ../../frontend/src\n    npm install\n    npm install -g yarn\n    yarn build\n    ```\n\n4. Create a Twitch API Key to fetch live status and user avatars:\n\n  1. Go to the [Twitch Developer Portal](https://dev.twitch.tv/console/apps).\n  2. Sign in if prompted.\n  3. Click on \"Register Your Application\".\n  4. Provide a name for your app and select \"Application Integration\".\n  5. Enter `https://localhost` as the OAuth Redirect URL.\n  6. You will receive a Client ID and Client Secret.\n  7. In the root directory of the project, create a `.env` file and add the following:\n```\nCLIENT_ID='your_client_id'\nCLIENT_SECRET='your_client_secret'\nDOWNLOAD_PATH='/home/\u003cyour_username\u003e/Download'\n```\n\n5. Run FastAPI:\n    ```bash\n    cd ../../backend/src\n    fastapi run main.py\n    ```\n\n## Configuration\n\n- The application uses Streamlink to handle the streams.\n- The database is initialized with SQLAlchemy.\n- Logs are stored in the `./logs` directory, and the database schema is configured in `db_schema.py`.\n\n## API Endpoints\n\nVisit /docs endpoint to get an overview of all api endpoints and how to use them.\n\n## Logging\n\n- Logs are created for each download task with detailed information about the streaming and recording process.\n- Global logs are stored in `./logs/application-\u003cdate\u003e.log`.\n- Each download task gets its own log file named based on the stream's filename, stored in the `./logs` directory.\n\n\n## License \n\nThis project is licensed under the BSD 2-Clause License.\n\n[License](./LICENSE)\n\n## License for Included Software\n\n#### Streamlink\n\nThis project is built upon software from the Streamlink project, which is licensed under the BSD 2-Clause License. See below for the full license text:\n[Third-Party-Licenses](./third-party-licenses)\n\n## Acknowledgements\n\nWe would like to thank the authors and maintainers of [Streamlink](https://github.com/streamlink/streamlink) for their excellent work at maintaining streamlink. Streamlink is invaluable to our project, and we appreciate your dedication to the open-source community.\n\nThank you!\n\n---\n\nDeveloped by CrazyWolf13 with ❤️\n\n## ⭐ Star History\n\n\u003ca href=\"https://star-history.com/#CrazyWolf13/streamlink-webui\u0026Date\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=CrazyWolf13/streamlink-webui\u0026type=Date\u0026theme=dark\" /\u003e\n   \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=CrazyWolf13/streamlink-webui\u0026type=Date\" /\u003e\n   \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=CrazyWolf13/streamlink-webui\u0026type=Date\" /\u003e\n \u003c/picture\u003e\n\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrazywolf13%2Fstreamlink-webui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrazywolf13%2Fstreamlink-webui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrazywolf13%2Fstreamlink-webui/lists"}