A simple symbol server built on Cloudflare Workers that proxies debug symbols from an S3-compatible storage bucket. It supports both Visual Studio (SymSrv) and gdb (debuginfod) clients.
Used by JBMod as a lightweight symbol server for low traffic serving.
- Worker Router: Handles SymSrv and debuginfod URL formats.
- Index: Uses Cloudflare KV to map Symbol Hash (PDB GUID+Age or ELF Build ID) to the S3 bucket key.
- Storage: Proxies binary chunks securely from a private S3 bucket.
To test this server locally:
- Ensure you have Node.js v24+ installed.
- Run
npm install - Create a
.dev.varsfile with test secrets:INDEXER_SECRET="your_secret" AWS_ACCESS_KEY_ID="test" AWS_SECRET_ACCESS_KEY="test" S3_ENDPOINT="https://s3.us-east-1.amazonaws.com" S3_REGION="us-east-1" S3_BUCKET="my-symbols-bucket"
- Run
npx wrangler devto start the local Cloudflare emulator.
The worker is deployed to https://symbols.jbmod.dev.
Deployment is handled via GitHub Actions.