# OpenPDS Directory of AT Protocol PDS servers with open registration. Pulls data from [mary-ext/atproto-scraping](https://github.com/mary-ext/atproto-scraping), enriches it with server metadata (version, user count, geo-location, contact info), and presents a browsable directory. ## How it works A daily cron job: 1. Fetches `state.json` listing ~2900 known PDSes with signup status 2. Syncs open/closed status to a SQLite database 3. Enriches a batch of 20 servers per run (health, describeServer, listRepos, geo-IP) 4. Checks for the latest PDS version from the `bluesky-social/pds` GitHub repo The web interface shows open servers with sortable columns, version badges, and trust signals. ## Endpoints - `/` — HTML directory page - `/api/servers` — JSON API with all open servers and metadata ## Development ```bash deno task check # type check deno task quality # fmt + lint + check deno task deploy # quality + vt push ``` ## Data sources - [atproto-scraping state.json](https://github.com/mary-ext/atproto-scraping) — PDS list and signup status - [dns.google](https://dns.google) — hostname to IP resolution - [ip-api.com](http://ip-api.com) — IP to country geo-lookup - [GitHub API](https://api.github.com) — latest PDS version tag