{"id":15359785,"url":"https://github.com/redhog/agpsd","last_synced_at":"2025-09-07T14:46:59.668Z","repository":{"id":3889813,"uuid":"4977169","full_name":"redhog/agpsd","owner":"redhog","description":"A gpsd logging and replication daemon","archived":false,"fork":false,"pushed_at":"2014-05-23T01:00:56.000Z","size":207,"stargazers_count":14,"open_issues_count":1,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-15T07:41:43.968Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://redhog.org/agpsd","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/redhog.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-07-10T16:55:58.000Z","updated_at":"2024-02-17T10:39:25.000Z","dependencies_parsed_at":"2022-08-26T06:00:53.841Z","dependency_job_id":null,"html_url":"https://github.com/redhog/agpsd","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/redhog/agpsd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhog%2Fagpsd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhog%2Fagpsd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhog%2Fagpsd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhog%2Fagpsd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/redhog","download_url":"https://codeload.github.com/redhog/agpsd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhog%2Fagpsd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274051344,"owners_count":25214024,"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-09-07T02:00:09.463Z","response_time":67,"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":[],"created_at":"2024-10-01T12:46:19.542Z","updated_at":"2025-09-07T14:46:59.622Z","avatar_url":"https://github.com/redhog.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A gpsd logging and replication daemon.\n\n## Typical usage\n\nThe typical usage of AGPSD is to send GPSD data over a intermittent network connection from a vehicle to a server, and have the server serve the last known data as well as history to clients. Currently the data can be retrieved using the GPSD protocol and KML.\n\n## Features\n\nAGPSD works like a GPSD router, with caching. It acts as both a GPSD client and server, and stores all NMEA events in an SQLite database. In addition to simply relaying data to clients, it supports replaying old data, and replication of the log between AGPSD servers.\n\nIt can initiate connections for replication both from the receiving and the sending end, enabling operation over networks with dynamic ip:s\n\nAGPSD also acts as a web server and serves the recorded data as KML, as well as an OpenLayers based user interface to browse said kml data.\n\n## Installation\n\nInstall NodeJS and npm. Then install all depencencies by running the\nfollowing inside the agpsd directory:\n\n    npm install\n\n\n## Usage\n\n    ./server.js OPTIONS\n\nOptions with values can be given multiple times to provide more than\none value.\n\n### Available options and applicable values\n\n    --listen=PORT\n      Listen for gpsd or agpsd client connections on PORT. Defaults to 4711 if not specified.\n    --httplisten=PORT\n      Listen for web browser clients on PORT. Defaults to 4812 if not specified.\n    --db=FILENAME\n      Store data in sqlite database FILENAME. Defaults to \"agpsd.db\" if not specified.\n    --upstream=HOSTNAME:PORT\n      Fetch new data from a gpsd or agpsd running at PORT on HOSTNAME\n    --downstream=HOSTNAME:PORT\n      Publish data to an agpsd running at PORT on HOSTNAME. This uses a\n      \"role reversed\" gpsd protocol, where the client pretends to be the\n      server, and vice versa.\n\n    --verbose=connect\n      Display new connections\n    --verbose=disconnect\n      Display disconnects and failed connections\n    --verbose=data\n      Display received commands and responses\n\n## Example usage\n\n    ./server.js --listen=4711 --db=somedb.db --upstream=localhost:2947 --downstream=someserver:4712\n\nTake GPS input from the gpsd och agpsd running at localhost:2947 and\ndump to the (sqlite) database mydb.db. Listen for incoming connections\n(gpsd protocol) on 4711. Also try to connect to port 3712 on\nsomeserver and send data to it using a role-reversed gpsd protocol\n(client pretends to be server, server pretends to be client).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredhog%2Fagpsd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredhog%2Fagpsd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredhog%2Fagpsd/lists"}