{"id":26728315,"url":"https://github.com/ripindensumite/thinwatcher","last_synced_at":"2026-04-12T13:36:10.074Z","repository":{"id":279107544,"uuid":"931804444","full_name":"RipinDensumite/thinwatcher","owner":"RipinDensumite","description":"Lightweight monitoring solution for thin clients which allows you to monitor and manage thin client sessions remotely through a modern web interface.","archived":false,"fork":false,"pushed_at":"2025-06-14T22:49:25.000Z","size":362,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-01T13:05:13.173Z","etag":null,"topics":["bash-script","expressjs","monitoring-tool","powershell-script","react","socket-io","webapp"],"latest_commit_sha":null,"homepage":"https://thinwatcher.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RipinDensumite.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-12T22:06:38.000Z","updated_at":"2025-06-14T22:49:28.000Z","dependencies_parsed_at":"2025-03-17T02:32:29.614Z","dependency_job_id":"bcdb2eb6-9e73-4a2b-a51a-98f7e589273b","html_url":"https://github.com/RipinDensumite/thinwatcher","commit_stats":null,"previous_names":["ripindensumite/thinwatcher"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RipinDensumite/thinwatcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RipinDensumite%2Fthinwatcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RipinDensumite%2Fthinwatcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RipinDensumite%2Fthinwatcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RipinDensumite%2Fthinwatcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RipinDensumite","download_url":"https://codeload.github.com/RipinDensumite/thinwatcher/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RipinDensumite%2Fthinwatcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275199350,"owners_count":25422521,"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","status":"online","status_checked_at":"2025-09-15T02:00:09.272Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bash-script","expressjs","monitoring-tool","powershell-script","react","socket-io","webapp"],"created_at":"2025-03-27T22:23:02.305Z","updated_at":"2026-04-12T13:36:10.043Z","avatar_url":"https://github.com/RipinDensumite.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ThinWatcher\n\nThinWatcher 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.\n\n## Project Overview\n\nThinWatcher consists of three main components:\n\n1. **Frontend**: React application with TypeScript for the user interface\n2. **Backend**: Node.js server with Express and Socket.IO for real-time updates\n3. **Agents**: Scripts for Windows and Linux thin clients that send data to the backend\n\n## Features\n\n- Real-time monitoring of thin client status\n- Session tracking and management \n- User management with role-based access control\n- Agent installation for Windows and Linux systems\n- Responsive design that works on desktop and mobile devices\n\n## Project Structure\n\n```\n├── agents/               # Agent scripts for different operating systems\n│   ├── linux/            # Linux agent scripts\n│   └── windows/          # Windows agent scripts\n├── app/                  # Frontend React application\n│   ├── public/           # Static assets\n│   └── src/              # React source code\n└── backend/              # Node.js backend server\n    └── data/             # Database files\n```\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 14.x or later\n- NPM 6.x or later\n- Docker and Docker Compose (optional)\n\n### Setting up the Backend\n\n1. Navigate to the backend directory:\n   ```powershell\n   cd backend\n   ```\n\n2. Create a `.env` file based on the example:\n   ```powershell\n   cp .env.example .env\n   ```\n\n3. Edit the `.env` file to include your configuration:\n   ```env\n   PORT=3001\n   CORS_ORIGIN_PROD=https://your-production-domain.com\n   CORS_ORIGIN_DEV=http://localhost:5173\n   JWT_SECRET=your_secure_jwt_secret\n   ```\n\n4. Install dependencies and start the server:\n   ```powershell\n   npm install\n   npm start\n   ```\n\n### Setting up the Frontend\n\n1. Navigate to the app directory:\n   ```powershell\n   cd app\n   ```\n\n2. Create a `.env` file based on the example:\n   ```powershell\n   cp .env.example .env\n   ```\n\n3. Edit the `.env` file to include your configuration:\n   ```env\n   VITE_BACKEND_API_URL=http://localhost:3001\n   ```\n\n4. Install dependencies and start the development server:\n   ```powershell\n   npm install\n   npm run dev\n   ```\n\n5. For production build:\n   ```powershell\n   npm run build\n   ```\n\n### Using Docker\n\nYou can use Docker to run both frontend and backend:\n\n```powershell\ndocker pull ghcr.io/ripindensumite/thinwatcher:latest\n```\n\n```powershell\ndocker-compose up -d\n```\n\n## Agent Installation\n\n### Windows Agent\n\n1. Open PowerShell as Administrator\n2. Run the installation command:\n   ```powershell\n   powershell -c \"irm https://raw.githubusercontent.com/RipinDensumite/thinwatcher/main/agents/windows/thinwatcher.ps1 | iex\"\n   ```\n3. Follow the prompts to configure the agent with your backend URL, heartbeat interval, and client ID\n\n### Linux Agent\n\n1. Open a terminal\n2. Make the script executable:\n   ```bash\n   chmod +x linux-agent-install.sh\n   ```\n3. Run the installation script:\n   ```bash\n   sudo ./linux-agent-install.sh\n   ```\n4. Follow the prompts to configure the agent\n\n## User Management\n\nThinWatcher includes role-based access control with two user roles:\n\n- **User**: Can view the dashboard and clients\n- **Admin**: Can manage users, delete clients, and access all features\n\n## Troubleshooting\n\nIf you encounter issues during installation or usage, try these solutions:\n\n- Ensure you have administrator privileges when installing agents\n- Verify the backend URL is correct and accessible\n- Check your internet connection\n- Make sure the required environment variables are set correctly\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fripindensumite%2Fthinwatcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fripindensumite%2Fthinwatcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fripindensumite%2Fthinwatcher/lists"}