{"id":14976785,"url":"https://github.com/andyld97/home","last_synced_at":"2025-10-27T21:31:34.785Z","repository":{"id":37813483,"uuid":"503710128","full_name":"andyld97/Home","owner":"andyld97","description":"Home is a system which you can use to monitor all of your devices (Windows, Linux and Android)","archived":false,"fork":false,"pushed_at":"2024-09-08T10:05:07.000Z","size":67462,"stargazers_count":11,"open_issues_count":7,"forks_count":1,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2024-10-11T14:21:21.540Z","etag":null,"topics":["android","debian","devices","hardware-info","linux","lshw","overview","raspberry-pi","ubuntu","windows","windows-10","windows-11","windows-7","windows-8","windows-8-1","xamarin-android"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andyld97.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2022-06-15T10:01:48.000Z","updated_at":"2024-09-08T23:57:35.000Z","dependencies_parsed_at":"2023-10-15T10:19:40.311Z","dependency_job_id":"c843f6d0-c858-46a7-8149-255605e144b1","html_url":"https://github.com/andyld97/Home","commit_stats":{"total_commits":423,"total_committers":2,"mean_commits":211.5,"dds":0.007092198581560294,"last_synced_commit":"08436d6e9b24e3f6ad40d36348c2e64654a68ff9"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyld97%2FHome","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyld97%2FHome/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyld97%2FHome/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyld97%2FHome/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andyld97","download_url":"https://codeload.github.com/andyld97/Home/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219860664,"owners_count":16556016,"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","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":["android","debian","devices","hardware-info","linux","lshw","overview","raspberry-pi","ubuntu","windows","windows-10","windows-11","windows-7","windows-8","windows-8-1","xamarin-android"],"created_at":"2024-09-24T13:54:27.359Z","updated_at":"2025-10-27T21:31:33.753Z","avatar_url":"https://github.com/andyld97.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Home\n\n## Welcome\nHome is a ``.NET-project/environment`` where you can monitor all your devices (Windows, Linux and Android are supported). Every device \nwill be setuped with the appropriate `ACK`-service (this service also starts on startup) which will send ``ACK``-requests continously (every minute) to `Home.API`.\nTo get this working you need to setup `Home.API` as a self-hosted API on your local server/or in the internet (not recommended)\n\n## Exemplary setup:\n![ack](https://user-images.githubusercontent.com/10423894/200111760-793ac13f-bc9d-4b4d-b002-f55c37ec0750.png)\n\n## Supported Devices\n- Desktop PC\n- Notebooks\n- Single Board Computers (e.g. Raspberry PI)\n- Smartphones\n- Android TVs/Android PCs (Set-Top-Box)\n- Android TV Sticks\n\n## Supported operating systems\n| OS                    | Supported?      | Service                  | .NET                                | Information                                                   |\n|-----------------------|--------------------|--------------------------|-------------------------------------|---------------------------------------------------------------|\n| Windows 9x            | :x:                | -                        | ``.NET Framework 2.0``              | -                                                             |\n| Windows XP            | :heavy_check_mark: | ``Home.Service.Legacy``  | ``.NET Framework 4.0``              | No remote file access!                                               |\n| Windows VISTA         | :heavy_check_mark: | ``Home.Service.Legacy``  | ``.NET Framework 4.0``              | No remote file access!                                        |\n| Windows 7 SP1         | :heavy_check_mark: | ``Home.Service.Windows``         | ``.NET Desktop/ASP.NET Core 9.0.x`` | #LEGACY Compiler-Flag (using WebClient instead of HttpClient) |\n| Windows 8, 8.1, 10/11 | :heavy_check_mark: | ``Home.Service.Windows``         | ``.NET Desktop/ASP.NET Core 9.0.x`` | -                                                             |\n| Rasbpian              | :heavy_check_mark: | ``Home.Service.Linux``   | ``.NET Linux/ASP.NET Core 9.0.x`` | -                                                             |\n| Debian                | :heavy_check_mark: | ``Home.Service.Linux``   | ``.NET Linux/ASP.NET Core 9.0.x`` | -                                                             |\n| Ubuntu (\u003e= 18.04)     | :heavy_check_mark: | ``Home.Service.Linux``   | ``.NET Linux/ASP.NET Core 9.0.x`` | -                                                             |\n| Android 7.0-15.0      | :heavy_check_mark: | ``Home.Service.Android`` | ``.NET for Android (9.0.0)``                     | No remote file access and NoGL-Version available!                 |\n\n``ASP.NET Core 9.0.x`` is required for remote file access API!\n\n## Features\n| Feature                   | Windows (legacy)   | Windows            | Linux                  | Android            |\n|---------------------------|--------------------|--------------------|------------------------|--------------------|\n| Remote File Access        | :x:                | :heavy_check_mark: (1) | :heavy_check_mark: (1)     | :x:                |\n| Screenshots               | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: (2) | :x:                |\n| Screenshots per Screen    | :x: | :heavy_check_mark: | :x: | :x:                |\n| Hardware Info             | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: (2) | :heavy_check_mark: |\n| Performance Counters      | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark:     | Only RAM           |\n| Battery Info              | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark:     | :heavy_check_mark: |\n| Shutdown/Restart Commands | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark:     | :x:                |\n| Message/Execute Command   | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark:     | :x:                |\n| Remote Shell              | Not implemented    | Not implemented    | Not implemented        | :x:                |\n| Auotmatic Client Updates  | :x:                | :heavy_check_mark: | :heavy_check_mark: (4) | :x:                |\n| Wake On LAN (WOL) (3)     | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark:     | :x:                |\n\n(1) Each ack service has an integrated `ASP.NET Core`-Service which is hosted within the service itself (for Windows you need to permit firewall permissons!). It is hosted on http://0.0.0.0:5556 to make it accessible via network (the port can be changed: ``Home.Data.Consts.API_PORT``). This is used for remote file access!\n\n(2) For ``Home.Service.Linux`` some additional tools are required to successfully gather all information and there may be some additional steps required to make screenshots working on Ubuntu \u003e 21.04 (due to Wayland securitiy restrictions).\n\n(3) For `Wake On LAN` your device must support this feature and must be configured properply. In the wiki there is a description/tutorial how you can setup WOL for your device!\n\n(4) To ensure that automatic client updates for `Linux` works correctly you need to setup the service as described in the wiki for `Home.Service.Linux`. If an update is executes the application exists and the service has set a restart timer of `10 seconds`, so without the service the application would not start again!\n\n### Additonal Features\n- Access hardware info (cpu, ram, graphics, performance)\n- Access device info (startup-time, online-time (how long), oem info (if available))\n- A WebHook for events\n   - StorageWarning and BatteryWarning\n   - Hardware changes (e.g. ``Device \"SRV03\" detected CPU change. CPU AMD Athlon(tm) II X3 425 Processor got replaced with AMD Athlon(tm) II X3 450 Processor)``\n   - When a device goes online/offline (only if your device is classified as a server!)\n- Get storage infos of each disk (also on Linux and Android!)\n- Create and export a ``HTML``-report of each device (See example [here](https://htmlpreview.github.io/?https://raw.githubusercontent.com/andyld97/Home/dev/Assets/Redmi%20Note%207.html))\n- Low storage warning (\u003c= 10% left) per disk\n- Low battery warning (\u003c= 10% left)\n- Device Log for each device\n- Device can have a location and a group (the location is used to group them in the overview by location)\n- WOL (Wake On Lan Support), you can boot device in the app\n- Device Scheduling Rules: You can schedule device rules\n   - Specify a time for a boot/shutdown rule\n   - Using a custom mac address (e.g. if system doesn't detects it correctly, or if its from the wrong device)\n   - Specify an action (WOL, external API call, exceuting a command etc.)\n   - Check out the wiki (https://github.com/andyld97/Home/wiki/Wake-On-LAN---Device-Scheduling) for more information\n- Can be used to monitor linux servers (``Home.Service.Linux`` is implemented as ``CLI``)\n- A screenshot will be aquired (if supported) if no screenshot is available or if the last screenshot is older than 12h (old screenshots will be removed by the ``HealthCheck-Timer``)\n- Home has a ``WPF-Client`` for displaying all devices\n   - View all info per device\n      - View device log\n      - View device activity (in a graph)\n      - View the last screenshot (zoom, save, refresh)\n      - View all disks (including name, volumes, free space, total space etc.)\n      - Access device files (if supported by device): If you double click on a disk you will get a little explorer where you can navigate through all folders. There is also a preview for files and you can also download files and download folders as ZIP. WIP: Upload files (is currently not implemented)\n   - You can shutown/restart/execute a command/send a message to the device\n   - You can delete devices (if they were wrongly assigned) \n   - It provides a network/device overview of all your devices\n      - Tooltip on a device shows the screenshot\n      - You can tick \"Show screenshots\", then you will become an overview of all devices but only with screenshots!  \n\n## Screenshots\n![home](https://github.com/andyld97/Home/blob/dev/Assets/screenshots/home.png)\n![overview](https://github.com/andyld97/Home/blob/dev/Assets/screenshots/overview.png)\n\n\u003c!--## Preview-Video\nhttps://user-images.githubusercontent.com/10423894/174055660-a2b4c4a1-4a06-48bf-88a7-d0abbce7b3b7.mp4--\u003e\n\n ## Setup\n \nAll information about the setup are described in the Wiki (see here: https://github.com/andyld97/Home/wiki)\n\n## Build\nTo build this solution you need to have ``VS 2019`` installed. Once it is installed and builded you can continue using ``VS 2022``. This is related to the fact, that ``VS 2022`` doesn't supports ``.NET 4.0`` and older, but obviously for older Windows versions (legacy) it is required to use ``.NET Framework 4.0`` or even ``.NET Framework 2.0``.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandyld97%2Fhome","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandyld97%2Fhome","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandyld97%2Fhome/lists"}