A private Progressive Web App (PWA) designed for quick and easy access to RustDesk client support links. This tool allows for fast lookup and connection to client devices connected to a private RustDesk server.
This application is built for internal use to streamline support for your clients. All client IDs and connection details are stored locally within the application's data file (clients.json) and are intended for private use only. The application also connects to a private RustDesk server, ensuring that all remote access instances are managed within your secure environment and are not publicly available.
Please ensure this repository and deployed PWA remain private.
- Fast Client Lookup: Instantly search for clients or devices by name.
- One-Click Connection: Directly launch RustDesk connections via custom protocol links (e.g.,
rustdesk://) with a single tap or click. - Progressive Web App (PWA):
- Installable: Add to your home screen or desktop for an app-like experience, bypassing the browser's UI.
- Offline Access: Core application content (HTML, CSS, JS, images, and cached client data) is available even without an internet connection.
- Fast Loading: Assets are cached for quick retrieval on subsequent visits.
- Dark Mode Interface: A clean, modern, and eye-friendly dark theme.
This project is a purely client-side Progressive Web App and does not require a separate backend server for its core functionality.
Ensure your project directory contains the following files:
.
├── index.html # Main application page (HTML structure)
├── style.css # All application styles (CSS)
├── script.js # Core application logic (jQuery, search, data rendering, Service Worker registration)
├── clients.json # Your client data (Name, ID)
├── manifest.json # PWA manifest file (for app metadata, icons, display mode)
├── sw.js # Service Worker file (for caching and offline support)
├── browser.png # Favicon and primary PWA icon (e.g., 512x512px)
└── logo.png # Your company/brand logo image (used at the top of the app)
The clients.json file should be a JSON array of objects. Each object must represent a client and contain at least NAME and ID properties:
[
{
"NAME": "Client A - Main PC",
"ID": "rustdeskid_for_client_a"
},
{
"NAME": "Client B - Server",
"ID": "rustdeskid_for_client_b"
},
{
"NAME": "Client C - Laptop",
"ID": "rustdeskid_for_client_c"
}
]Ensure the ID matches the RustDesk ID format you expect.
Clone the repository:
git clone YOUR_PRIVATE_REPO_URL
cd rustmark-support-linksServe Locally: To test the PWA capabilities (especially Service Worker), you need a local web server. If you have Python installed, you can use:
python3 -m http.server 8000Then, open your web browser and navigate to http://localhost:8000.
This PWA is ideal for deployment on static site hosting platforms. All these services offer free tiers suitable for this application and provide automatic HTTPS, which is required for PWAs.
- Cloudflare Pages (Recommended): Excellent performance, integrates directly with your Git repository (GitHub, GitLab, Bitbucket), and offers a generous free tier.
- Netlify: Easy to set up, continuous deployment from Git.
- Vercel: Developer-friendly, similar to Netlify.
- GitHub Pages: Free, direct integration if your repository is on GitHub.
- Push your project files (including
manifest.jsonandsw.js) to your chosen Git repository. - Connect your Git repository to your preferred hosting service's dashboard.
- The service will automatically detect your static files and deploy your PWA.
For the best, app-like experience, you can "install" this web app on your device:
- On Android (Chrome): Open the app in Chrome, tap the 3-dot menu (top right), and select "Add to Home screen" or "Install app."
- On iOS (Safari): Open the app in Safari, tap the Share icon (the square with an arrow pointing up at the bottom of the screen), and select "Add to Home Screen."
- On Desktop (Chrome/Edge): Look for the "Install" icon (often a plus sign or a computer monitor with a download arrow) in the browser's address bar.
Once installed, the app will launch directly from your home screen/desktop icon, function offline (for previously cached data), and provide a fast, integrated experience.
Since this is a static PWA, updates are managed through your Git repository:
- To add, update, or remove clients: Modify the
clients.jsonfile directly in your repository. - To update app features, styles, or fix bugs: Modify
index.html,style.css, orscript.js.
- Open
sw.js. - Increment the
CACHE_NAMEconstant (e.g., fromv1tov2). This tells browsers there's a new version of your PWA to fetch.
Deployment: After making changes, commit and push your updates to your Git repository. Your connected hosting service will automatically detect the changes and redeploy the updated PWA. Users will automatically get the new version when they next visit the app (or upon the Service Worker's update cycle).
Developed by Jeff Parrish's PC Services for private internal support.