{"id":24185179,"url":"https://github.com/beastcodz/streamdecky","last_synced_at":"2025-12-31T01:05:00.076Z","repository":{"id":252721212,"uuid":"840915374","full_name":"BeastCodZ/streamdecky","owner":"BeastCodZ","description":"StreamDecky is a web-based tool that lets you create customizable buttons to remotely launch applications or handle custom URIs. Built with Next.js and Node.js, it offers a dynamic and responsive interface, driven by a simple 'settings.json' file.","archived":false,"fork":false,"pushed_at":"2024-10-24T18:12:58.000Z","size":482,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-13T11:19:06.077Z","etag":null,"topics":["javascript","js","nextjs","nodejs","streamdeck"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BeastCodZ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-08-11T04:42:05.000Z","updated_at":"2024-09-01T12:09:04.000Z","dependencies_parsed_at":"2024-08-15T17:57:37.651Z","dependency_job_id":"76ce76cc-0ed7-4a1d-b6a2-0fa0f04c3494","html_url":"https://github.com/BeastCodZ/streamdecky","commit_stats":null,"previous_names":["beastcodz/streamdeck"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BeastCodZ%2Fstreamdecky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BeastCodZ%2Fstreamdecky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BeastCodZ%2Fstreamdecky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BeastCodZ%2Fstreamdecky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BeastCodZ","download_url":"https://codeload.github.com/BeastCodZ/streamdecky/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241587798,"owners_count":19986628,"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":["javascript","js","nextjs","nodejs","streamdeck"],"created_at":"2025-01-13T11:19:08.612Z","updated_at":"2025-12-31T01:05:00.050Z","avatar_url":"https://github.com/BeastCodZ.png","language":"TypeScript","readme":"![image](https://github.com/user-attachments/assets/366b27da-289f-43b8-a3d5-ea4124131bed)\n\n# StreamDecky\n\nStreamDecky is a web-based application that allows you to create and manage customizable buttons that launch applications and handle custom URI schemes. The application is built using Next.js for the frontend and Node.js (Express) for the backend, providing a seamless experience for managing and launching applications remotely.\n\n## Features\n\n- **Dynamic Button Generation**: Buttons are dynamically generated based on a `settings.json` configuration file.\n- **Remote Application Launching**: Launch applications or handle custom URIs from the server-side, keeping the client-side light and secure.\n- **Customizable Interface**: Easily add or modify buttons by updating the `settings.json` file.\n- **Responsive Design**: The UI adjusts the grid layout based on the number of buttons, ensuring a consistent look across different screen sizes.\n\n## Pending stuff\n\n- Settings Page\n- more shortcuts(change of volume and stuff)\n- Saving application layout and opening bulk application\n\n## Getting Started\n\n### Prerequisites\n\n- **Node.js** (version 14 or higher)\n- **npm** or **yarn**\n\n### Installation\n\n1. **Clone the repository:**\n\n```bash\ngit clone https://github.com/yourusername/StreamDecky.git\ncd StreamDecky\n```\n2. **Install the dependencies**\n```bash\nnpm install\n# or\nyarn install\n```\n3. **Start the development server**\n```bash\nnpm run dev\n# or\nyarn dev\n```\n### Running the Server\nStart the Node.js server:\n```bash\nnode server.js\n# The server will run on the same port as the Next.js application\n```\n\n### Usage\nConfiguration\nsettings.json: This file contains the configuration for the buttons. Each button has a name, path (for executable applications), uri (for custom URI schemes), and icon.\n\nExample settings.json:\n\n```json\n\n[\n    {\n      \"name\": \"Valorant\",\n      \"cmd\": \"\\\"C:\\\\Riot Games\\\\Riot Client\\\\RiotClientServices.exe\\\" --launch-product=valorant --launch-patchline=live\",      \n      \"type\": \"exe\",\n      \"icon\": \"/icons/valorant.png\",\n      \"processName\": \"VALORANT-Win64-Shipping.exe\"\n    },\n    {\n      \"name\": \"Grand Theft Auto V\",\n      \"cmd\": \"com.epicgames.launcher://apps/0584d2013f0149a791e7b9bad0eec102%3A6e563a2c0f5f46e3b4e88b5f4ed50cca%3A9d2d0eb64d5c44529cece33fe2a46482?action=launch\u0026silent=true\",\n      \"type\": \"URI\",\n      \"icon\": \"/icons/gta5.png\",\n      \"processName\": \"GTA5.exe\"\n    },\n    {\n      \"name\": \"Tekken 8\",\n      \"cmd\": \"\\\"D:\\\\Games\\\\TEKKEN 8\\\\Polaris\\\\Binaries\\\\Win64\\\\Polaris-Win64-Shipping.exe\\\"\",\n      \"type\": \"exe\",\n      \"icon\": \"https://img.playstationtrophies.org/images/2024/01/24/icon/10e1c115a12eb21755f86f0d7a64548d-l.png\",\n      \"processName\": \"Polaris-Win64-Shipping.exe\"\n    },\n    {\n      \"name\": \"Discord\",\n      \"cmd\": \"\\\"C:\\\\Users\\\\BeastCodZ\\\\AppData\\\\Local\\\\Discord\\\\Update.exe\\\" --processStart Discord.exe\",\n      \"type\": \"exe\",\n      \"icon\": \"https://static.vecteezy.com/system/resources/previews/006/892/625/non_2x/discord-logo-icon-editorial-free-vector.jpg\",\n      \"processName\": \"Discord.exe\"\n    },\n    {\n      \"name\": \"Spotify\",\n      \"cmd\": \"\\\"C:\\\\Users\\\\BeastCodZ\\\\AppData\\\\Roaming\\\\Spotify\\\\Spotify.exe\\\"\",\n      \"type\": \"exe\",\n      \"icon\": \"https://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Spotify_App_Logo.svg/800px-Spotify_App_Logo.svg.png\",\n      \"processName\": \"Spotify.exe\"\n    },\n    \n    {\n      \"name\": \"Settings\",\n      \"cmd\": \"\",\n      \"type\": \"misc\",\n      \"icon\": \"/settings.png\",\n      \"processName\": \"\"\n    }\n  ]\n```\nRunning the Application\nOnce the server and development server are running, open your browser and navigate to http://localhost:3000. You will see the StreamDecky interface with buttons based on the settings.json configuration.\n\nSettings Page\nThe settings page allows you to view and update the settings.json file live. Any changes made will automatically reflect in the StreamDecky interface.\n\n# Screenshots\n\n![image](https://github.com/user-attachments/assets/8af8d9db-68bf-4bc3-ae1a-58477dc4389c)\n\n\n# License\nThis project is licensed under the MIT License\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeastcodz%2Fstreamdecky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeastcodz%2Fstreamdecky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeastcodz%2Fstreamdecky/lists"}