Chris Bowles 34e2cbdc2d remove username as public input from /sponsors/github
Extends the previous commit's fix. The only caller (Donate.vue via
apiService.getSponsors()) never sends a username and always relied on the
server-side default, so the parameter had no legitimate use even after
being parameterized — it just let anyone use deflock's server as an
unauthenticated relay onto GitHub's GraphQL API under the server's own
token. Drop it entirely: the route no longer accepts a username
querystring param, and GithubClient.getSponsors() takes no argument,
hardcoding the maintainer's login via MAINTAINER_USERNAME. Keeps the
$username GraphQL-variable parameterization technique so reintroducing a
variable input later can't reintroduce the injection.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-08 02:57:51 -04:00
2024-09-30 17:33:30 -05:00
2025-12-23 19:20:02 -06:00
2026-04-26 22:13:16 -06:00
2026-04-26 22:13:16 -06:00
2024-10-28 13:01:53 -05:00
2026-04-26 22:53:56 -06:00

DeFlock

Crowdsourced tool for locating and reporting ALPRs. View Live Site.

DeFlock Screenshot

Purpose

I created this project after noticing the mass deployment of ALPRs in cities, towns, and even rural areas in the recent years. It's a massive threat to privacy, and this projects helps shed a light on this issue as ALPRs continue to be deployed to thousands of cities across the US and possibly beyond.

What it Does

View ALPRs on a Map

Uses OpenStreetMap data to populate a map with crowdsourced locations of ALPRs, along with their type and direction they face.

The map has become a separate repository, deflockhopper_maps.

Report ALPRs

Provides instructions for using the DeFlock App or OpenStreetMap's iD web editor to report ALPRs using a standardized tagging system.

Identify ALPRs

A constantly-growing repository of ALPR makes, models, and tagging instructions for OpenStreetMap, along with images for identifying them.

Tech Stack

Backend

  • TypeScript
  • Fastify API server
  • Cloudflare R2 for ALPR points and vector tiles
  • OpenTelemetry

Cloud

Frontend

  • Vue3
  • Vuetify
  • MapLibre GL
  • Vue Leaflet [deprecated] - phasing out for MapLibre GL

Services

  • OpenStreetMap - Overpass API, Basic Map Tiles [deprecated]
  • Nominatim - Geocoding

Development

Requirements

Running Frontend

  1. cd webapp
  2. bun i
  3. bun dev

Running Backend

  1. cd api
  2. bun i
  3. bun dev

Contributing

We welcome contributions from anyone. Here's how you can help:

How to Contribute

  1. Fork the Repository
  2. Make Your Changes
  3. Open a Pull Request against This Repo
S
Description
No description provided
Readme MIT 31 MiB
Languages
Vue 75.8%
TypeScript 13.7%
HCL 4%
Python 2.1%
JavaScript 1.7%
Other 2.6%