ThinWatcher is a lightweight monitoring solution for thin clients. This application allows you to monitor and manage thin client sessions remotely through a modern web interface.
ThinWatcher consists of three main components:
- Frontend: React application with TypeScript for the user interface
- Backend: Node.js server with Express and Socket.IO for real-time updates
- Agents: Scripts for Windows and Linux thin clients that send data to the backend
- Real-time monitoring of thin client status
- Session tracking and management
- User management with role-based access control
- Agent installation for Windows and Linux systems
- Responsive design that works on desktop and mobile devices
├── agents/ # Agent scripts for different operating systems
│ ├── linux/ # Linux agent scripts
│ └── windows/ # Windows agent scripts
├── app/ # Frontend React application
│ ├── public/ # Static assets
│ └── src/ # React source code
└── backend/ # Node.js backend server
└── data/ # Database files
- Node.js 14.x or later
- NPM 6.x or later
- Docker and Docker Compose (optional)
-
Navigate to the backend directory:
cd backend
-
Create a
.envfile based on the example:cp .env.example .env
-
Edit the
.envfile to include your configuration:PORT=3001 CORS_ORIGIN_PROD=https://your-production-domain.com CORS_ORIGIN_DEV=http://localhost:5173 JWT_SECRET=your_secure_jwt_secret
-
Install dependencies and start the server:
npm install npm start
-
Navigate to the app directory:
cd app
-
Create a
.envfile based on the example:cp .env.example .env
-
Edit the
.envfile to include your configuration:VITE_BACKEND_API_URL=http://localhost:3001
-
Install dependencies and start the development server:
npm install npm run dev
-
For production build:
npm run build
You can use Docker to run both frontend and backend:
docker pull ghcr.io/ripindensumite/thinwatcher:latestdocker-compose up -d- Open PowerShell as Administrator
- Run the installation command:
powershell -c "irm https://raw.githubusercontent.com/RipinDensumite/thinwatcher/main/agents/windows/thinwatcher.ps1 | iex"
- Follow the prompts to configure the agent with your backend URL, heartbeat interval, and client ID
- Open a terminal
- Make the script executable:
chmod +x linux-agent-install.sh
- Run the installation script:
sudo ./linux-agent-install.sh
- Follow the prompts to configure the agent
ThinWatcher includes role-based access control with two user roles:
- User: Can view the dashboard and clients
- Admin: Can manage users, delete clients, and access all features
If you encounter issues during installation or usage, try these solutions:
- Ensure you have administrator privileges when installing agents
- Verify the backend URL is correct and accessible
- Check your internet connection
- Make sure the required environment variables are set correctly
Contributions are welcome! Please feel free to submit a Pull Request.