A full-stack application with Next.js frontend and FastAPI backend. This application allows users to remotely control their devices via the web. Currently only supporting UNIX based devices. Additionally this application uses webscraping to automatically add your local network devices to the application. With these devices you are able to WOL (wake on lan) and connect to their respective CLIs. This program is also blocked and secured via JWT for user sessions and security.
Here you will be able to select the devices you would like to add, with these devices you will be able to WOL and use their CLIs.
When you update the system you will be able to select the following devices:
Note for security reasons, your MAC address remains hidden and only accessible in the backend logistics.
Added devices will look like this:
For accessing the terminal, the device will have to be online and ready to go. Once booted the user may press the control button then it will ask for the system's password.
This is a websocket connection directly to the backend which has a remote connection using asyncssh.
After cloning the repository, run the setup script:
./setup.shThis will automatically set up both frontend and backend dependencies.
Additionally the user should tinker and configure the env files for their env variables (passwords, secret keys, localhosts, and network gateway credentials).
If you prefer to set up manually:
cd backend
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txtcd frontend
npm installcd backend
./run.shThe backend will be available at http://localhost:8000
cd frontend
npm run devThe frontend will be available at http://localhost:3000