{"id":31531587,"url":"https://github.com/openipc/dashboard","last_synced_at":"2026-01-22T04:12:13.636Z","repository":{"id":302245371,"uuid":"1011743321","full_name":"OpenIPC/dashboard","owner":"OpenIPC","description":"Dashboard is a cross-platform (Lin/Mac/Win) desktop application for convenient management and monitoring of cameras based on OpenIPC firmware.","archived":false,"fork":false,"pushed_at":"2025-09-04T11:03:17.000Z","size":164454,"stargazers_count":4,"open_issues_count":16,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-24T12:35:44.051Z","etag":null,"topics":["dashboard","ipcam","openipc"],"latest_commit_sha":null,"homepage":"https://openipc.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenIPC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"open_collective":"openipc"}},"created_at":"2025-07-01T09:21:12.000Z","updated_at":"2025-09-04T11:03:21.000Z","dependencies_parsed_at":"2025-07-01T10:39:55.843Z","dependency_job_id":"641c1b08-cb26-4e1c-b5bd-1834e1077755","html_url":"https://github.com/OpenIPC/dashboard","commit_stats":null,"previous_names":["rinibr/openipc-dashboard"],"tags_count":43,"template":false,"template_full_name":null,"purl":"pkg:github/OpenIPC/dashboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Fdashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Fdashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Fdashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Fdashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenIPC","download_url":"https://codeload.github.com/OpenIPC/dashboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Fdashboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278254466,"owners_count":25956604,"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-10-04T02:00:05.491Z","response_time":63,"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":["dashboard","ipcam","openipc"],"created_at":"2025-10-04T02:13:33.737Z","updated_at":"2025-10-04T02:13:37.998Z","avatar_url":"https://github.com/OpenIPC.png","language":"JavaScript","readme":"---\n\n# Dashboard\n\n![OpenIPC Dashboard Screenshot](build/screenshot.png) \n\n**Dashboard** is a cross-platform desktop application for easy camera management and monitoring based on the OpenIPC firmware.\n\nThe application was created using Electron and provides a single interface for viewing video streams, administering settings, working with the file system, and direct access to the camera's command line.\n\n---\n\n## 🚀 Main Features\n\n*   **Multi-view:** View up to 64 video streams simultaneously in a customizable grid.\n*   **Dual Stream Support:** Instantly switch between the main (HD) and secondary (SD) streams.\n*   **Full-screen Mode:** Detailed full-screen viewing of a single camera with a double-click.\n*   **Built-in SSH Client:** A full-fledged terminal for direct access to the camera's command line without third-party programs.\n*   **File Manager (SCP):** A convenient two-panel manager for uploading firmware, downloading recordings, and managing files on the camera.\n*   **Settings Editor:** A graphical interface for changing all parameters of the Majestic firmware (`majestic.yaml`), grouped by tabs.\n*   **Monitoring:** Displays the status (online/offline) and SoC temperature of the camera in real time.\n*   **Cross-platform:** Works on Windows, macOS, and Linux.\n\n---\n\n## 📦 Installation\n\nReady-to-use installation files for the latest version can be found on the **[Releases page](https://github.com/openipc/dashboard/releases)**.\n\n#### Windows\n1.  Download the `OpenIPC-Dashboard-Setup-x.x.x.exe` file.\n2.  Run the installer and follow the instructions.\n\n#### macOS\n1.  Download the `OpenIPC-Dashboard-x.x.x.dmg` file.\n2.  Open the `.dmg` file and drag the `OpenIPC Dashboard.app` into your Applications folder.\n\n#### Linux\n1.  Download the `OpenIPC-Dashboard-x.x.x.AppImage` file.\n2.  Make the file executable:\n    ```bash\n    chmod +x OpenIPC-Dashboard-x.x.x.AppImage\n    ```\n3.  Launch the app:\n    ```bash\n    ./OpenIPC-Dashboard-x.x.x.AppImage --no-sandbox\n    ```\n\n---\n\n## 🎨 White-Labeling \u0026 Branding\n\nThe application supports full customization (white-labeling), allowing you to adapt it for your company or clients.\n\n### How It Works\n\nOn startup, the application looks for a `branding.json` file in the same directory as its executable file (`.exe`, `.AppImage`). If the file is found, the application will apply the custom settings. Otherwise, it will run with the default \"DASHBOARD for OpenIPC\" branding.\n\n### Step-by-Step Guide\n\n1.  **Locate the Application Folder:** Find the directory where the application's executable is located.\n2.  **Create `branding.json`:** In that same directory, create a new text file named exactly `branding.json`.\n3.  **Configure the File:** Open `branding.json` in a text editor and add your desired settings. See the parameters and examples below.\n4.  **(Optional) Add Your Logo:** If you specified a `logoPath`, place the logo image file in the same directory.\n5.  **Launch the Application:** Run the executable to see your changes.\n\n### Configuration Parameters\n\n| Parameter            | Type      | Description                                                                                                                              |\n| -------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------- |\n| `appName`            | `String`  | Replaces the default application name.                                                                                                   |\n| `logoPath`           | `String`  | Relative path to your logo file (e.g., `custom_logo.png`). Recommended: 80x80px PNG with transparency.                                   |\n| `features`           | `Object`  | An object to enable or disable specific UI features.                                                                                     |\n| `showDonations`      | `Boolean` | If `false`, hides the \"Support the Project\" section in the \"About\" tab. Default is `true`.                                               |\n| `showIssueReporting` | `Boolean` | If `false`, hides the \"Report an Issue\" button in the settings window. Default is `true`.                                                |\n| `showAboutTab`       | `Boolean` | If `false`, completely hides the \"About\" tab in the settings window. Default is `true`.                                                  |\n\n### Example `branding.json`\n\n```json\n{\n  \"appName\": \"VMS Pro\",\n  \"logoPath\": \"vms_pro_logo.png\",\n  \"features\": {\n    \"showDonations\": false,\n    \"showIssueReporting\": false,\n    \"showAboutTab\": true\n  }\n}\n```\n\u003e **Note:** Only include the parameters you wish to override. Any omitted parameters will use their default values. The application must be restarted for changes to take effect.\n\n---\n\n## 🛠️ For Developers\n\n### Technology Stack\n*   [Electron](https://www.electronjs.org/)\n*   [Node.js](https://nodejs.org/)\n*   HTML, CSS, JavaScript (Vanilla JS)\n*   [JSMpeg](https://jsmpeg.com/) for video decoding\n*   [ssh2](https://github.com/mscdex/ssh2) for SSH and SCP\n\n### Launching in Development Mode\n\n1.  Clone the repository:\n    ```bash\n    git clone https://github.com/openipc/dashboard.git\n    cd dashboard\n    ```\n\n2.  Install the dependencies:\n    ```bash\n    npm install\n    ```\n\n3.  Launch the app:\n    ```bash\n    npm start\n    ```\n\n### Building the App\n\nTo build the installation files for your current platform, run the command:\n\n```bash\nnpm run dist\n```\n\nThe finished files will appear in the `dist` folder.\n","funding_links":["https://opencollective.com/openipc"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenipc%2Fdashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenipc%2Fdashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenipc%2Fdashboard/lists"}