# Install & Test — Remote Access Platform ## Prerequisite Install **Node.js 22.5 or newer** (LTS is fine): https://nodejs.org (The installer adds `node` and `npm` to your PATH.) ## Steps 1. **Unzip** this folder anywhere (e.g. `C:\remote-access-app`). 2. Double-click **`SETUP.bat`** — installs all dependencies (the agent pulls Electron, so the first run takes a few minutes). 3. Double-click **`Start-Server.bat`** — leave this window open. 4. Open **http://localhost:8090** in your browser: - Click **Register team**, enter an email + password. - Add the shown **2FA secret** to an authenticator app (Google Authenticator, Authy, 1Password), enter a code to finish, then log in. - In **Machines**, type a name and click **Enroll machine** — copy the `AGENT_ENROLL_TOKEN` it shows. 5. Double-click **`Start-Agent.bat`**, accept the default server URL, and paste the token. The agent window appears and the machine turns **green** in the console. 6. In the console, click **Connect**. The agent shows a **consent prompt** — click **Allow**. You'll see the live screen and can control it; a red banner stays on the host while the session is active. > To test on **two PCs**, run the server on one and use that PC's IP as the > server URL on the other (e.g. `http://192.168.1.50:8090`). Both must be on the > same network for direct connection (a TURN relay is the next step for > internet-wide use). ## Notes - **Same-machine test:** you can run the server, browser, and agent all on one PC to see the full flow (you'll be controlling your own screen). - **Input control** uses the `nut-js` library. If it failed to install, the agent still streams the screen but logs input instead of injecting it — re-run `SETUP.bat` on a machine with build tools to enable full control. - To stop: close the agent window and press `Ctrl+C` in the server window. ## Troubleshooting - *"Node.js is not installed"* → install from nodejs.org, reopen `SETUP.bat`. - *Browser can't reach localhost:8090* → make sure `Start-Server.bat` is still running. - *Machine stays offline* → check the token was pasted fully and the server URL is correct.