# README I got tired of APRS-IS websites not showing me all the paths that packets take, only the shortest path to IS. So this is a Python 3 tool that turns direwolf logs into a REST API in JSON format. ## Setup 1. Run direwolf with logging to CSV on by using `-l`. (`-L` not yet implemented). 1. Install requirements using `pip install -r requirements.txt`. 1. Set up database file with `python init_db.py`. 2. Run `app.py` with either a Python call or a real WSGI server. You can use screen to detach the session. - Default URL is http://127.0.0.1:5001 - Example `waitress` and `screen` scripts are included, see - `api_waitress.py` and - `start-aprs_api.sh` 3. Access the API from whatever other system you want. ## Endpoints: -`/packets` - gives the most recent packets, sorted descending by time received. - argument `n` will return a specific number of packets, default 10. E.g., `https://digi.w1cdn.net/aprs_api/packets?n=1` returns one packet. - argument `from` will return packets from the named station-SSID (no wildcards). E.g., `https://digi.w1cdn.net/aprs_api/packets?n=1&from=W1CDN-1` returns one packet from W1CDN-1. Example of an object packet sent by W1CDN-1 and digipeated by K0UND-2: ``` { "id": 1, "addresse": null, "alive": null, "altitude": null, "comment": "Leave a message to say hi!", "course": null, "created": "2023-04-16 15:04:03", "format": "uncompressed", "frame": null, "from": "W1CDN-2", "gpsfixstatus": null, "latitude": 47.94133333333333, "longitude": -97.02683333333333, "mbits": null, "messagecapable": 1, "message_text": null, "mtype": null, "object_format": null, "object_name": null, "path": "['K0UND-2', 'WIDE2-2']", "phg": null, "phg_dir": null, "phg_gain": null, "phg_height": null, "phg_power": null, "phg_range": null, "posambiguity": 0, "raw": "W1CDN-2>APQTH1,K0UND-2,WIDE2-2:@150321h4756.48N/09701.61W-Leave a message to say hi!", "raw_timestamp": "150321h", "speed": null, "station_call": "W1CDN-1", "station_lat": 47.9415, "station_lon": -97.027, "status": null, "symbol": "-", "symbol_table": "/", "telemetry": null, "timestamp": 1681657401, "to": "APQTH1", "tEQNS": null, "tPARM": null, "tUNIT": null, "via": "", "weather": null, "wx_raw_timestamp": null } ``` # Contributing If you want to contribute, please get in touch with me on Mastodon at https://mastodon.radio/@W1CDN.