Remote Controller
An open source & decentralized alternative to Steam remote play (No need to self host)
โ Looking for contributions ๐
[!Note]
Website:
https://remote-controller.vercel.app/
Use cases โจ
- Play with friends online
- Enjoy videogames from other devices using your gamepad
The limit is in your imagination ...
Download ๐ฆ
Guides ๐
Resources ๐
Features ๐งฉ
- Portable
- Simple & Modern UI
- P2P "Decentralized" (WebRTC)
- Remote Streaming
- Browser Client
- Support for keyboard
- ViGEmBus Setup (Windows)
- Localization (translation to multiple languages)
- Support for STUN & TURN
OS Support ๐ป
Windows |
Linux |
MacOS |
Browser (Only Client) |
โ |
(Only keyboard)โ Looking for contributions for Gamepad |
โ |
โ (Known Issues with Safari) |
Gamepad Support ๐ฎ
PC Controller (XInput/DirectInput) |
Xbox Controller (XInput) |
PlayStation Controler |
โ |
โ |
โ |
Translations ๐
English |
Spanish |
Galician |
Other languages |
100% โ |
100% โ |
100% โ |
โ Looking for contributions |
Self Hosting โ
There is no way to self-host the infrastructure of RemoteController because it has no backend. But instead you can self-host if you want the TURN & STUN servers and then add them to the config.
-
If you want to self-host a TURN/STUN server you can try Coturn. (This is only an example, you can choose other STUN/TURN implementations)
-
Also you can host the Web version (but it is only frontend) to make like a network of Remote Controller web clients
Build
Prerequisites
You must have Wails CLI, NodeJS, npm and Golang installed.
How to
First go to the frontend folder and run
$ npm install
$ npm run build
Now run the following command on the root directory of the main project:
$ wails build
finally go to the build/bin folder and your executable will be there.
[!Note]
Please note the supported platforms in the table
How it works ๐ทโโ๏ธ
This desktop APP is based on the WebRTC ๐ standard and it uses the power of Go to communicate ๐ฃ with the Gamepad emulation libraries.
In Windows uses the ViGEm Bus Driver with the ViGEm Client DLL
For the low level actions uses Go.
On the other hand the UI works with Web technologies (WASM, Sveltekit, Tailwind, DaisyUI & Typescript)
You can learn more about how it works under the hood all the project
Contributting ๐ค
If you are interested to contribute to this project you can follow this guide
Thanks to the ViGEm project โฅ
ViGEmBus is making this project a reallity. We embed ViGEmBus Installation Wizard and ViGEmBus Client DLLS within the executable for Windows
Did you like the project ๐ ?
You can give a star and review us on Product Hunt
Star History
Here you can see how fast the community is growing