{"id":26326164,"url":"https://github.com/piterweb/libreremoteplay","last_synced_at":"2025-04-07T15:10:28.808Z","repository":{"id":192451135,"uuid":"681706668","full_name":"PiterWeb/LibreRemotePlay","owner":"PiterWeb","description":"✨ Free and OpenSource Steam Remote Play 🎮 Alternative powered by WebRTC 🌐and Web APIs","archived":false,"fork":false,"pushed_at":"2025-03-07T21:15:15.000Z","size":29689,"stargazers_count":92,"open_issues_count":8,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-07T22:19:17.598Z","etag":null,"topics":["controller","game-stream","game-streaming","gamepad","gaming","gaming-software","golang","libreremoteplay","p2p","pion","remote","remote-controller","svelte","sveltekit","vigem","wails","webrtc","windows-app","windows-desktop","xinput"],"latest_commit_sha":null,"homepage":"https://remote-controller.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PiterWeb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":"FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"piterdev"}},"created_at":"2023-08-22T15:23:15.000Z","updated_at":"2025-03-07T21:15:20.000Z","dependencies_parsed_at":"2023-10-12T01:43:23.337Z","dependency_job_id":"32d90bae-cf36-4f49-9918-8f9dbee4c214","html_url":"https://github.com/PiterWeb/LibreRemotePlay","commit_stats":{"total_commits":111,"total_committers":3,"mean_commits":37.0,"dds":"0.46846846846846846","last_synced_commit":"36c1b309d8ffe7acfe948ce124e6426ffc940d7e"},"previous_names":["piterweb/remotecontroller","piterweb/libreremoteplay"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiterWeb%2FLibreRemotePlay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiterWeb%2FLibreRemotePlay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiterWeb%2FLibreRemotePlay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiterWeb%2FLibreRemotePlay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PiterWeb","download_url":"https://codeload.github.com/PiterWeb/LibreRemotePlay/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247675607,"owners_count":20977378,"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":["controller","game-stream","game-streaming","gamepad","gaming","gaming-software","golang","libreremoteplay","p2p","pion","remote","remote-controller","svelte","sveltekit","vigem","wails","webrtc","windows-app","windows-desktop","xinput"],"created_at":"2025-03-15T19:35:27.431Z","updated_at":"2025-04-07T15:10:28.796Z","avatar_url":"https://github.com/PiterWeb.png","language":"TypeScript","funding_links":["https://ko-fi.com/piterdev"],"categories":[],"sub_categories":[],"readme":"![LibreRemotePlay logo banner](https://github.com/user-attachments/assets/9173246d-1d65-4f29-bd79-0206250c538c)\n\n# LibreRemotePlay\n### An open source, free (as in freedom) and P2P alternative to Steam Remote Play\n\n- Website 🌐: https://libreremoteplay.vercel.app/\n\n- Wiki 📖: https://github.com/PiterWeb/LibreRemotePlay/wiki\n\n- Discord Community 👥: https://discord.gg/v7qd7nU3fJ\n\n- Series of WebRTC Articles 👨‍💻: https://dev.to/piterweb/series/30718\n\n## Use cases ✨\n\n- Share your local co-op games online with friends (as [Steam Remote Play Together](https://store.steampowered.com/remoteplay?l=english#together))\n- Stream your games from your PC to other devices (as [Steam Remote Play Anywhere](https://store.steampowered.com/remoteplay?l=english#anywhere))\n\n## Download 📦\n\n- https://github.com/PiterWeb/LibreRemotePlay/releases/latest\n\n## Resources 📚\n\n- [Docs](./docs/) 📘\n- [Linux Docs](./docs/LINUX.md) 📘\n- [Wiki](https://github.com/PiterWeb/LibreRemotePlay/wiki) (Guides, FAQ, ...)\n- [Discord Community](https://discord.gg/v7qd7nU3fJ)\n\n### Videos 📹\n(Note that videos may show older/beta versions of the APP and could have bugs that are already fixed in the latest version)\n\n#### How to use\n\nhttps://github.com/user-attachments/assets/f4a412fa-f403-4429-85fb-9c1e74bff458\n\n## Features 🧩\n\n- [x] Portable\n- [x] Simple \u0026 Modern UI\n- [x] Interactive Tutorial\n- [x] Peer-to-Peer (WebRTC)\n- [ ] Groups\n- [x] Remote Video Streaming\n  - [ ] Video Quality Config \n- [x] Browser Client\n- [x] Localization (translation to multiple languages)\n- [x] Support for custom STUN \u0026 TURN servers\n- [ ] Keyboard\n- [ ] Toogle Devices\n\n### OS Support 💻\n\n| Windows \t| Linux \t| MacOS \t| Browser (Only Client) \t|\n|---------\t|-------\t|-------\t|---------\t|\n| ✔       \t| ✔     \t| ❌ (No MacOS to test/develop)     \t| ✔ (Known Issues with Safari)       \t|\n\n### Gamepad Support 🎮\n\n| PC Controller (XInput/DirectInput) \t| Xbox Controller (XInput) \t| PlayStation Controler\n|---------\t|-------\t|-------\t|\n| ✔       \t| ✔     \t| ❌ (But you can achieve [emulating a Xbox Controller](https://github.com/Ryochan7/DS4Windows))     \t|\n\n### Available Languages 🔠\n\n| English \t| Spanish \t| Galician | Russian | French |Other languages |\n|---------\t|-------\t|-------\t| ------- | ------- | ------- |\n| ✔     \t| ✔      \t| ✔      \t| ✔ | ✔ (@Zorkyx22) |⌛ Looking for contributions\n\n## Self Hosting ☁\n\nThere is no way to self-host the infrastructure of LibreRemotePlay because it has no backend. But instead you can self-host if you want the TURN \u0026 STUN servers and then add them to the config.\n\n- If you want to self-host a TURN/STUN server you can [try Coturn](https://github.com/coturn/coturn). (This is only an example, you can choose other STUN/TURN implementations)\n\n- Also you can host the Web version (but it is only frontend, so is not very usefull)\n\n## Run Dev\n\n### Prerequisites\n\nYou must have [Task CLI](https://taskfile.dev/installation/), [Wails CLI](https://wails.io/docs/gettingstarted/installation#installing-wails), [NodeJS (~v20.x.x)](https://nodejs.org/en/download), [pnpm](https://pnpm.io/es/installation) and [Golang (min v1.22.4)](https://go.dev/doc/install) installed.\n\n### How to\n\nGo to the root project folder and run\n\n  - Full App :\n\n    `$ task dev-all`\n\n  - Frontend:\n\n    `$ task dev-front`\n\n## Build\n\n### Prerequisites\n\nYou must have [Task CLI](https://taskfile.dev/installation/), [Wails CLI](https://wails.io/docs/gettingstarted/installation#installing-wails), [NodeJS (~v20.x.x)](https://nodejs.org/en/download), [pnpm](https://pnpm.io/es/installation) and [Golang (min v1.22.4)](https://go.dev/doc/install) installed.\n\n### How to\n\nGo to the root project folder and run\n\n- For general builds:\n\n    `$ task build`\n\n- For Windows builds:\n\n    `$ task build-win`\n\n- For Linux builds:\n\n    `$ task build-linux`\n\nfinally go to the build/bin folder and your executables will be there.\n\n\u003e [!Note]\n\u003e Please note the supported platforms in the table\n\n## Contributting 🤝\n\nIf you are interested to contribute to this project you can follow this [guide](./CONTRIBUTING.md)\n\n## Acknowledgements ❤\nThese projects are making LibreRemotePlay a reality.\n\n### Thanks to jbdemonte/virtual-device\n[jbdemonte/virtual-device](https://github.com/jbdemonte/virtual-device) is the source of magic that enables LibreRemotePlay to generate virtual gamepads on Linux, is very fast and made in pure Go.\n### Thanks to the ViGEm project\n[ViGEmBus](https://github.com/nefarius/ViGEmBus) is the source of magic that enables LibreRemotePlay to generate virtual gamepads on Windows. We embed ViGEmBus Installation Wizard and ViGEmBus Client DLLS within the executable for Windows\n\n### Thanks to Wails\n[Wails](https://github.com/wailsapp/wails) makes easy creating desktop experiences using Go and Web tecnologies.\n\n### Thanks to pion/webrtc\n[Pion/Webrtc](https://github.com/pion/webrtc) is a implementation of WebRTC made in pure Go, it enables LibreRemotePlay to use WebRTC in a crossplatform way.\n\n### Thanks to robotgo\n[robotgo](https://github.com/go-vgo/robotgo) makes easy controling/simulating a keyboard (and anything related to desktop) using a simple syntax in Go.\n\n## Did you like the project 👍 ?\nYou can give us a star and join our [Discord Community](https://discord.gg/v7qd7nU3fJ), the project is always looking for feedback :)\n\n## Star History\nHere you can see how fast the community is growing\n\u003cbr/\u003e\n[![Star History Chart](https://api.star-history.com/svg?repos=PiterWeb/LibreRemotePlay\u0026type=Timeline)](https://star-history.com/#PiterWeb/LibreRemotePlay\u0026Timeline)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiterweb%2Flibreremoteplay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiterweb%2Flibreremoteplay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiterweb%2Flibreremoteplay/lists"}