{"id":20038272,"url":"https://github.com/mbretter/go-mmcli-svr","last_synced_at":"2026-04-11T22:39:57.536Z","repository":{"id":239470076,"uuid":"799615600","full_name":"mbretter/go-mmcli-svr","owner":"mbretter","description":"Rest API for Linux ModemManager","archived":false,"fork":false,"pushed_at":"2024-11-23T14:33:46.000Z","size":77,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-12T18:52:23.109Z","etag":null,"topics":["api","gnss","go","golang","linux","modemmanager","sms"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mbretter.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}},"created_at":"2024-05-12T17:02:40.000Z","updated_at":"2024-11-23T14:33:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"28e81cf8-d498-4082-914a-48909a61a12e","html_url":"https://github.com/mbretter/go-mmcli-svr","commit_stats":null,"previous_names":["mbretter/go-mmcli-svr"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbretter%2Fgo-mmcli-svr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbretter%2Fgo-mmcli-svr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbretter%2Fgo-mmcli-svr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbretter%2Fgo-mmcli-svr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mbretter","download_url":"https://codeload.github.com/mbretter/go-mmcli-svr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241468270,"owners_count":19967830,"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":["api","gnss","go","golang","linux","modemmanager","sms"],"created_at":"2024-11-13T10:27:13.603Z","updated_at":"2026-04-11T22:39:52.504Z","avatar_url":"https://github.com/mbretter.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![](https://github.com/mbretter/go-mmcli-svr/actions/workflows/go.yml/badge.svg)](https://github.com/mbretter/go-mmcli-svr/actions/workflows/go.yml)\n[![](https://goreportcard.com/badge/mbretter/go-mmcli-svr)](https://goreportcard.com/report/mbretter/go-mmcli-svr \"Go Report Card\")\n[![codecov](https://codecov.io/gh/mbretter/go-mmcli-svr/graph/badge.svg?token=YMBMKY7W9X)](https://codecov.io/gh/mbretter/go-mmcli-svr)\n\nmmcli-svr provides a http/api for accessing ModemManager.\n\nIt is possible to send SMS and/or get location information (GNSS). \nIt can be easily integrated into home automation systems like HomeAssistant.\n\n## commandline\n\nFor a list of available commandline options invoke `mmcli-srv -h`\n```\nUsage of ./mmcli-srv:\n  -gps-refresh int\n        gps refresh rate in seconds\n  -listen string\n        listen: \u003cip:port|:port\u003e (default \"127.0.0.1:8743\")\n  -location-enable string\n        enable location gathering: \u003call|gps-nmea|gps-raw|3gpp|agps‐msa|agps‐msb\u003e\n```\nThe listen option changes the listening ip/port, by default the service runs on localhost only, due to security reasons.\nThere is no authentication implemented, anybody with network access could use the service. \nIf you want authentication, put the service behind a reverse proxy like nginx.\n\nFor a detailed description of the ModemManager related options, see `man mmcli`\n\n`./mmcli-srv -location-enable=gps-raw,gps-nmea -gps-refresh=5`\n\n## api docs\n\nYou can access the api docs using the included openapi documentation: http://127.0.0.1:8743/swagger/index.html\n\n## examples\n\n### get location\n\n```\ncurl -X 'GET' 'http://127.0.0.1:8743/location' -H 'accept: application/json'\n```\n\nResponse body:\n```\n{\n  \"modem\": {\n    \"location\": {\n      \"3gpp\": {\n        \"cid\": \"000FA908\",\n        \"lac\": \"FFFE\",\n        \"mcc\": \"232\",\n        \"mnc\": \"01\",\n        \"tac\": \"00003D\"\n      },\n      \"cdma-bs\": {\n        \"latitude\": \"--\",\n        \"longitude\": \"--\"\n      },\n      \"gps\": {\n        \"altitude\": \"425,400000\",\n        \"latitude\": \"37,123039\",\n        \"longitude\": \"5,290773\",\n        \"nmea\": [         \n        ],\n        \"utc\": \"134443.00\"\n      }\n    }\n  }\n}\n```\n\n### send SMS\n\n```\ncurl -X 'POST' \\\n  'http://127.0.0.1:8743/sms' \\\n  -H 'accept: application/json' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"number\": \"+436641234567\",\n  \"text\": \"Ping\"\n}'\n```\n\nResponse body:\n```\n{\n  \"message\": \"successfully sent the SMS\"\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbretter%2Fgo-mmcli-svr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmbretter%2Fgo-mmcli-svr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbretter%2Fgo-mmcli-svr/lists"}