Commit Graph
123 Commits
Author SHA1 Message Date
Enot (ded) Skelly 205eaafbe9 feat(stats): add node type breakdown
/stats/node-types w/ filters for iata/region

closes #55
2026-06-10 13:18:26 -07:00
Enot (ded) Skelly a0a687b6f8 tests(handlers): add validation tests for stats endpoints 2026-06-10 09:57:54 -07:00
Enot (ded) Skelly a9b0025b1d fix(stats): support multiple IATAs and region filtering on all stats endpoints
closes: #53 and #54
2026-06-10 09:52:02 -07:00
Enot (ded) Skelly a5bd8ccaf0 feat: add cors support
optionally control cross origin requests by origin and
method
2026-06-09 14:54:00 -07:00
Enot (ded) Skelly b574ec5c30 feat: add redis 2026-06-09 14:12:58 -07:00
Enot (ded) Skelly 983ebe126b fix: make hex query params case-insensitive 2026-06-09 10:49:55 -07:00
Enot (ded) Skelly 9716326d3d fix(security): incorrect int conversion
changes from strconv.Atoi without bounds checks to
strconv.ParseInt
2026-06-09 09:20:54 -07:00
Enot (ded) Skelly 2333468f92 feat(traces): include raw path hashes as well as resolved
closes #43
2026-06-09 08:31:04 -07:00
Enot (ded) Skelly e2b22aa477 fix: typo in subscribeScope struct 2026-06-09 08:29:55 -07:00
Enot (ded) Skelly cda4905815 docs: update SPDX license lines 2026-06-08 16:08:39 -07:00
Enot (ded) Skelly 14cb9e6e2d docs: add APGL3 license 2026-06-08 15:46:01 -07:00
Enot (ded) Skelly 27449e7725 tests(api): add handler validation for nodes, packets, routes & channels 2026-06-08 14:56:23 -07:00
Enot (ded) Skelly 205c82f9a2 test(api): add stub reader and observery tele validation tests 2026-06-08 14:52:13 -07:00
Enot (ded) Skelly 62c05e7ab8 test(api): handler response helpers 2026-06-08 14:49:37 -07:00
Enot (ded) Skelly 08ff520bf0 test(keystore): add derive hashtag key and fingerprint tests 2026-06-08 13:54:41 -07:00
Enot (ded) Skelly 98185b54e2 test(api): packet payload and route type names 2026-06-08 13:54:14 -07:00
Enot (ded) Skelly a4b0ff0366 test(ingest): add helper tests 2026-06-08 13:45:53 -07:00
Enot (ded) Skelly 04877b2eb2 test(api): add parse iatas test 2026-06-08 13:39:31 -07:00
Enot (ded) Skelly c2662598a6 test(config): add normalizedScope and deriveScopeKey 2026-06-08 13:39:11 -07:00
Enot (ded) Skelly 9f6046586f chore(tests): add node type/name helper test 2026-06-08 13:30:04 -07:00
Enot (ded) Skelly dab8f6e6b3 feat(ws): add regionSlugs support to subscribe scope 2026-06-08 13:24:35 -07:00
Enot (ded) Skelly bd605c8565 chore(tests): add tests for hub/scopeMatches 2026-06-08 13:10:39 -07:00
Enot (ded) Skelly 4147a93e8b feat(observers): add telemetry bucketing to rest api
closes #37
2026-06-08 12:32:22 -07:00
Enot (ded) Skelly cace46b004 feat(ingest): status and nodeUpdate events on par with summary analogies
observer status updates are now at data parity with
observer summary and node update events are at data
parity with node summaries

closes #38
2026-06-08 12:17:16 -07:00
Enot (ded) Skelly fef8c8d7b6 docs: improve reader interface comment readability 2026-06-08 11:47:38 -07:00
Enot (ded) Skelly 149452f066 feat(routes): add resolved hop nodes to known routes API
closes #44
2026-06-08 11:30:26 -07:00
Enot (ded) Skelly 68c254ce04 feat: add observation count to routes 2026-06-08 10:59:46 -07:00
Enot (ded) Skelly 32e6e9939a feat: cross iata routes
adds cross iata route finding

closes #42
2026-06-08 10:30:49 -07:00
Enot (ded) Skelly 7d25b8480f feat: node neighbors
limited to repeaters and room servers

stores high confidence matches from the nodes advert
packet path first hops
2026-06-08 09:36:20 -07:00
Enot (ded) Skelly 533225b46a hack: use server time for suspicious timestamps
i don't like it but multiple observer softwares are
sending the heard at timestamp with time zone errors
when it should be unix epoch ms
2026-06-08 08:20:03 -07:00
Enot (ded) Skelly 610b941afb feat: include snr in trace route hops
closes: #43
2026-06-06 13:30:59 -07:00
Enot (ded) Skelly 5247e4c3a8 fix: capture node preset only on 0 hop
previously could be observed after a bridge node
2026-06-06 13:18:04 -07:00
Enot (ded) Skelly c792029d3d fix: routes pagination cursor
closes #41
2026-06-06 11:14:13 -07:00
Enot (ded) Skelly 65cb8c9d61 add routes api
any route observer where all hops are high confidence
are now stored and available at /routes

you can also search for a src dest route and it will
return any recored route subset that can link the src
and dest hash
2026-06-05 15:57:08 -07:00
Enot (ded) Skelly f0c57fde45 add traces endpoint 2026-06-05 15:20:53 -07:00
Enot (ded) Skelly 8b23f8a4a2 change: channel messages descending
this changes channel messages fetched over the api to
return newest first so users can fetch back through time
2026-06-05 12:40:47 -07:00
Enot (ded) Skelly ae14d948d0 add scopes api 2026-06-05 12:31:35 -07:00
Enot (ded) Skelly 588b3705c9 add packet and message backfill api
/packets/backfill, /messages/backfill

both take afterId and limit. the id is the message or
packet observation last received to backfill after
2026-06-05 12:05:24 -07:00
Enot (ded) Skelly 882067455d add scope to ws packet events 2026-06-05 11:09:52 -07:00
Enot (ded) Skelly fdbcad28d8 add decrypted channel msg to packet details
also caught a bug where we never set the packet as
being decrypted even when it had been
2026-06-05 11:06:02 -07:00
Enot (ded) Skelly 7aecf2b6b9 fix formatting
allegedly
2026-06-05 10:32:00 -07:00
Enot (ded) Skelly 9a1b1d27ee add very basic tests and action
includes action for build. plus tests, fmt and vet
2026-06-05 10:26:49 -07:00
Enot (ded) Skelly a943660778 rename to beacon 2026-06-05 08:10:43 -07:00
Enot (ded) Skelly b72ce41606 add iata ingest filter
generated code, reviewed and tested

this adds an optional lookup table for allowed IATA based on either country,
conintent or both. if the IATA is in either it is allowed.

gives operators the option to consume from global mqtt brokers but filter
to their area of interest
2026-06-04 15:24:34 -07:00
Enot (ded) Skelly 7b79db1f3f update comments and readme after refactor
also typo bug on field in ListNodes and GetNode store functions
2026-06-04 14:38:25 -07:00
Enot (ded) Skelly 4425e3ffa2 refactor ingest package 2026-06-04 14:29:25 -07:00
Enot (ded) Skelly a9fc1ac147 refactor api package 2026-06-04 14:10:49 -07:00
Enot (ded) Skelly ec7cf67a10 add trace route resolution
packet details now includes resolved route
2026-06-04 11:58:45 -07:00
Enot (ded) Skelly 594cd7281e add scope stats api endpoint 2026-06-04 11:17:58 -07:00
Enot (ded) Skelly 1e5ccc6e50 add filter by scope to messages
also adds the multi iata filter from other endpoints
for messages now on both routes
2026-06-04 11:07:54 -07:00