{"id":19880499,"url":"https://github.com/vinceh121/gmcserver","last_synced_at":"2025-05-02T13:32:16.685Z","repository":{"id":39660813,"uuid":"270388420","full_name":"vinceh121/gmcserver","owner":"vinceh121","description":"Lightweight server to log, analyze and proxy data measured by internet connected Geiger counters","archived":false,"fork":false,"pushed_at":"2025-03-19T07:57:57.000Z","size":4848,"stargazers_count":23,"open_issues_count":30,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-07T02:35:09.549Z","etag":null,"topics":["debian","geiger-counter","gmc","gpl","java","react","vertx"],"latest_commit_sha":null,"homepage":"https://gmc.vinceh121.me","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vinceh121.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":"CONTRIBUTING.md","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}},"created_at":"2020-06-07T18:00:29.000Z","updated_at":"2025-01-10T16:07:06.000Z","dependencies_parsed_at":"2024-03-26T21:27:26.180Z","dependency_job_id":"8698454b-fa0f-47a9-b1e6-0cf64a67f0b4","html_url":"https://github.com/vinceh121/gmcserver","commit_stats":{"total_commits":498,"total_committers":5,"mean_commits":99.6,"dds":"0.38955823293172687","last_synced_commit":"c04eef3adebd8edefaaf05f429f82ea0a5df65bf"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinceh121%2Fgmcserver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinceh121%2Fgmcserver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinceh121%2Fgmcserver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinceh121%2Fgmcserver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vinceh121","download_url":"https://codeload.github.com/vinceh121/gmcserver/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252046255,"owners_count":21685980,"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":["debian","geiger-counter","gmc","gpl","java","react","vertx"],"created_at":"2024-11-12T17:11:38.705Z","updated_at":"2025-05-02T13:32:16.123Z","avatar_url":"https://github.com/vinceh121.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GMCServer\n[![GitHub](https://img.shields.io/github/license/vinceh121/gmcserver?color=green\u0026style=for-the-badge)](https://github.com/vinceh121/gmcserver/blob/master/LICENSE)\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vinceh121/gmcserver/maven-build.yml?label=Backend%20build\u0026style=for-the-badge\u0026branch=master)](https://github.com/vinceh121/gmcserver/actions?query=workflow%3A%22Java+CI+with+Maven%22)\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vinceh121/gmcserver/web-build.yml?label=Backend%20build\u0026style=for-the-badge\u0026branch=master)](https://github.com/vinceh121/gmcserver/actions?query=workflow%3A%22Java+CI+with+Maven%22)\n![GitHub repo size](https://img.shields.io/github/repo-size/vinceh121/gmcserver?color=yellowgreen\u0026style=for-the-badge)\n[![LGTM Grade](https://img.shields.io/lgtm/grade/java/github/vinceh121/gmcserver?style=for-the-badge)](https://lgtm.com/projects/g/vinceh121/gmcserver/)\n[![LGTM Grade](https://img.shields.io/lgtm/grade/javascript/github/vinceh121/gmcserver?style=for-the-badge)](https://lgtm.com/projects/g/vinceh121/gmcserver/)\n[![Most used swear](https://img.shields.io/badge/dynamic/json?color=yellow\u0026label=Most%20used%20swear\u0026query=%24.mostUsed.word\u0026url=https%3A%2F%2Fswear.vinceh121.me%2Fcount.json%3Furi%3Dhttps%3A%2F%2Fgithub.com%2Fvinceh121%2Fgmcserver\u0026style=for-the-badge)](https://github.com/vinceh121/git-swears)\n\nGMCServer is a lightweight service that allows logging, analysis, visualization and proxying of data recorded by [GMC Geiger counters](https://www.amazon.com/GQ-Radiation-Detector-Recorder-equipment/dp/B00ROHGWIQ), [Radmon counters](https://radmon.org) and [Safecast counters](https://safecast.org/devices/bgeigie-nano/)\n\u003cbr\u003e Some of the features implemented so far:\n - User accounts\n - Device logging\n - Timeline visualization\n - Device World map\n - Simple statistical analysis (min, max, average, standard deviation)\n - Proxy to other platforms\n\nA demo/main instance is available at **https://gmc.vinceh121.me**\n\n![Map view](https://i.vinceh121.me/Azh698yB.png)\n![Timeline view](https://i.vinceh121.me/BV7wt5Dm.png)\n![Calendar view](https://i.vinceh121.me/H1mENyIi.png)\n\n## Motivation\nOn top of not being self-hostable and closed-source, gmcmap.com lacks some features relating to data analysis, visualization, API access, and overall security. This project aims to create a compatible, open-source and self-hostable alternative to gmcmap.com implementing those missing features and security fixes.\nGMCServer can also *proxy* records, that is, report measurements itself to other platforms such as gmcmap.com and radmon.org simultaneously upon receiving a record from your counter.\n\n## Setting up device\n### GQ Electronics' GMC\nYou should first set up WiFi on your GMC device. In the `Server` settings, you should set the following values:\n - `Website` : to the hostname of the server where GMCServer is running (`gmc.vinceh121.me` for the main instance)\n - `URL` : to `log2.asp`\n - `User ID` : to the \"GMC ID\" of your account, visible next to your username when logged in on your user page. This ID is supposed to stay secret.\n - `Counter ID` : to the \"GMC ID\" of your device, visible next to the device's name when logged in on its page. This ID is supposed to stay secret.\n\nOnce those settings set, pressing the Test Connection button should show \"Successful\" after a second.\n\n### Cajoe\nYou will need to flash a [custom ESP8266 firmware](https://github.com/vinceh121/gmcserver-cajoe-firmware).\n\n## Installing\n\n### On Debian/Ubuntu\n - Install Java (`apt install default-jre`)\n - Install [MongoDB](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/)\n - Download the deb file from GitHub actions \"Make debian\" and install it with dpkg:\n```sh\nunzip gmcserver-debian-master-abcdef012345.zip\ndpkg -i work/gmcserver/gmcserver_0.0.0-1_amd64.deb\n```\n\n### Building from source\nThe following dependencies are required to build:\n - make\n - maven\n - pnpm\n\n```sh\ngit clone https://github.com/vinceh121/gmcserver\ncd gmcserver\nmake\nsudo make install\n```\nThis will build all compenents of GMCServer (backend, frontend, emails), if you need to only build one specific component, cd to its folder and run make in it.\n### Configuring web server\nGMCServer can act on its own as a web server, you just need to set the `web.enabled` setting to true in `config.properties`\n\nHowever, it may be more \"proper\" to use a separate web server/reverse proxy such as Apache or Nginx:\n - [Nginx example config](https://github.com/vinceh121/gmcserver/blob/master/nginx.example.conf)\n - TODO: Apache example config\n\n## Licensing\nUnless otherwise noted, files in this repository are licensed under the GNU AGPL V3 license.\n\nIcon is by Lorc under the CC BY 3.0 license from game-icons.net\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinceh121%2Fgmcserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvinceh121%2Fgmcserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinceh121%2Fgmcserver/lists"}